Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 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.

2 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

3 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 ?

4 4 Contents Programming is a multi-representation and multi-faceted activity Debugging Experiments –Static System –“Dynamic” system Conclusions

5 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;

6 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;

7 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;

8 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

9 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

10 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

11 11 Experimental data Debugging performance –Accuracy –Spotting time Representation use –Fixation periods –Switching Individual differences (Verbal protocols)

12 12 Debugging accuracy results

13 13 Window fixation results

14 14 Window switching results

15 15 Window switching results

16 16 Breakpoint fixation results

17 17 Critical window fixation results

18 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

19 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

20 20 Acknowledgements Richard Cox EPSRC www.cogs.susx.ac.uk/projects/crusade/

21 21 The End

22 22 BlueJ Java tutoring Environment Kolling (2000) Monash University

23 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

24 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

25 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

26 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

27 27 Window fixation results Poor performers focus on the code a lot Good performers also focus on objects window

28 28 Visualisations

29 29 Sample class of ‘DrinkMachine’ program buggy output

30 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

31 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


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

Similar presentations


Ads by Google