By Rebecca Yates and Fabian Fagerholm
Universidad Carlos III de Madrid, Leganes, Spain.
For the students, the conference began with the Doctoral Consortium held in the nearby Tryp Hotel. Chaired by Maria Kutar, with Thomas Green, Mary Anne Rosson and Rachel Bellamy on the panel, the consortium provided advice, opinions and constructive criticism on PhDs at various stages of completion.
Rebecca Yates asked for advice on collecting data on software developer mentoring, and Sami Pietinen presented his work on studying collaborative programming through eye-tracking. Fabian Fagerholm had the unusual situation of too much data, collected from his lab's Software Factory. Aleksandra Pawlik discussed her work on the relationship of computational science developers to software engineering, and Scheila Martins asked for advice on completing her PhD on students' motivation in learning to program.
Margaret Burnett opened the conference with a keynote on Gender HCI and Programming. She reported on a series of investigations conducted by her and her students. They found that purportedly gender-neutral software tools do interact with gender differences, resulting in lower problem-solving effectiveness for female users. In particular, males were more prone to explore and attempt problem-solving by trial and error, while females did not explore as much and stayed with familiar functions. Female end-user effectiveness in programming environments like Excel could be improved by taking gender differences into account. This would not necessarily mean the tool would be less usable by males; in fact, many groups of people could benefit from the improvements.
In the session on usability issues, Luke Church showed how the concept of 'liveness' could be applied to describe feedback cycles in music and programming environments, and Catherine Letondal compared computing-oriented and interaction-oriented programming. Chris Parnin gave a cognitive neuroscience perspective on programming, describing the capture of subvocalisations to provide clues to programmers' thought processes, and John Daughtry described a method to analyse API usability through measurement of 'perceived self-efficacy'.
In the first session on teaching and learning programming, Leonard Mselle discussed the use of Random Access Memory to improve comprehension when teaching programming, and asked attendees for any examples of such diagrams in educational books. David Moffat reported on an experiment in using Scratch (a visual programming language aimed at children) for ITC lessons in a school. The results were encouraging, with pupils performing well and enjoying their introduction to programming.
David continued with a survey of students' changing attitudes to programming as they worked through a college-level introductory programming course. The unusually practical course improved students' self-efficacy, but was not able to remove the fear of programming in all cases. Finally, Zhen Li described students' difficulties with concurrent programming. A hierarchy of misconceptions at various levels, such as the definition of "lock" and "block" terminology, left them struggling to answer questions about a concurrent system.
After coffee, the teaching and learning programming theme continued with Sylvia da Rosa's application of genetic epistemology to our field. Interviewing students about a real-world search procedure (finding a word in a dictionary) revealed their growing understanding of the underlying binary search mechanism and its requirements. Next, Randy Kaplan presented the development of a collection of 'programming wisdom' intended to help novices acquire the meta-skills required for effective programming. The session concluded with a series of five-minute presentations by the students who attended the doctoral consortium. This provided and opportunity for the wider conference audience to comment and advise on ongoing PhD work.
The conference banquet, held that evening at the Simona Restaurant, featured course after course of tasty Spanish food, and finished with a round of traditional liqueurs of unidentified flavours.
The second day of PPIG was dedicated to the topics Software Engineers and Practise and End-User Programming. In the first session, Edna Rosen presented insights in the areas of distributed pair programming, Rien Sach spoke about "programmer personality" as depicted by the Myers-Briggs personality type indicator in several studies, and Gul Calikli presented results on a study of confirmation bias in software development and testing.
After the first coffee break, the program continued with two discussions. Alan Blackwell started the first discussion on the topic of teaching psychology of programming to masters-level students. Could an explicit PPIG syllabus be feasible within a "hard" computer science context? There was general agreement that teaching PPIG would be useful, but the audience saw many challenges that needed to be overcome. However, there was hope that students could be interested despite the difference between PPIG and traditional computer science.
The next topic for discussion was titled "Help Luke and Thomas write a book", alternatively (and depending on which version of the PPIG 2010 program you happened to look at) "Help Thomas and Luke write a book". Thomas Green and Luke Church led the discussion around a book-idea about usability techniques for practitioners, particularly focusing on cognitive dimensions. The audience compared existing works on information visualisation and design patterns and pondered whether the book should be in paper form, electronic, or both. An initial prototype of a web version was shown. The discussion did not reach an ultimate conclusion, but many interesting ideas were voiced.
The following section on end-user programming delved into the mind of professional end-users via a case description by Alan Blackwell. The differences in reasoning between a professional end-user and a programmer were exposed. Matthew Dinmore showed thought-provoking statistics about end-user programming behaviour in the Yahoo!Pipes system. Patterns of use and reuse provided insight into how end-users behaved in the system. Finally, PPIG attendants dived into the creative and artistic world of bricolage programming. Alex McLean showed how programming is constructed as an art form: as an iterative navigation of a conceptual space where the artist manipulates the programming system and observes -- and is sometimes surprised by -- how the system changes its behaviour.
The remainder of the day was devoted to a panel on information foraging. After having reached final agreement on who was to chair and who was to give the introductory talk, Joseph Lawrance and Scott Fleming showed how the theory of information foraging could be applied to help programmers in their search for bugs in source code. They showed an algorithm that implemented the theoretical ideas, and that had given promising results. The discussion was diverse and included questions on both theory and practise. Could similar results be achieved by applying simple principles of locality, as the end-user is quite likely to search nearby the current source code location? What kinds of results could be achieved by selecting other basic need than foraging for food, and deriving a theory from that?
Finally, Thomas Green conducted the closing ceremony of PPIG 2010, which featured awards for several categories of announced and unannounced competitions, as well as an improvised foraging exercise to find the thank-you presents for co-chairs Rachel Bellamy and Joseph Lawrance. The presents were found behind the speaker's podium, which was the most natural place to put them to be found, but the least natural place in which to search for them for the particular end-user in question. The fact that there was no certainty about what the presents looked like may have influenced the search.
Biggest snout: Alex McLean
Information foraging award for discovering hidden products: Luke Church
Most innovative design: Edna Rosen ("Benefits remain undiscovered")
Unfortunately defective: Margaret Burnett ("You have to lie in your own bed")
Thomas Green ("Throw the baby out of the bath")
Most unexpected concept: Randy Kaplan (pre-natal programming)
Most results in any one presentation: Zhen Li
First report of animal studies in PPIG: Chris Parnin
Self-referentiality prize: Scheila Martins