CS553, Design Patterns --- Winter 2009
(Version, Aug 8, 2008)

Index Instructor
Sergio Antoy
office: FAB 120-02
e-mail: antoy@cs.pdx.edu (checked daily)
phone: 503-725-3009 (checked weekly)
homepage: http://www.cs.pdx.edu/~antoy/
office hours: MW 15:30 and by appointment
class time and location: see the Schedule
Description
This course provides an in-depth view of Software Design Patterns. The course, which is programming intensive, uses Java for presentation and analysis of the patterns and for the assignments. The course is suitable to software architects and developers who are already well-versed in this language. Patterns are reusable solutions to recurring software problems. They capture successful experiences and convey expert insight and knowledge to less experienced developers. In addition to patterns, the course provides continuous opportunities for learning the most advanced features of the Java language and understanding the principles behind the design of its fundamental libraries.
Goal
At the end of this course, students are expected to: master the Java language to the degree required by the subject; become familiar with the situations and motivations that call for using patterns; and be able to employ patterns in their appropriate contexts.
Prerequisites
The expected background is a B.S. degree in Computer Science and versatility in Java. Both ability to recognize and appreciate an elegant solution to a problem and willingness to "learn" (as opposed to "live") an experience are highly desirable.
Course materials
Grading
The grade is based on weekly assignments and on midterm and final exams. The weekly assignments can be solved individually or in group, are generally self-graded and contribute 10% to the total points. Students can skip up to 50% of the assignments without penalty. The exams are individual, close-book, partly multiple-choice tests. Each exam contributes 45% to the total points.

Students will receive an A with more than 80% of the total points in both the midterm and the final, a B with more than 60%. Students with weak prerequisites should take this course with audit grading option (as opposed to A-F).

Sample Exams
The exams are intended to test both knowledge of the material presented in class and skills acquired working on the assignments. Consult the Winter 2000 final and its solution for an example. The format and content of the exam may differ from the example.
Schedule
During the lectures, the instructor will discuss about 30-40 patterns taken from the textbook. The course is 10 weeks long. This entails an average of 3-4 patterns per week. Some patterns will take more time than others.

A detailed schedule, including planned lectures and homework assignments, will be maintained during the course and made available on-line.

The final exam will be held according to the PSU catalog. Exceptions will be allowed according to PSU regulations.

Homework
The solution of an assignment about a pattern completed in a certain week is presented in class on the Tuesday of the following week. Students may skip up to 50% of the assignments without penalty. Students do not submit their homework. If you want feedback, submit your homework to the instructor in hard copy.
Previous Evaluations
Course and instructor evaluations of previous offerings of this course are avaliable for the Winter 2000 and the Winter 2001 terms. See also other evaluations.

Contact antoy@cs.pdx.edu
Last update Fri Aug 8 17:14:15 PDT 2008