SIGCSE2004 Logo ACM Logo

Teaching Design Patterns in CS1/CS2


[Introduction] [Abstract] [Presenters] [Details]

Introduction

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.


Abstract

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.


Presenters


Details

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.


Schedule (tentative)

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    

Carl G. Alphonce
Last modified: Wed Jan 21 10:48:36 EST 2004