This web page describes a hands-on workshop at the SIGCSE 2004 conference, to be held in Norfolk, Virginia (USA), on Friday, March 5, 2004. The workshop will be held in a lab setting, and participants will have the opportunity to put into practice the ideas presented. Detailed information about the contents of the workshop will be posted as it becomes available.
Object-oriented programming (OOP) is an effective paradigm to abstract the problems at hand and master their complexity; as such it is pervasive in all large modern software systems. Many of the recurring abstractions are expressed by design patterns making them powerful tools to formulate and implement complex, yet flexible, extensible, robust and correct systems. From our experience teaching CS1/CS2, we believe it is possible and desirable to teach OOP from a design patterns perspective.
This workshop addresses how to present design patterns in an objects-first CS1/CS2 sequence so that their purpose and applicability are plainly grasped by a beginning student.
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 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 Ventura is an Assistant Professor at the State University of West Georgia. He earned a Ph.D. from the University at Buffalo in 2003. He has taught an object-oriented introduction to computer science for five years, both in academic and industrial settings.
Michael R. Wick is a 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.
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.
The workshop will present examples showing applications of design patterns which we have used teaching at the CS1/CS2 level. Participants will be given ample hands-on time to work through these examples with guidance from the five workshop leaders. A tentative schedule is posted below.
| Time | Topic | Primary Presenters | Design Patterns |
|---|---|---|---|
| 7:00 - 7:50 | "Ball World" - Comparing and Evaluating Competing Designs | Carl Alphonce and Phil Ventura | Composite
Decorator Null Object Singleton Strategy |
| 7:50 - 8:00 | BREAK | ||
| 8:00 - 8:50 | Component Frameworks for Data Structures | Zung Nguyen and Stephen Wong | Composite
Factory State Visitor |
| 8:50 - 9:00 | BREAK | ||
| 9:00 - 9:50 | "Game of Life" | Michael Wick | Observer/Observable
State Singleton Command Visitor Flyweight (if time permits) |
| 9:50 - 10:00 | Workshop wrap-up |