CS553, Design Patterns --- Summer 2007
(Version, June 18, 2007)

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: TR 1:30 PM 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.
Contacts and Resources
For administrative questions (including adding and dropping), computer accounts, parking, etc., consult the Computer Science Office, cmps@cs.pdx.edu (voice: 503-725-4036, fax: 503-725-3211).

For the course's content, organization, and delivery consult the instructor. Please, also read the paragraph about Adding/Dropping and Registration.

Information about PSU's computing facilities is at http://www.cat.pdx.edu/.
Questions can be directed to the systems administrator, cat@cs.pdx.edu.

Students registering at off-campus sites should contact the registering office for all questions except those concerning the course's content, organization, and delivery.
Adding/Dropping and Registration
Follow the instructions of the Registrar at PSU or your off-campus site depending on where you registered.

You do not need my explicit permission to register for, add or drop this class. I have instructed the Computer Science Office to grant, without my signature, any and all requests to register for, add or drop this class. To contact the Computer Science Office see the Contacts and Resources paragraph.

Mailing list
There is a mailing list, cs510pij, for discussions and information about the course. Browse https://mailhost.cecs.pdx.edu/mailman/listinfo/cs510pij or send a message to cs510pij-request@cecs.pdx.edu with `help' in the body to subscribe to the list. This list is cleared at the end of each term.

If you have a problem with the mailing list, please ask a tutor, see http://www.cs.pdx.edu/~tutors, phone 725-4023, e-mail tutors@cs.pdx.edu.
Schedule
During the lectures, the instructor will discuss about 30-40 patterns taken from the textbook. The course is 8 weeks long. This entails an average of 4-5 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 assignment about a pattern completed in a certain week is due on the Tuesday of the following week. Students may skip up to 50% of the assignments without penalty. Student can submit homework in three ways: (1) by posting it on a website using only PDF, HTML and plain-text formats, (2) in hard copy, or (3) in the body of an email with lines no longer than 72 characters and without attachments.
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 updated Mon Jun 18 07:26:25 PDT 2007