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!)]
Introduction
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
September 1, 2003 September 3, 2003 - Revised deadline for submissions
- September 15, 2003 - Notification of acceptance
- September 18, 2003 - OOPSLA2003 early registration deadline
- October 26, 2003 [Sunday 8:30-17:00] - Workshop @ OOPSLA2003
Special dates for developers
- September 15, 2003 - Revised deadline for submissions
- September 17, 2003 - Notification of acceptance
- September 18, 2003 - OOPSLA2003 early registration deadline
- October 26, 2003 [Sunday 8:30-17:00] - Workshop @ OOPSLA2003
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
- to elicit from the
participating educators and developers "the application [the example]
that actually makes a sustaining market [compelling argument] for a
promising but under-utilized technology [design patterns]," and
- to bring together educators and developers to share their
respective design pattern and object-oriented expertise, and
- to refine the properties of "killer examples" (the essential
characteristics of such examples which make them so compelling) which
came out of last year's workshop.
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
- Carl G. Alphonce (Chair), alphonce@cse.buffalo.edu, University at Buffalo
Carl Alphonce is a Research Assistant Professor at the University
at Buffalo, State University of New York. He earned a Ph.D. from the
University of British Columbia in 2000. He has taught an
object-oriented introduction to computer science since the close of
the last millenium.
- Dung "Zung" Nguyen, dxnguyen@cs.rice.edu, Rice University
Dung "Zung" Nguyen is a Lecturer at Rice University. He earned a
Ph.D. from the University of California, Berkley in 1981. He
organized a workshop with Stephen Wong, entitled "Design Patterns:
Pedagogic Foundations of Object Orientation." He co-developed the
computer science and mathematics curriculum of Pepperdine University
to incorporate programming methodology, object orientation and
networking.
- Philip R. Ventura, pventura@cse.buffalo.edu, University at Buffalo
Philip Ventura is a Lecturer at the University at Buffalo, State
University of New York. He is a doctoral candidate at the University
at Buffalo, where he earned an M.Sc. in 2001. He has taught an
object-oriented introduction to computer science for five years, both
in academic and industrial settings.
- Michael R. Wick, wickmr@uwec.edu, University of Wisconsin - Eau Claire
Michael R. Wick is an Assistant Professor at the University of
Wisconsin - Eau Claire, where he has taught object-oriented
programming for several years and worked on object-oriented design and
analysis as well as design patterns. He was a participant in the
1st "Killer Examples" workshop at OOPSLA 2002.
- Stephen Wong, swong@cs.rice.edu, Rice University
Stephen Wong is a Lecturer at Rice University. He earned a
Ph.D. from MIT in 1989. He has published several papers on
applications of design patterns as well as the teaching of design
patterns. He organized a workshop with Dung Nguyen, entitled "Design
Patterns: Pedagogic Foundations of Object Orientation." He developed
and implemented curriculum for an introductory computer science course
which utilized an innovative objects-first-with-design-patterns
methodology at Oberlin College.
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:
- Introduction (10 minutes)
- Presentations of four examples (60 minutes, 15 minutes each)
- Coffee break (15 minutes)
- Presentations of four examples (60 minutes, 15 minutes each)
- Small group discussion #1 (40 minutes)
- Lunch (1 hour)
- Small group discussion #2 (40 minutes)
- Small group discussion #3 (40 minutes)
- Small group discussion #4 (40 minutes)
- Coffee break (15 minutes)
- Revision time (30 minutes)
- Presentations of findings, reactions (80, 10 minutes each)
- Workshop wrap-up (10 minutes)
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
Participants
- Joe Bergin
Department
of Computer Science, Pace University, New York, USA
- Michael E. Caspersen
Department of Computer Science, University of Aarhus, Aarhus, Denmark
- Richard Rasala
College of Computer & Information Science, Northeastern
University, Boston, USA
- Asher Sterkin
Department of Computer Science,
Hadassah Academic College, Jerusalem, Israel, and
NDS Israel,
Jerusalem, Israel
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