OOPSLA2004 Splash Logo

3rd "Killer Examples" for Design Patterns and Objects First


[Introduction] [Call for Papers] [Important Dates] [Themes and Goals] [Organizing Committee] [Workshop Activities] [Workshop Notes] [Workshop Pictures] [Poster Session Pictures]

Introduction

This web page describes a workshop at the OOPSLA 2004 conference, to be held in Vancouver, British Columbia, CANADA on Sunday, October 24, 2004. 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 the 2002 workshop page and the 2003 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.

How to participate

There are two ways to participate in the workshop. You can either contribute a killer example, or you may apply to attend as a discussant.

Contributing a Killer Example

If you wish to contribute a killer example 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-2004 Workshop Killer Example Submission" on or before the submission deadline given below. 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.

Participating as a discussant

If you wish to attend the workshop as a discussant you must submit a short statement of interest (a manifesto, if you will) (1 to 2 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-2004 Workshop Discussant Submission" on or before the submission deadline given below. 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 state why you are interested in attending the workshop, what background you have (e.g. are you a developer or an educator), your design pattern experience. We seek the participation of people with a broad spectrum of backgrounds, so don't hesitate to submit an application because you think you have too little/too much experience to contribute.

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


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 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. Our experience teaching CS1/CS2 has convinced us that it is possible and desirable to teach object orientation from a design patterns perspective.

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

References

[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

Relevant organizer publications

C. Alphonce and P. Ventura. ``Using graphics to support the teaching of fundamental object-orientation principles in CS1,'' 2003. Proceedings companion of the 18th Annual Conference on Object-Oriented Programming, Systems, Languages and Applications, ACM Press.

C. Alphonce and P. Ventura. ``QuickUML: A Tool to Support Iterative Design and Code Development,'' 2003. Proceedings companion of the 18th Annual Conference on Object-Oriented Programming, Systems, Languages and Applications, ACM Press.

C. Alphonce and P. Ventura, ``Object-orientation in CS1-CS2 by design,'' 2002. SIGCSE Bulletin 34:3, 70-74.

D. Nguyen, M. Ricken and S. Wong, ``Design Patterns for Marine Biology Simulation'', Proceedings of the 35th SIGCSE Technical Symposium, March 2004, 467-471.

D. Nguyen and S. Wong, Design Patterns for Self-Balancing Trees. OOPSLA 2002 Educator Symposium, November 2002, 60-70.

D. Nguyen and S. Wong, ``Design Patterns for Games,'' Proceedings of the 33rd SIGCSE Technical Symposium, March 2002, 126-130.

D. Nguyen and S. Wong, ``OOP in Introductory CS: Better Students Through Abstraction''. Position paper presented at the Fifth Workshop on Pedagogies and Tools for Assimilating Object Oriented Concepts, October 2001.

D. Nguyen and S. Wong, ``Design Patterns for Sorting,'' SIGCSE Bulletin 33:1, March 2001, 263-267.

D. Nguyen and S. Wong, ``Design Patterns for Lazy Evaluation,'' SIGCSE Bulletin 32:1, March 2000, 21-25.

D. Nguyen and S. Wong, ``Design Patterns for Decoupling Data Structures and Algorithms,'' SIGCSE Bulletin 31:1, March 1999, 87-91.

P. Ventura and C. Alphonce, ``Teaching OOD and OOP through Java and UML in CS1 and CS2''. Position paper presented at the Fifth Workshop on Pedagogies and Tools for Assimilating Object Oriented Concepts, October 2001.

Workshop attendance limit

We anticipate accepting three to four killer example submissions and six to eight discussant submissions.

Pre-workshop activities

Prior to the workshop we expect participants to submit their contribution for posting on a web page. As with previous workshops, 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 related to the session on CD ROM, or prior to the workshop via e-mail to all the participants.

The workshop program will consist of a short introductory presentation by the organizers, followed by presentations by the presenters of their submissions. Here is a tentative schedule for events, assuming we have 3 accepted presentations (the organizers are prepared to contribute examples as well, to ensure there are three examples to discuss):

8:30-8:35
Introduction
8:35-9:50
Presentations of examples (With three examples, each gets 20 minutes for presentation and 5 minutes for questions. With four examples, each gets 15 minutes for presentation and 4 minutes for questions, and the coffee break will start at 9:55.)
10:10-11:10
Small group discussion period
11:10-11:50
General discussion period
11:50-12:00
Workshop wrap-up (summary of findings, reactions)
A significant amount of time is set aside for face to face discussions in small groups in several (3-4) 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. Participants are also to express the criteria they use to judge the merits of an example.

During the general discussion period we will discuss our findings as a single large group.

Post-workshop activities

After the workshop those participants who submitted killer examples are expected to submit final versions of their examples for inclusion on a web site for general dissemination. Web sites from previous years' workshops can be viewed at http://www.cse.buffalo.edu/faculty/alphonce/KillerExamples/OOPSLA2002/ and http://www.cse.buffalo.edu/faculty/alphonce/KillerExamples/OOPSLA2003/

Workshop Notes

The workshop had a full house this year! We were able to accomodate some last-minute walk-ins in addition to the presenters and discussants. Accepted presenters:
Joe Hummel (Lake Forest College, USA)
Dominick Paniscotti (BAE Systems, USA)
Sylvia Stuurman (Open University, the Netherlands)
Gert Florijn (SERC, the Netherlands)
Bruce Trask (BAE Systems, USA)
Accepted discussants:
Joseph Bergin (Pace University, USA)
Paul Carter (University of British Columbia, Canada)
Michael Caspersen (University of Aarhus, Denmark)
Rick Gee (University College of the Okanagan, Canada)
Joseph Lang (University of Dayton, USA)
One of our presenters was unfortunately unable to attend the workshop. Their initial submission is available here: Here are links to updated presentations:

Workshop Pictures

Zung Nguyen and Stephen Wong just before the workshop

Joe Hummel presenting

Zung Nguyen presenting Sylvia Stuurman and Gert Florijn's submission

Dominick Paniscotti presenting

Audience pictures


Poster session pictures



Carl G. Alphonce
Last modified: Thu Mar 17 01:13:49 EST 2005