The 10th Conference on Pattern Languages of Programs 2003

September 8th - 12th, 2003


Elementary Patterns: Toward a Pattern-Driven CS1 Course


The goal of this focus group is to advance the elementary patterns literature in the form of a textbook suitable for an introductory computer science course.

At ChiliPLoP 2003, a group of seven pattern writers, including university educators and industry consultants, began work on a new textbook for the first course in computing. This book uses patterns as a vehicle for teaching object-oriented programming to students learning to program for the first time. We produced a rough outline for the book, identified programs that students could read and extend in order to learn how to program, developed first drafts of each new program, and outlined the sections of the book based on these programs. We are now in the process of writing the chapters.

The Elementary Patterns focus group will workshop our drafts and, through this process, help us to improve our work -- and even contribute to the book through new examples and ideas.


For a number of years, software educators and practitioners have been documenting patterns that all beginning programmers need to know, dubbed elementary patterns. The result has a been a number of papers addressing different elements of novice programming, including repetition, selection, recursion, code layout, and basic OO concepts such as substitution and delegation. Groups have gathered at four ChiliPLoPs to explore this domain, and most recent PLoPs have seen birds-of-a-feather sessions on elementary patterns.

Still, patterns have not made a significant difference in how most students learn to program. We attribute this lack of effect on at least two causes. One, the materials developed by the elementary patterns community have often been exploratory, more a proof of concept than a complete literature. Two, the materials have been presented as papers at varying levels of sophistication and with little direct support for instruction. Some papers are written for professors, while others are aimed at students. In both cases, the papers lack supporting expository text, complete programming examples, exercises, and the like.

Our current textbook effort attempts to remedy these weaknesses in the elementary patterns literature.

Who Should Participate

We invite participation from two different groups. First, we seek authors of material suitable for incorporation into the textbook. We expect that most authors will have been a part of the ChiliPLoP Hot Topic that began work on the book, or others in the elementary patterns community interested in joining efforts on the current outline. We do invite submissions from any pattern authors with an interest in this project, but we encourage prospective submitters of this sort to contact the organizer first to see if we can integrate the work into the larger textbook project prior to PLoP.

Second, we seek participants who are university educators and others with experience in teaching CS1 and other introductory programming courses. These participants both have a vested interest in the quality of CS1 instruction materials and have the ability to offer pointed evaluation of our work. This group also includes authors of existing CS1 textbooks, as they bring a unique perspective on instructional materials.

We hope that participants who come primarily as reviewers are diverse in their views on patterns in education. We seek those sympathetic to patterns, those neutral on patterns, and those who may be suspicious of the hype surrounding patterns. Such a diverse audience will give us more complete and objective evaluation of our work. These participants have an opportunity to review a draft of a book that we hope will be much different from the usual CS1 text and to help us set the direction for the use of patterns in a CS1 course.

Format of the Sessions

This focus group will consist primarily of workshops of the writers workshops of submitted material, with authors and reviewers participating. These workshops will be in the broader spirit of writers workshops, with discussion perhaps ranging beyond the specific content of a paper to its role in the larger context of instruction. All papers will be provided to focus group participants before the conference, so that we can all read and prepare for the workshops.

We will also lead an afternoon session on elementary patterns for all PLoP attendees. This session will encourage interactions with conference attendees in other domains, and we will work with the conference organizers to identify other opportunities for cross-pollination of ideas and discussions between focus groups.

How to Submit

Potential participants should send e-mail to Eugene Wallingford.

Prospective authors may submit papers in PDF, HTML, text, or PostScript. Any authors who have not been a part of previous elementary patterns writing projects, in particular the ChiliPLoP 2003 Hot Topic, should contact us prior to submitting a paper, to see how we can coordinate the paper with the larger projects.

Prospective reviewers should submit a short statement of their interest in the focus group and their background in computer science instruction.

We also welcome any questions regarding submission, pre-conference preparation, focus group activities, or any other topics related to this focus group.

About the Organizers

Eugene Wallingford is an associate professor in the Department of Computer Science at the University of Northern Iowa. He has been instrumental in organizing many elementary patterns events, including the ChiliPLoP 1998 Hot Topic that launched the community and subsequent workshops at ChiliPLoP and PLoP. He has also organized and presented tutorials on elementary patterns at the annual SIGCSE conference and its regional conferences. His writings about elementary patterns include papers about recursive programming and loops, papers about the use of patterns in evaluating student work, and talks and short papers on using patterns to organize instruction. He has also published patterns in the domain of intelligent systems and has begun to write patterns in the areas of functional programming and language processors.

Ralph Johnson is coordinator of design activities in the Department of Computer Science at the University of Illinois. He has been studying how object-oriented programming changes the way software is developed. His projects include frameworks for operating systems (Choices), drawing editors (HotDraw), music synthesis (Kyma), and business transaction processing (Accounts). He is co-author of the book Design Patterns: Elements of Reusable Object-Oriented Design, winner of the 1994 Software Productivity Award.

PLoP is a trademark of The Hillside Group, Inc.