By Alison hull
The 20th Annual Workshop of Psychology of Programming was held at the University of Lancaster. The campus itself is located just south of the City of Lancaster, which is in the North West of England. The campus is set in country surroundings, which is emphasised when entering the campus via the main approach road with the roadside sign of "Warning Ducks Crossing" (not a road sign commonly found on a city centre campus!).
The workshop got underway in the morning with the Doctoral Consortium, which was well attended in the InfoLab21 building.
A large proportion of the papers presented were concerned with the learning of programming. Ana Isabel Pacheco's project is looking at problem solving skills and identifying key mathematical skills that students must understand in order to succeed in programming courses. Gabriela Pavel's project is looking at how people learn complex concepts from images and how learning can be supported using machine learning techniques. Joana Henriques is exploring cognitive skills for learning programming. Siti Soraya Abdul Rahman is focussing on using learning styles to develop an adaptive example-based educational programming environment. Finally in this area, my work is using cognitive and motivational feedback in learning programming.
Aiko Fallas Yamashita's project is focussed on a multi-method approach to evaluating software comprehensibility and maintainability. Iftikar Ahmed Khan is exploring possible links between a programmer's keyboard/mouse clicks and their mood. Peter Khooshabeh is examining augmenting spatial information processing in 3-D visualisation. Luke Church is concerned with improving user experiences of computation. Last but by no means least, Glauco de F. Carneiro's project is concerned with software visualisation tools in terms of comprehension.
Thank you to Maria Kutar, Thomas Green, Jim Buckley and Chris Exton for their useful feedback to each participant of the Doctoral Consortium.
The main workshop started on Wednesday afternoon and contained keynote speakers, paper sessions and tutorials. The workshop was held in the Anglican & Free Church chapel within the Chaplaincy Centre.
The Chaplaincy Centre
The conference opened with the first keynote talk provided by Alan Dix who explored the changes in coding over the past forty years, from the first publication of Knuth's "The Art of Computer Programming".
The first paper of the first session ('Program Comprehension') was presented by Jim Buckley and examined the issue of information seeking by Open Source software programmers. Chris Exton kindly moved his presentation forward a session after one paper author was unable to attend. Chris presented a paper that considered questions from a psychological viewpoint of why, how and when we think in objects. The final presentation of this session was given by Chris Douce who presented the Stores Model for program comprehension.
The second paper session ('Core Beliefs') started with a presentation by Luke Church who gave alternative perspectives to computational thinking. The final paper of the day was given by Judith Segal who discussed the differences between scientists developing their own software and software engineers developing scientific software.
The InfoLab21 building was the location for the evening reception where good food/wine and a good time were enjoyed by all. John Rooksby was the quiz master throughout the evening with a programming themed quiz (a sample question is shown below. The answer is at the end of this review...).
The quiz was won by the "Quickly" team with the prize of two bottles of wine, which were well received, hic...
The Winning 'Quickly' Team
Sample Quiz Question
Thursday contained a full schedule that started with a keynote talk from Margaret-Anne Storey who discussed the use of comments and annotations in source code.
The first session ('Pair Programming') of the day contained two papers. Stephan Salinger discussed work concerned with defining a multi-layer terminology for analysing pair programming. Laura Plonka talked about differences and similarities from studying student and professional pair programmers.
The next session ('Software Development') started with a presentation from Luke Church who described a technique of transforming structured text by inferring an underlying model. Steve Russ presented a paper, on behalf of his colleagues, which focussed on the role of intuition in software development. Next Zahid Hussain described a research project to integrate Extreme Programming with user-centred design. This followed by a presentation from Martin Lechner which analysed problems that can be experienced when introducing Extreme Programming.
The third session ('Factors Affecting Coding') got underway after lunch with a presentation from David Greathead who discussed research exploring relationships between personality type and student code comprehension. Next Adrian Creegan talked about work researching the effect of inheritance depth in object oriented programs on programmer maintenance. The final paper of the session was presented by Iftikhar Ahmed Khan who discussed research on measuring the mood of programmers by monitoring their keyboard presses and mouse clicks.
The afternoon ended in a tutorial session, with the choice of two tutorials that ran in parallel. Thomas Green and Luke Church lead a workshop that explored the Cognitive Dimensions framework, while Dave Randall, John Rooksby and Mark Rouncefield lead the workshop that looked at the various practical issues that can be encountered during fieldwork.
The conference dinner was held at The Borough, a gastro pub in the heart of the Lancaster city centre. A good evening was enjoyed by all, where everyone had the opportunity to round off their meal with some Cool Cow ice cream that found its way into every choice of desert.
A thank you should go to PPIG for kindly paying for the evening's drinks...
The final day of the workshop started with a 'Teaching Programming' session containing two papers. Walter Milner presented work on researching how novices comprehend elementary programming notions, with particular focus given to mental spaces and loop statements representing compressions. The second paper by Jussi Kasurinen discussed a research project studying visualisation in introductory programming with the use of 'Turtlet', a 2-D visualisation tool.
Next followed the 'special' session, where everyone had a choice joining one of four groups to discuss a particular topic and then report back to the main group. The list of breakout sessions and the speakers who were 'nominated' from each group are:
The 'Meta Session' was the final paper session of the workshop. David Budgen presented outcomes and experiences from six mapping studies, identifying challenges faced in improving classification guidelines. Mark Turner presented findings from an initial systematic literature review of studies on pair programming to teach introductory programming. The final paper in this session was given by Glauco de F. Carneiro who discussed concepts and guidelines for requirements of software visualisation tools in terms of comprehension.
The lunch on the final day was in the form of pack lunches, with the original plan to walk down to the pond and park area on campus to enjoy lunch outdoors. Unfortunately even such best laid plans can be foiled by the great British weather... Earlier heavy rain meant that plan B was put in place, with the pack lunches enjoyed in and around the Chaplaincy Centre.
The final keynote talk was given by Adrian MacKenzie who discussed trends in the field of synthetic biology from a software engineering perspective.
In keeping with PPIG tradition, the workshop was concluded with a prize giving session, with the prizes listed below (apologies if I have left anyone out of this list, I wasn't there!).
A thank you gift for John Rooksby
In conclusion, a big thank you to John Rooksby and the rest of the organising committee for all their work, which ensured that PPIG 2008 was another well attended, interesting and varied workshop.
I hope to see you all again in Limerick, Ireland, for PPIG 2009.
As promised, the answer for the quiz!