Analysis concerns itself primarily with the large structure of a program, whereas design is concerned with the fine details needed for implementation. A good designer can accelerate the design process by recognizing when a particular pattern can be used appropriately in a given situation. The design concepts are presented in the context of real code, with a focus on how to implement the patterns in Java. The course finishes with a lab session in which a small program is designed.
Enrollment is limited and advance enrollment is required.
He also moderates the ITworld Programming Theory and Practice discussion group.