This course deals with the design and implementation of software subsystems. The concept of design patterns is introduced and common patterns are applied to the development of software components. Laboratory projects provide an opportunity for teams of students to implement components and to integrate them into complete systems. (prereq: CS-2851, SE-280) (3-2-4)


Upon successful completion of this course, the student will:

The above course description and goals were taken from the official course description. Detailed outcomes are also available.

General Course Policies

Please review the general course policies webpage.


Design Patterns: Elementes of Reusable Object-Oriented Software, by E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison-Wesley, 1995.

Optional: Visual Modeling with Rational Rose 2000 and UML, 3rd ed., by Terry Quatrani, Addison-Wesley, 2003.


Quizzes will be given nearly every week at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes (even with a valid excuse) will be given.

My Schedule

Time Mon Tue Wed Thu Fri
8:00       Grading  
10:00 Office Hour
11:00 GPC Lunch w/ Students* FH
12:00 FH PD Lunch
1:00 DEPT MTG SE4920 SE4920 SE4920
2:00   Office Hour Office Hour Office Hour
3:00 SE2811 SE2811L CC51 SE2811 SE2811
4:00 Office Hour Office Hour  

These office hours will be held in CC-33

* I would like to have lunch with you individually or as a group to get to know you better. If we eat in RWJ, housing will pick up my lunch bill. If you would prefer to eat elsewhere, we will each be responsible for our own bill. Feel free to suggest another time if the time above does not work for you.


Quizzes: 20%
Lab Projects: 25%
Team Project: 15%
Midterm Exam: 20%
Final Exam: 20%
Total: 100%