Design Patterns General Syllabus (please see Canvas for current information)

Instructor Information

Name: Tom Capaul
Office: 303 CEB
phone: 509-359-7092

Required Text

Recommended Texts

Course Objectives

Students will learn to apply a fundamental set of design patterns utilizing object oriented principles to solve real world software design problems.  Students will be become better object oriented programmers, as well as become better at object oriented analysis and design.  Students will work individually on fundamentals of design patterns.  Students will also work in teams to build a piece of software using Java or C# where multiple design patterns will be applied.

Design Patterns we will examine (most are based the Head First Design Patterns text)

The class focuses on Object Oriented analysis, design, and coding.  UML class diagrams will be heavily employed to convey class relationships in the patterns we learn.  We will learn about the importance of recognizing code smells and how to refactor them.  We will learn the importance of writing intent revealing code that lends itself readily to change.  Design patterns employ all of the previously mentioned items. 


Grade scale: 95% and above earns a 4.0, for each percent below 95, grade will drop by 0.1 (thus a 94% is a 3.9, 90% is a 3.5, 80% is a 2.5, etc.)

Late homework: 20% penalty per day, up to two days late, after which homework will not earn points.  All homework must be turned in and be in completed form to earn a passing grade (2.5) for the class.