13
Towards an IDE to Support Programming as Problem-Solving Towards an IDE to Support Programming as Problem-Solving Nicholas Nelson André van der Hoek Anita Sarma

Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

Towards an IDE

to Support

Programming as

Problem-Solving

Towards an IDE

to Support

Programming as

Problem-Solving

Nicholas Nelson André van der HoekAnita Sarma

Page 2: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

02Section 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.

Page 3: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

Activities and Actions of Programming as Problem-Solving

Identifying goals

Recalling prior knowledge

Constructing models

Filling knowledge gaps

Understanding the situationA1

Representing relevant information

Contextualizing information

Preserving contextual information

Externalizing thoughts & ideasA2

Translating strategies to actions

Tracking progress

Evaluating and assessing change

Enacting changeA4

Feedback solicitation

Team work

Group think

Leverage group knowledge

Synchronization

CollaborateA5

Generating alternatives

Articulating and refining alternatives

Understanding and assessing alternatives

Recombining aspects of alternatives

Developing strategiesA3

Reflect on work

Preserve work

RetrospectA6

03Section 1

Programming as Problem-Solving

Page 4: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

Understanding the situation

A1

04Section 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?

Page 5: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

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

Page 6: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

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

Page 7: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

07Section 2

Toward A New IDE

PPIG 2017

Page 8: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

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

Page 9: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

Collaborate

A5

09

Challenges:How to enable collaboration between programmers across all artifacts involved in problem solving?

Section 2

Toward A New IDE

Page 10: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

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

Page 11: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

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

Page 12: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

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?

12Section 2

Toward A New IDE

1

2

3

4

5

6

Page 13: Problem-Solving Programming as to Support Towards an IDE · 2020-03-05 · 02 Section 1 Programming as Problem-Solving Programming is more than dealing with language syntax and semantics:

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

13Section 3

The Next Step

Q2

Q3

Q4