OOPSLA2003 Logo

2nd "Killer Examples" for Design Patterns and Objects First

[Introduction] [Call for Papers] [Important Dates] [Themes and Goals] [Organizing Committee] [Workshop Notes (NEW!)] [Workshop Poster Pictures (NEW!)]


This web page describes a workshop at the OOPSLA 2003 conference, to be held in Anaheim, California, USA from October 26-30, 2003. Links to the final examples produced by the participants will be posted at the end of this page. You can also have a look at last year's workshop page.

Call for Papers

The Jargon File defines a killer app as an "application that actually makes a sustaining market for a promising but under-utilized technology." A killer example provides clear and compelling motivation for some concept. The theme of this workshop is killer examples for design patterns and object-oriented concepts.

Today's computer science students are tomorrow's software developers. They will be expected to design and implement solutions to complex problems. Object orientation is an excellent approach to managing the complexity of large, real-world software systems. Design patterns are an essential part of an object oriented approach to managing complexity. We believe killer examples can motivate students and pique their curiosity about both.

The goal of this workshop is to elicit, share, analyze and critique killer examples from educators and developers. Pre-workshop activities encourage interaction and refinement of examples prior to the workshop.

If you are interested in participating in the workshop, you must submit a short proposal (4 to 6 pages) in plain text, as a Microsoft Word .doc file or in PDF as an e-mail attachment to alphonce@cse.buffalo.edu with subject line "OOPSLA-2003 Workshop Submission" on or before September 1, 2003 September 3, 2003. You must submit two versions - one anonymous and one with author names and affiliations. Avoid self-references, if any, in the text of the submission.

Your submission must clearly identify an example and why you believe it is a "killer example", as described in the Themes and Goals section below.

Each submission will be anonymously reviewed by at least three members of the organizing committee. The decision of the organizing committee is final.

If your submission is accepted, you (or one of your co-authors) is expected to register for the workshop and attend.

Important dates

Special dates for developers

Themes and Goals

The theme of this workshop is "killer examples" for design patterns and objects-first. We take these to be examples which provide clear and compelling motivation for a particular design pattern or object oriented concept.

Today's computer science students are tomorrow's software developers. They will be expected to design and implement solutions to complex problems. Object orientation is an excellent approach to managing the complexity of large, real-world software systems. Design patterns are an essential part of an object oriented approach to managing complexity.

Faculty and software developers who have learned to program using a non object-oriented approach often view object orientation with skepticism. Some find it difficult to see the benefits that object orientation offers. Others recognize that object orientation has great promise but feel that both object orientation and design patterns are too complex and too abstract for beginners to learn.

The objects-first approach is recognized in CC2001 [0] as a legitimate entry point to the computer science curriculum. There are compelling arguments [1,2,3] for the inclusion of design patterns at an early stage of the computer science curriculum, even in an objects-first CS1 course. Our experience teaching CS1 and CS2 has convinced us that it is possible and desirable to teach object orientation from a design patterns perspective.

A question to be addressed is how to present design patterns and object oriented concepts in a grounded manner so that their purpose and applicability are plainly grasped by a beginning student. There is certainly no dearth of materials expounding the wonders of design patterns (e.g. [4]). These materials are, for the most part, directed at those with considerable experience with object orientation to start with. Many object-oriented programming texts lack original compelling and grounded examples to serve as motivation for fundamental object oriented concepts.

In [2], the authors conclude by noting that since "Design patterns and object orientation do not always scale down, care in choosing examples will help ensure that educators and students appreciate the power of design patterns." It is the aim of this workshop is to address this issue. We believe there are "naturally occurring" and compelling examples to motivate individual design patterns. The goals of the workshop are


[0] Computing Curricula 2001, Computer Science Volume.
[1] Dung Nguyen and Stephen Wong. Design Patterns: Pedagogical Foundations For Object-Orientation. A workshop presented at University of Wisconsin System Computer Science Education Workshop, University of Wisconsin, October 13, 2000.
[2] Owen Astrachan. OO Overkill: When Simple is Better than Not. Appeared in the Proceedings of the Thirty Second SIGCSE Technical Symposium on Computer Science Education, pages 302-306. 2001.
[3] Owen Astrachan, Geoffrey Berrt, Landon Cox and Garrett Mitchener. Design Patterns: An Essential Component of CS Curricula. Appeared in the Proceedings of the Twenty Ninth SIGCSE Technical Symposium on Computer Science Education, pages 153-160. 1998.
[4] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.

Organizing Committee

Workshop attendance limit

We anticipate accepting six to eight proposals, roughly equivalent to between 12 and 16 workshop participants, including the organizers.

Pre-workshop activities

Prior to the workshop we expect participants to submit their contribution for posting on a web page. A listserv e-mail forum will be set up to allow for pre-workshop discussion of the posted proposals. We will invite participants to discuss the problems, their solutions, as well as the contributor's justification for the example. We expect the discussion to cover the effectiveness of the submitted examples and what makes examples effective (or ineffective). Constructive feedback to improve submitted examples will also be welcome, so that the workshop discussions can focus on more substantial issues.

Planned workshop activities

Organizers will produce and distribute materials on CD ROM related to the session.

The day's program will consist of a short introductory presentation by the organizers, followed by presentations by the participants of their submissions. Here is a tentative schedule for events, assuming we have 8 accepted presentations:

A significant amount of time is set aside for face to face discussions in small groups in several rounds. Each discussion session will involve analysis, evaluation and iterative improvement of the submitted examples. In each of the four discussion blocks the presenters break into groups, each facilitated by one of the organizers. Assuming there are eight accepted proposals, each group consists of two presenters and one organizer. 20 minutes of each block is spent discussing each presenter's killer example. Participants are also to express the criteria they use to judge the merits of an example.

Each presenter circulates in such a way that they receive feedback from different people in each small group discussion. In this way each presenter gets four sets of feedback, from at least eight different people.

Post-workshop activities

After the workshop participants will be expected to submit final versions of their examples for inclusion on a web site for general dissemination. The web site from last year's workshop can be viewed at http://www.cse.buffalo.edu/faculty/alphonce/KillerExamples/OOPSLA2002/

The organizers will write a workshop report to be posted on the web site (coming soon, below).

Workshop Notes


Workshop Poster Pictures

Michael Caspersen kindly took pictures of the workshop poster and published them on his web site http://www.daimi.au.dk/~mec/oopsla2003/poster/pictures.html
Carl G. Alphonce
Last modified: Thu Mar 18 09:46:58 EST 2004