by Johanna Hunt
The 19th Annual Workshop of Psychology of Programming took place in Joensuu in the Lake District area of Finland on 2-6 July 2007. The programme was the most ambitious yet; featuring keynote talks through technical papers, a doctoral consortium, tutorials, and a wide range of evening activities. There was also a PPIG Challenge which has dared people to formulate the best improvement to an existing system or notation, based on psychological principles, and a presentation challenge that had everyone revising their slides to enter.
The workshop opened quietly on the Monday with the Doctoral Consortium, allowing us early days researchers the chance to chat about our research and build up our confidence for the main conference.
All but the first talk were focussed on the same topic, programmer education. Amongst the speakers: Essi Lahtinen spoke about cognitive skills in the use of visualisations on the level of basic programming. Jussi Kasurinen discussed Python and teaching the fundamentals of programming. Cecilia Vargas spoke about how BlueJ could help or hinder novices in learning OOP. Andres Moreno talked about visualisation with Jeliot 3 and how to adapt program visualisation to learners with different knowledge and aptitude/attitude.
Discussions were focussed on research methods and approaches and Marian Petre and Jorma Sajaniemi asked detailed and interesting questions after each presentation. Most importantly we were reminded to never start with a research method, but instead a theory or question that needs to be evaluated: What's my question? What evidence will satisfy? How will I collect the evidence? And the interesting questions: What do people say they do? What do they actually do?
A scene from the first day of the workshop
The afternoon session was an informal tutorial on eye-tracking and potential application when researching programming led by Roman Bednarik and Anne Jansen. We were taught about visual attention and Fovea cones, the history of eye-tracking systems from 1898 through to modern eye-tracking systems, and potentials and challenges for such systems in the context of studies of programming.
The main focus of the tutorial was a hands-on experience using an eye-tracking system to conduct research. This was highly interactive and great fun.
We closed the day with socialising and enjoyable drinks in the Pub Palaveri, attached to the Hotel Atrium.
The main workshop opened on the Tuesday with an introduction from Jorma Sajaniemi on the two challenges for the conference. There was a presentation challenge daring each presenter to compete for best example of an incident from childhood, reference to the comic strips on Viivi & Wagner, and a 'green touch'.
Marian Petre kicked off with a keynote talk on expert strategies for dealing with complex and intractable problems. Several strategies were defined and discussed: simplification, transformation, re-segmentation, relaxing constraints, analogy, abstraction, re-shaping the problem space, seeking insight and nibbling. Expert programmers are seen to be reflective practitioners, using reflection, correction and re-assessment.
The first paper session came after the coffee break. It was entitled '6*3=18 a.k.a. Moods of Analysis' (session chair: Justus Randolph) and was comprised of three research presentations. Iftikhar Ahmed Khan spoke about how moods affect creativity, reasoning, behaviour and programmer performance and discussed a study on the impact of mood on debugging coding performance. Seppo Nevalainen spoke about looking at visual attention in relation to PlanAni (a program animator based on the idea on roles of variables). Finally Essi Lahtinen discussed a cluster analysis study of novice programmers. She identified six clusters of student types: Competent Students, Unprepared Students, Practical Students, Theoretical Students, Memorising Students, and Indifferent Students.
After a lovely lunch in the canteen came the paper session on Assisting Software Engineering lead by Pauli Byckling. Brendan Cleary presented the first of the three papers on 'Assisting Concept Location in Software Comprehension', and was followed by Rozilawati Razali on the usability of UML-B, and Jim Buckley made a strong bid for the presentation challenge with anecdotes and a touch of green while presenting on meta-modelling process prototype called ESCAPE.
Jim Buckley led the final session of the day, entitled 'From Past to Future' with two papers: Jorma Sajaniemi on what we should study in the future, based on the shift to OO programming, for programmer education in the paper `From Procedures to Objects: What Have We (Not) Done?' Petri Gerdt followed with 'Introducing Learning into Automatic Program Comprehension' considering machine learning methods for automatic program comprehension.
The evening reception event at the Educa-building of the University of Joensuu was an interesting chance to socialise, admire the impressive wood sculptures and listen to some beautiful traditional music and song.
We listened to some traditional music and song
Close up of a wooden sculpture
Wednesday brought a busy but interesting day. Stuart Wray led the first session of the day on 'Tools of Learning'. Juha Sorva, with a lovely entry into the Viivi and Wagner competition, talked about a Roles-Based Approach to Variable-Oriented Programming focussing on follower and gatherer roles and how role based programming could help students form variable-related schemas and learn key programming skills. This was a really interesting presentation and I was entertained by the speculative language presented ROTFL (Role-Oriented Titillating but Fictional Language). The next paper was a work-in-progress paper on 'Student Attitude Towards Automatic and Manual Exercise and Evaluation Systems' by Teemu Tokola and others. We were treated to a Tolkien-based anecdote story, and early-stage research on automatically tested pre-exercises for programming students.
The next session was on Research Methodology chaired by Enda Dunican. Stephan Salinger and Laura Plonka were at PPIG to discuss their work on developing a general-purpose coding scheme for the analysis of pair programming using a refined version of grounded theory (introducing four practices to support the data analysis), and exhibited some lovely green in their arrows thus entering the presentation challenge. Roman Bednarik followed with a green-topped presentation, leading on nicely from the tutorial on the first day, discussing analysing quantitative eye-tracking data studying visual attention when conducting debugging tasks.
The final paper in this session was 'An Experiential Report on the Limitations of Experimentation as a Means of Empirical Investigation' advising us not to rush empirical studies with software organisations, and to remember that the controlled experiment route is not always optimal. We were encouraged to consider how such data can still be rigorous and potentially useful.
After lunch we had a group discussion led by Marian on 'Children's mental/operational models of programming—Do children's programming tools miss something?' We discussed the activities performed by children, mostly on the internet, which involve programming activity without being explicitly recognised as such; parameter tweaking, optimisation, variation and composition of components (e.g. skins), and the creation of simulations, animations and games. A variety of questions were approached: Is it programming if it is fun, simple, socially-led? Are there generational differences in the mental models being developed? Do these 'play' experiences generalise or lead to correct abstractions for developing programming skills? Where does algorithmic theory fit in these experiences? If there is a difference what does it look like and what are the implications? Should more formal programming be taught earlier in the curriculum?
After that interesting discussion we finished early to gather ourselves for the exciting trip out for the Conference dinner. We travelled by coach (a longer journey than originally planned as unfortunately our coach broke down enroute) to the Orthodox Monastery of New Valamo where we had an interesting tour of the attractive monastery grounds and learned of the history of the monks who live there. The Byzantine conference dinner was a lovely affair and I admit to being very taken by the Valamo-made berry wines, which were delicious.
PPIG dinners are always memorable!
Monastery grounds visited during trip
Photograph of the Monastery tower
The final day of research papers started with a keynote Françoise Détienne with 'A multidimensional framework for analysing collaborative design: emergence and balance of roles.' Having never seen Françoise talk about her work I was very interested in hearing more about this. Roles along several dimensions were discussed: Social dimension (direct and indirect participation, influence and power); Cognitive dimension (problem solving); Interactive Dimension (discursive and interactional). Examples were given from data. The question was asked whether socio-technical environments constrain and enable roles? Do socio-technical environments enable role emergence and role balance, and in this way create an enabling environment for participants. What are the characteristics of enabling environments? Her slides are vavailable.
Roman Bednarik was session chair for the subsequent paper session on Learning Programming. Olga Timcenko led with the interesting 'Example of Using Narratives in Teaching Programming: Roles of Variables' and her entertaining presentation of her experiences with Lego programming. Sylvia da Rosa followed with 'The Learning of Recursive Algorithms from a Psychogenetic Perspective' and Anabela Gomes followed with a discussion of problem solving in programming. For the latter I was convinced that she included many photos of her beautiful hometown just to inspire envy.
The day was broken for lunch and then the PPIG Business Meeting, focussing on the future of PPIG; potentials, future research, forgotten history and marketing. The final paper session of the workshop was on Programming Aptitude (chair Marja Kuittinen).
The first paper was Sue Jones presenting on 'Spatial Ability and Learning to Program', presenting her research on mental rotational ability and gender in relation to self-efficacy and comfort. Her results suggested that more experienced students have higher mental rotation ability and she wondered whether mental rotation could be improved. The final talk of the workshop was from Stuart Wray with 'SQ Minus EQ can Predict Programming Aptitude' – presenting an analysis of SQ and EQ (Systemizing and Emotional Quotients) correlated against programmer aptitude.
Second day presentations
The Most Invisible Session Chair Prize
The PPIG Challenge and the presentation followed, an entertaining event. As often happens the awards category had multiplied to a number of humorous awards listed below:
After the closing ceremony everyone was invited to experience a real Finnish sauna by the lake Pyhäselkä with games and a BBQ. Sadly I was not able to join everyone for this, but I heard some wonderful reports about the experience and the fun everyone had.
The final day of the expansive and varied workshop was filled with two tutorial sessions: Jorma Sajaniemi and Pauli Byckling on 'Roles of Variables and their Use in Programming Education' and Enda Dunican and Ioanna Stamouli on 'Qualitative Research: Grounded Theory and Phenomenography, what, how, and when to use them.'
I attended the latter session, curious whether my knowledge of other qualitative analysis techniques would carry over to phenomenography (about which I knew very little). Grounded theory and phenomenography were introduced and defined in terms of their theoretical and methodological aspects. By examples it was possible to gain an insight into how they worked in practice. This was a useful and practical session as we all had an opportunity to conduct analysis on a small set of data with both approaches, thus gaining practical experience and understanding. This was an interesting and useful tutorial which really clarified some issues about variance across qualitative research methods.
All in all PPIG 2007 was a wonderfully organised and varied workshop. There was no shortage of interesting things planned, which helped to create an amazing environment. My apologies if I have spelled any names incorrectly!
I would like to thank Jorma Sajaniemi and the rest of the organising committee for putting together such a smooth running, successful-yet-ambitious workshop. I'll fondly remember the Finnish hospitality I experienced (especially after my bags were delayed enroute), have developed a fondness for berry wine thanks to the Valamo monks, and will likely never forget Wagner the pig. I would also like to thank PPIG for providing me with the opportunity to attend such a great event.