Towards an IDE Towards an IDE to Support to Support Programming - - PowerPoint PPT Presentation
Towards an IDE Towards an IDE to Support to Support Programming - - PowerPoint PPT Presentation
Towards an IDE Towards an IDE to Support to Support Programming as Programming as Problem-Solving Problem-Solving Nicholas Nelson Anita Sarma Andr van der Hoek Programming is more than dealing with language syntax and semantics: it is
02
Section 1
Programming as Problem-Solving
Programming is more than dealing with language syntax and semantics: it is inherently an exercise in problem-solving that extends beyond the act of editing code.
Activities and Actions of Programming as Problem-Solving
Identifying goals Recalling prior knowledge Constructing models Filling knowledge gaps
Understanding the situation
A1
Representing relevant information Contextualizing information Preserving contextual information
Externalizing thoughts & ideas
A2
Translating strategies to actions Tracking progress Evaluating and assessing change
Enacting change
A4
Feedback solicitation Team work Group think Leverage group knowledge Synchronization
Collaborate
A5
Generating alternatives Articulating and refining alternatives Understanding and assessing alternatives Recombining aspects of alternatives
Developing strategies
A3
Reflect on work Preserve work
Retrospect
A6
03
Section 1
Programming as Problem-Solving
Understanding the situation
A1
04
Section 2
Toward A New IDE
Challenges: How to support programmers’ formulation of problems and reflection on potential solutions? How to support programmers in relying upon past experience?
Externaling thoughts & ideas
A2
05
Challenges: How to support programmers in relying upon past experience? How to utilize different pieces of information and context to support the act of coding?
Section 2
Toward A New IDE
Developing strategies
A3
06
Challenges: How to support different information processing styles and workflows of programmers? How to utilize different pieces of information and context to support the act of coding?
Section 2
Toward A New IDE
07
Section 2
Toward A New IDE
PPIG 2017
Enacting change
A4
08
Challenges: How to utilize different pieces of information and context to support the act of coding?
Section 2
Toward A New IDE
Collaborate
A5
09
Challenges: How to enable collaboration between programmers across all artifacts involved in problem solving?
Section 2
Toward A New IDE
Retrospect
A6
10
Challenges: How to support programmers in relying upon past experience? How to provide programmers access to the relevant context in a problem space? How to support different information processing styles and workflows of programmers?
Section 2
Toward A New IDE
Retrospect
A6
11
Challenges: How to support programmers in relying upon past experience? How to provide programmers access to the relevant context in a problem space?
Section 2
Toward A New IDE
Challenges to introducing problem solving in programming to IDE design
Challenges
How to support programmers’ formulation of problems and reflection on potential solutions? How to provide programmers access to the relevant context in a problem space? How to support different information processing styles and workflows of programmers? How to support programmers in relying on past experience? How to enable collaboration between programmers across all artifacts involved in problem solving? How to utilize different pieces of information and context to support the act of coding?
12
Section 2
Toward A New IDE
1 2 3 4 5 6
Programming as Problem Solving
Does the open-ended and free-form interaction paradigm make sense? Are cards the best metaphor for problem solving? Do cards with information on many faces help or hinder? Do cards with different media types make sense?
Q1
Questions for the audience.
Q
13
Section 3
The Next Step Q2 Q3 Q4