office: FAB 120-02
e-mail: email@example.com (checked daily)
phone: 503-725-3009 (checked weekly)
office hours: TR 10:30 AM and by appointment
class time and location: see the Schedule
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.
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. CS558 Programming Languages is recommended.Course materials
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.Sample Exams
Students will receive an A with more than 80% of the total points in both the midterm and the final, at least a B with more than 60%.
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.Homework
A detailed schedule, including planned lectures and homework assignments is available on-line. Follow the link provided in Course materials.
The final exam will be held according to the PSU catalog unless explicitly noted in the schedule.
Typically, homework is not turned in. Student samples are inspected in class with a previous agreement with the instructor. The assignment about a pattern will be discussed in class on the week following the completion of the presentation.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.
Last update Thu Jan 7 15:41:23 PST 2010