Number 20, June `97
Edited by Paul Mulholland P.Mulholland@open.ac.uk
Report on PPIG `97 Workshop by Judith Segal
Psychology Of Programming And The EPSRC by Nigel Birch
Spotlight on PPIGers Fabrice Retkowsky, Christopher Douce, David Gilmore, Roly Perera, Maria Bielikova, Jim Buckley, Mordechai (Moti) Ben-Ari and Pavol Navrat
The Psychology of Programming Interest Group (PPIG) was established in 1987 in order to bring together people from diverse communities to explore common interests in the psychological aspects of programming and/or in computational aspects of psychology. ‘Programming’, here, is interpreted in the broadest sense to include any aspect of software development. The group, which at present numbers approximately 300 world-wide, includes cognitive scientists, psychologists, computer scientists, software engineers, software developers, HCI people et al., in both Universities and industry.
PPIG aims to provide a forum for the rapid dissemination of results, ideas, and language or paradigm tool development, circumventing the long time-lag of conferences and journals. It does this by maintaining two electronic mailing lists - one for announcements and one for discussion - by publishing two newsletters a year, maintaining pages on the World Wide Web, and organising a workshop annually, together with other workshops as and when required.
The annual workshops, which always attract a high percentage of attendees from outside the United Kingdom, consist of keynote addresses by eminent practitioners in the relevant fields, discussion panels, software demonstrations and seminar-like presentations. Invited speakers have included Professors Jack Carroll, Bill Curtis, Laura Leventhal, Clayton Lewis, Gary Olson, Peter Polson, Elliot Soloway and Willemien Visser. Venues have included the Universities of Warwick (1989), Wolverhampton (1990), Huddersfield (1991), Loughborough (Jan 1992), INRIA (Paris) (Dec. 1992), the Open University (Jan. 1994), University of Edinburgh (1995), and the University of KaHo Sint Lieven, Ghent (1996).
In 1996, for the first time, a workshop was held specifically to allow post-graduate students in the relevant disciplines to come together, give presentations and exchange ideas. It is hoped that this will be the first of a series.
There is no subscription. Financial help in the past has come from Xerox EuroPARC, the DTI and EPSRC. Further information is available from the organiser, Judith Segal.
The PPIG website can be found at http://www.ppig.org/
Workshop report: PPIG `97
Judith Segal email@example.com
The 9th annual workshop of PPIG took place at Cliff College, a Methodist centre perched on the side of a steep hill in the picturesque Peak District. It was freezing cold outside, warm and welcoming within. And the nearest pub was really very near….
Our first guest speaker was David Gilmore, fresh from his sojourn in the USA. Deliberately echoing Ben Shneiderman at the first ESP, David entitled his talk " Understanding Programming: The terrain, the trails and the summits". David looked back on the first ten (or so) years of PPIG, contrasting the actual concerns of PPIG with Shneiderman’s predictions. PPIGers have been, and continue to be, concerned with many of the wider aspects of programming and programmers. David’s predictions for future concerns, based in part on an email survey of PPIGers, include: accessibility for non-programmers; reliability of software; programming at high levels of abstraction; evaluating new programming bandwagons; self-documenting code; effective reuse; the use of event-driven programming, and programming for the internet (Java).
This was followed by a session on educational issues.
In “So you learned to program at University? No wonder the software is late!” Ray Dawson (R.J.Dawson@Lboro.ac.uk) spoke about the deficiencies that he and Ron Newsham perceive in University computer science courses, from their perspective of one-time trainers in a software house. They noted that the realities of software engineering include specifications which can be incomplete, contradictory and changing, and require the ability to cope with both natural and management-made disasters. They have attempted to introduce such specifications and disasters into their teaching courses, and (they say) some of their students are still talking to them.
This was followed by Babak Khazaei (firstname.lastname@example.org) giving “A survey of empirical studies of PROLOG programming and the transfer effect”. This survey drew on material from past PPIG and ESP workshops, and so cited a gratifying number of PPIGers.
Finally in this session, the double-act of John Domingue and Paul Mulholland (J.B.Domingue@open.ac.uk, P.Mulholland@open.ac.uk) described “The internet software visualization laboratory”. This makes use of current research into software visualisation to provide a collaborative learning environment over the internet. It supports both synchronous and asynchronous communications, the latter by means of recording sessions. It is clear that the lab has the potential to provide further insights into how software visualisation might best promote learning.
A paper which logically belonged to this session is Linda Carswell’s “What is the impact of individual student differences in providing strategies to teach introductory programming?” (L.Carswell@open.ac.uk) Unfortunately, illness prevented Linda from presenting the paper, but it is included in the proceedings. The paper reports on comparisons of two groups of Computing students engaged in distance learning, one communicating with their instructors via the Internet, and one via the more conventional means of mail and telephone. There was no difference in achievement between the groups, and, in addition, there was no correlation between learning style and achievement, nor interaction between learning style, medium and achievement. The only predictor of success was the student’s self-judgement.
After a delicious lunch (no mass catering meat-and-two-veg here! the meals were provided by an Asian Women’s Cooperative), the next session looked at specification issues.
Chris Roast (C.R.Roast@shu.ac.uk) began by presenting a paper on “Cognitive dimensions applied to modifiability within an integrated prototyping environment”. Having presented formal definitions of input sequences and disrupts, and discussed their relationship with viscosity, he then reported on a case study. Here the viscosity of a specification language was compared with that of a superset of Pascal when modifications to the signal problem were made. Both repeat and knock-on viscosity were considered.
Chih Nam Yap (email@example.com) then talked about “Graphical Z specifications”, in which he described a graphical tool, the Visualiser, by which Z specifications can be built. The visualiser is of interest not only for the way in which the icons are deployed, for example, in defining predicates, but also because it imposes a specification method on the user.
“The purpose of specification” was the topic then broached by Roger Stone, (R.G.Stone@lboro.ac.uk) speaking on a paper co-authored by John Cooke. They noted that a common complaint levelled against formal specifications is that they are too large and unreadable. They argued that constructing specifications is a specialist job, and discussed some notational changes that they are experimenting with.
The next session considered issues of the programming environment.
Trevor Collins (firstname.lastname@example.org) began the session by considering “Using Software Visualization Technology to help Genetic Algorithm Designers.” Trevor has built a prototype of a visualisation system based on problems identified by a survey of genetic algorithm users. The system aims to help users represent their problem, define the evaluation function, and interact with the executing algorithm.
Ron Newsham (email@example.com) in “Hidden Contexts and Semantic Ambiguity: a problem for maintenance?”, discussed the plethora of notations in OOAD, and the attributes such notations should ideally have, such as being well-specified, overloading neither notation nor concept, and being sensitive to change of methodology, perhaps by ensuring that important contextual information is not denoted (and hence hidden) by subtleties of line style or typography.
Finally, in “Simulating a Software Project: the PoP guns go to War”, Alan Blackwell described a role-playing exercise, designed and implemented with Helen Arnold, entitled ‘Experience a typical hour in the life of a professional programmer’. Alan noted that the effects of groups and organisations are rarely addressed in PPIG-type research, though of vital importance in real-life situations, and presented the exercise as a means by which studies of such effects might be carried out. The results of such studies could both test HCI theories of social context, and be applied to project management practice. The materials for the exercise are all included in the workshop proceedings (see below).
The second invited speaker was Graham Pratten, firstname.lastname@example.org, whose talk, entitled “How design notations warp our understanding of systems design”, was based on his experiences over 30 years while employed at ICL. Here, ‘systems’ were interpreted as hardware, software, business process and hybrid. Graham talked about the problems of representing a system as a composition of smaller systems, and the relationship between representations at different levels of decomposition, and concluded that there should be one type of building block and the same rules of composition at all levels.
The next session was on ‘The Wider View’.
This included a paper by Judith Segal (me! email@example.com) on “Some problems with context in formal reasoning'. Here, I considered the role of context as it affects both proof and implication. In the former case, I argued that the concept of proof is a social artefact, and in the latter, considered some of the possible problems in formal reasoning arising from the differing semantics of the ‘if… then’ structure in formal and natural language.
Jawed Siddiqi (firstname.lastname@example.org) talked on a paper co-authored by Andy Bissett and entitled “Should organisations view process-centred approaches as panaceas for managing software development?” The writers surveyed the (small) body of literature concerning the views of the people involved, practitioners, managers etc., on software quality assurance practices. This small amount of empirical evidence seems to indicate that the frameworks currently in vogue are not universally perceived as being successful.
In “The Roles of Natural and Cultural Predispositions in the Transfer Effect: some ideas derived from empirical studies of programmers”, Rick Osborne (email@example.com) discussed why programmers might use problem-solving strategies which are poorly supported by the programming language they are currently using, but well supported by the language they first learnt. He argued that the natural predisposition of people to make use of their past experiences is stronger than any cultural influence, such as the nature of the current programming language.
The final guest speaker was our old friend, Nigel Birch, (firstname.lastname@example.org) of EPSRC. After describing the Human Factors programme, Nigel then discussed how communication between EPSRC and the user population might be improved; how, indeed, the user population might be identified, and how industry might be influenced to involve users in the design process. Of course, these are issues which have exercised PPIGers for years, and the discussion continued into the panel session, on ‘Whither PPIG’. PPIG might advise EPSRC on the type of research which should be especially encouraged: perhaps a discussion on recommendations to EPSRC should form part of every PPIG workshop? Should PPIG have workshops aimed primarily at users (whoever they are)? Should conferences such as those organised by the BCS HCI and those on Object Technology have PPIG tutorial days, in which the results of PPIG-type research is disseminated to the potential users? This important discussion should perhaps be continued in the ‘discuss’ mail group.
As to PPIG business: there was the usual distribution of prizes for hard-fought competitions, such as “The Wildest Claim” (won by Paul Mulholland with ‘for many people, the Open University PROLOG course is their only friend’). The prizes consisted of piggy lollies in a tasteful shade of day-glo pink (didn’t see many people eating theirs, I must admit). On a more serious note, Paola Kathuria talked of her plans (now fully implemented) for the PPIG Web pages, and for moving the email lists to majordomo administration. I’m sure we are all very grateful to Paola for the many hours she has put in on our behalf, and are very appreciative of the results of her efforts.
Finally, we should thank Messrs. Khazaei, Osborn, Roast and Siddiqi for all their hard work in making PPIG97 such a success.
To next year, at the Open University!
In order to obtain copies of the Proceedings, please contact the co-editor, Rick Osborn, at email@example.com
[Apologies to any speakers who feel they are under- or mis-represented in the above.]
Psychology Of Programming And The EPSRC
Nigel Birch firstname.lastname@example.org
IT & Computer Science Programme
Engineering & Physical Sciences Research Council
North Star Avenue
Wilts SN2 1ET
Tel: 01793 444030
Fax: 01793 444006
For those of you that don’t know, the Engineering & Physical Sciences Research Council (EPSRC) is one of the seven UK research councils. Whilst much of its activity, as its name suggests, is concerned with the support of Engineering and Physical Sciences (Chemistry, Physics, Mechanical Engineering and the like), tucked away in a small corner of the IT and Computer Science programme is Human Factors, with responsibility for supporting psychology, sociology, linguistics and other things that underpin the human element of computing - a multi-disciplinary programme, as PPIG is a multi-disciplinary group. I look after this part of the organisation, and it is here that the Psychology of Programming fits in EPSRC.
January 1997 saw the 10th PPIG Workshop and David Gilmore (Psychology, University of Nottingham) took the opportunity of the anniversary to talk about the direction of the subject since the first meeting. I thought I’d take the opportunity of the first Newsletter since then to respond from the Research Council’s point of view.
David’s first point was that ten years ago Schneiderman was advocating field studies. Ten years on these are still not being done. We have also recognised this and our publicity says ‘…there is a need to develop and apply methods of ethnographic analysis….’ (see our brochure `People & Computers The Human Factors Programme' - copies available from me).
End-user programming was another early subject that has been neglected. The IT and Computer Science Programme has skirted around the issue in the past - even considering a programme in `user enhanceable systems' at one stage (shelved when the Councils were reorganised in 1994). Given good proposals, this would be supportable, I feel.
David’s survey of the future produced the following list of topics:
- accessibility to non-programmers
- understanding errors
- programming reliability
- evaluating new programming `bandwagons'
- programming at higher levels of abstraction
- self-documenting code
- effective re-use
All of these topics could find a home in EPSRC. The first three are of particular interest. A theme than ran through the discussions leading to the strategy set out in ‘People & Computers’ was the need to make systems more accessible to non-computing users. The understanding of errors and the reliability of programmes, of course, are of major significance given the increasing use of computers to control critical systems - non just safety critical, like aircraft and power stations, but also business critical. An initiative dealing with the computer science aspects of safety is under discussion. As yet it has no `human' component. Whether the initiative deals with the human element or not, it remains a key part of Human Factors and we will be looking for research that brings the human dimension into understanding the way to design and operate these kinds of systems.
The bottom line is that the research issues that you are identifying as important and interesting are also being recognised by EPSRC. Researchers in the UK have a home within our IT and Computer Science Programme and we would be pleased to see applications addressing some of these issues. Further information can be obtained via the web (http://www.epsrc.ac.uk) or from the brochure `People and Computers', available on request from me.
I am always happy to talk to individuals or groups about your research ideas and whether and how EPSRC might provide support.
Spotlight on PPIGers
Cognitive and Computing Science School - University of Sussex
I’m just beginning a PhD on ‘Cognitive Psychology and Software Reuse’. Therefore I’m particularly interested in the aspects and issues of the psychology of programming that can apply to software reuse.
I’ve set up a web site at: http://www.cogs.susx.ac.uk/users/fabricer
Software Management Group
Department of computation, PO Box 88, Manchester, UK, M60 1QD.
I am currently on my final year of my PhD studying the maintenance of object-oriented software. A number of protocol studies have been completed where a small number of programs written using the C++ language have modified against a small number of criteria.
As well as looking at the informational needs of maintainers by identifying the types of information novice and intermediate level programmers attend to, I am looking at the errors which are produced while modifications take place; what sort of errors occur and examining the occasions where errors may be left within the program code. Also of interest is the ways in which programmers detect errors and the levels and rates at which error detection occurs. The use of external media is also of interest; the way it is used and what kind of information is held. Before the maintenance problems were given to the maintainers, they were each told to use a pen and paper as and when required.
As yet, concerning each of these issues, no conclusions have been reached but I still have got a lot of reading to do!
Another area which I have been interested in is individual differences between programmers; differences in reasoning abilities and how this may influence programming behaviour. This, however, is an interest which has not been directly pursued, but lies dormant in the back of my mind waiting for appropriate moments to question what is happening during laboratory sessions.
I hope, like several other PPIG-ers that the results which I collect will help to build some recommendations towards the design of appropriate tools which could aid software maintenance. With this, I begin to wonder how maintenance knowledge of software can be shared between individuals in software project groups, and what the effect to an organisation if a key member of a software development team was to be lost. I began my PhD interested in the theoretical aspects of program comprehension but towards the end a gradual shift towards the more practical has occurred.
David Gilmore will be moving (sometime later in the year) from his position as Senior Lecturer in Psychology at Nottingham University to a post as Human Factors Consultant for IDEO Product Development in San Francisco. Opportunities to continue work in the psychology of programming will be limited, but he hopes to keep a foot in the door. His current email address should continue to work for quite some time.
I am not a researcher, but work for a Luxembourg-based software company developing a Java programming environment. My PPIG-related interests include software ergonomics and user interfaces.
My research interests include logic programming, software and knowledge engineering, in particular management of versions and software configurations (it was the topic of my dissertation). Beside that I am strongly interested in teaching programming (mainly functional and logic) by considering program schemata and programming techniques. I provided extensive experiments in Functional and Logic Programming undergraduate courses with this kind of teaching strategy. My main intention was to show the impact of program schemata explanation on the effectiveness of programming tuition. Results of experiments are very promising. Moreover some interesting facts about types of problems solved and relations between functional and logic programming from the educational point of view were discovered.
My name is Jim Buckley and I am currently doing a PhD at Limerick University in the area of software comprehension. My specific area of interest is in evaluating “system monitoring” as an instrument for studying the software comprehension process. System monitoring is a technique which gathers all interaction data from a users session with a system, typically by tapping the users dialog.
System monitoring can be applied to software comprehension sessions, capturing the interactions of programmers with external information sources (such as source code, design documents) when these external information sources are viewed by the programmer through software tools (editors, browsers).
From analysing these interactions we hope to assess which “information browsing” facilities and representations are of most use to the programmer during their comprehension sessions. In addition we hope that this technique will provide observational information which will support or contradict current software comprehension theories and possibly suggest new comprehension theories.
Also of interest for the newsletter is a workshop which we held at Limerick University this month. This workshop was entitled “Experimental Psychology in Software Comprehension Studies” and guest speakers included Thomas Green, Jurek Kirakowski and Ronan Reilly. The web page for the workshop is: http://www.csis.ul.ie/iseg/epscstop.htm
Please feel free to contact me if you have any queries about any of the above.
Mordechai (Moti) Ben-Ari
Department of Science Teaching
Weizmann Institute of Science
Rehovot 76100 Israel
After many years in industrial software development and teaching advanced computer science in universities (you may be familiar with my textbooks on concurrent programming, logic and programming languages), I have taken a position in the Science Teaching department. My group develops CS courses for high school students. (If you read Hebrew, I’ll be happy to send you copies of our material :-)) The difficulties that students (and teachers!) encounter learning CS have led me to realise that we must study cognitive aspects of CS - so I have joined PPIG.
Slovak University of Technology
Dept. of Computer Science and Engineering
812 19 Bratislava
tel: (+421 7) 791 395
fax: (+421 7) 720 415
Maria Bielikova and Pavol Navrat, “A Schema-Based Approach to Teaching Programming in Lisp and Prolog”, 8th Int. PEG Conference (accepted), 8 pages.
Abstract: An approach to teaching programming in Lisp and Prolog is presented. Frequently, the languages are used in introductory courses to functional and logic programming, respectively. It is becoming generally accepted that various standardised programming generalisations and abstractions facilitate learning programming. Considering program schemata and programming techniques, both the programming paradigms have perhaps surprisingly much in common. We support this hypothesis by presenting several examples of similar schemata in respective languages. We argue that once a student has learned fundamentals of one programming paradigm, she can learn the other one more easily by formulating the corresponding schemata. The approach is illustrated in the paper using examples from list processing.
Available on the WWW at: http://www.dcs.elf.stuba.sk/publ/1997/sesozop.htm
The 5th International Workshop on Program Comprehension took place on May 28-30, 1997 in Dearborn, Michigan.
Comprehending programs written by others is at the heart of various software engineering activities. Program comprehension is performed when one reuses, reengineers, or enhances existing (or legacy) programs. It is also performed during review or code walk-through of new programs. The goal of this workshop is to bring together practitioners and researchers from government, academia, and industry to review the current state of the art and explore solutions to the program comprehension problem. On-line Web sites for detailed information:
PPIG `98 Workshop - Preliminary Call for Papers
10th Annual Workshop
January 5th-8th, 1998
Knowledge Media Institute
The Open University, Milton Keynes, UK
The annual PPIG workshop is a forum in which researchers concerned with psychological factors within programming and software design can present and discuss recent findings and developments. One of the predominant features of the PPIG workshops has been their openness to the variety of contrasting concerns relevant to programming, software design, maintenance, etc. Previously the workshop has presented material including new language developments, development tools and environments, evaluation techniques, and cognitive studies of program construction and comprehension.
Contributions are welcome that focus upon recent research concerning the psychology of programming. Areas of interest include, but are not limited to, the following:
- empirical studies of novice and expert programmers,
- collaborative software development,
- graphical notations and environments,
- psychological aspects of program specification,
- teaching and learning programming,
- debugging, tracers and visualization,
- mental models,
- programming paradigms,
- display-based reasoning,
- software design methodologies,
- programming environments and support tools,
- organisational issues,
- formal reasoning.
Invited speakers will include Allen Cypher and Alexander Repenning.
Allen Cypher is one of the foremost researchers in the field of Programming by Demonstration. His book “Watch What I Do” (published by MIT Press) is a classic in the field. Allen is also the co-creator of Cocoa, a program that enables children to create their own simulations and games, and to publish them on the World Wide Web. Cocoa now has a large web site and is currently used by hundreds of school children. Before Cocoa, Allen created one of the best known programming by demonstration systems: Eager. Eager constantly watches your actions on the computer, and when it detects a repetitive activity, it writes a program which will perform that activity for you.
Alexander Repenning is one of the world leaders in end user programming environments. He created the examplar end user programming substrate, Agentsheets, which can be used to create domain-oriented programming and simulation environments. The construction paradigm employed by Agentsheets consists of a large number of autonomous, communicating agents organised in a grid, called an Agentsheet. Agents utilise different communication modalities such as animation, sound, and speech. Agentsheets have been used in diverse domains such as art, artificial life, environmental design, games, genetic programming, network design, kitchen design, and visual programming.
Local organisers: John Domingue and Paul Mulholland.
PPIG steering committee: Thomas Green (University of Leeds) and Judith Segal (University of Surrey).
Deadline: Submission of extended abstracts, full papers, panel proposals, posters or demonstrations by Friday 7th November.
Contact: For further details about the workshop contact John Domingue (email@example.com)
The next PPIG newsletter will be in November. Please send your articles to Paul Mulholland (P.Mulholland@open.ac.uk)