Top Banner
1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology Research Group, School of Science and Technology, University of Sussex.
30

1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

1

Keeping Track: Coordinating Multiple Representations in

Programming

Pablo Romero, Benedict du Boulay & Rudi LutzIDEAs Lab,

Human Centred Technology Research Group,

School of Science and Technology,

University of Sussex.

Page 2: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

2

Background

• Computer programs can be looked at from different perspectives

• Experienced programmers’ mental representations include multiple perspectives and mappings between them

• SDEs often provide multiple, multimodal, linked and concurrent displays (code, visualisation(s), output)

• Programming requires co-ordination of these

BlueJ Java tutoring

Environment

Kolling (2000)

Monash University

Page 3: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

3

Some Research Questions

• Are there patterns of interaction which characterise better debugging performance?– Representation use (attention and switches)– Tool use

• Are graphical representations more helpful than textual ones?

• Is debugging performance associated with any “individual difference” variable values?

Page 4: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

4

Contents

• Programming is a multi-representation and multi-faceted activity

• Debugging• Experiments

– Static System– “Dynamic” system

• Conclusions

Page 5: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

5

Representations - The Problem

• The original problem in real world terms;• The abstraction of the problem, in real world

terms, but omitting irrelevant detail;• The realisation of the real world abstraction in

terms of programming forms e.g. general computational methods of approach;

• The detailed realisation of the program in terms of the kinds data-structures and algorithms available to be used in the given language;

Page 6: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

6

Representations - The Code

• The code itself as data-structures and algorithms;

• The input/output behaviour of the code when run;

• Dynamic representations of different aspects of the code, e.g. control-flow and data-structure representations;

Page 7: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

7

Representations - The Context

• The workings of the underlying virtual machine• The workings of the programming environment

itself;• Descriptions of the code produced by

static/dynamic analysis tools;

Page 8: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

8

Programming Skills : Debugging

• Subdivision of the task– Strategies for divide and conquer and for keeping track

within and between representations– Reasoning about overall strategy

• Reasoning in the problem and programming domains– Forwards from code to behaviour, and backwards from

behaviour to code– Between representations

• Instrumenting the situation– Tools for observing hidden events e.g. print statements

Page 9: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

9

Dynamic SDE experiment• 42 participants (1st & 2nd year ug)• Verbal and graphical abilities pre-tests• 5 programs

– 1 control,– Graphical-textual visualisations,

– Control-flow, data structure errors

• 1 error each• Static SDE with 4 windows

– Code– Objects– Call sequence– Output

• Breakpoints

Page 10: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

10

The experimental tool• Modified version of

Restricted Focus Viewer

• Presents blurred image stimuli

• User moves unblurred ‘foveal’ area around screen

• Logs user actions and records audio

Page 11: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

11

Experimental data• Debugging performance

– Accuracy– Spotting time

• Representation use– Fixation periods– Switching

• Individual differences• (Verbal protocols)

Page 12: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

12

Debugging accuracy results

Page 13: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

13

Window fixation results

Page 14: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

14

Window switching results

Page 15: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

15

Window switching results

Page 16: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

16

Breakpoint fixation results

Page 17: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

17

Critical window fixation results

Page 18: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

18

Results summary

• Visualisations helpful

• More interaction for intermediates

• Graphical condition associated with more efficient use for best performers

• Positive correlation between graphical literacy and debugging accuracy

Page 19: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

19

Questions and Conclusions

• How far does window blurring alter programming strategy? e.g. Peripheral vision

• How far can we assume that the unblurred window is the focus of attention?

• How do we interpret time spent focusing on a representation? Utility vs. difficulty

• How do we interpret different patterns of switches? E.g. rapidly between a pair or reps., leisurely between a pair of reps.

• Should we expect stronger interactions between graphical/spatial/textual abilities and representation preferences

Page 20: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

20

AcknowledgementsRichard Cox

EPSRC

www.cogs.susx.ac.uk/projects/crusade/

Page 21: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

21

The End

Page 22: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

22

BlueJ Java tutoringEnvironment

Kolling (2000)Monash University

Page 23: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

23

Background• Computer programs can be looked at from different

perspectives

• Experienced programmers’ mental representations include multiple perspectives and mappings between them

• SDEs often provide multiple, multimodal, linked and concurrent displays (code, visualisation(s), output)

• Programming requires co-ordination of these

Page 24: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

24

Some of the Tasks….

• Understanding the problem

• Constructing general approach

• Specifying sequences, entities and relationships

• Coding

• Debugging (at any of the above stages)

• Maintenance

Page 25: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

25

Static SDE experiment

• 48 participants (1st & 2nd year UG)• Verbal and spatial abilities pre-tests• 4 programs to debug• 4 errors each• Static SDE with 3 windows

– Code

– Visualisation

– Output

Page 26: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

26

Debugging strategy results

• Qualitative analysis for 2 contrasting participants– Experience

– Verbal ability

• Initial code browsing episode• Two ways of detecting bugs

– by spotting something odd in code browsing episode

– by coordinating representations

Page 27: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

27

Window fixation results

• Poor performers focus on the code a lot

• Good performers also focus on objects window

Page 28: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

28

Visualisations

Page 29: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

30

Representation Issues….

• Cognitive– Relationships between internal and external representations– Structure of knowledge and nature of expertise

• Educational– Evolution of knowledge and its organization from novice to expert– Activities to support learning– Scaffolding needed at various stages

• Aesthetic and Motivational– Nature of the experience– Quality of the artifacts

Page 30: 1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.

31

Crusade overall aims• Investigate the co-ordination of multiple external

representations in OO program comprehension

• Investigate role of perspective, modality and individual differences in representation co-ordination in programming.

• Develop set of design principles for program comprehension tools

• Develop computerised experimental tool to study representation co-ordination in programming