Design Patterns General Syllabus (please see Canvas for current information)
Name: Tom Capaul
Office: 303 CEB
- Head First Design Patterns, by Eric Freeman and Elisabeth
Freeman, ISBN 978-0-596-00712-6
- (Seminal Design Patterns text) Design Patterns: Elements of Reusable Object-Oriented Software, by
Gamma, Helm, Johnson, and Vlissides, ISBN 0-201-63361-2
- Design Patterns Explained, by Shalloway and Trott, ISBN
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)
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.
- Adapter and Facade
- Template Method
- Iterator and Composite
- Model View Controller (MVC)
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.)
- Please see Canvas for current syllabus and grading information
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.
Americans with Disabilities Act: If there is any student in this class
who has special needs for accommodation, please feel free to discuss
the matter with the instructor. Students requiring accommodations need
to contact Kevin Hills, Director of Disability Support Services
(DSS). He can be reached at (509) 359-6871. The
DSS Office is located in 124 TAW.
You are expected to read material from the
chapter in the book that is being discussed in class AHEAD of time (see
the syllabus for a list of topics and chapters). Examples
given in class and by the authors should be confirmed by the student at
home to guarantee complete understanding of the subject.
Behavior. All students are expected to act in
accordance with the ACM Standards for Professional Behavior available through this link
. While I expect, and encourage, students to work together in an
appropriate manner, taking credit for someone else's work is forbidden
and is grounds for receiving a 0.0 in the class. Appropriate activities
include discussing program ideas, helping with code debugging, and
offering suggestions based on a running program. Inappropriate behavior
includes jointly developing a program and submitting it separately,
putting your name on a copy of someone else's code, and using an
algorithm or code copied from any source without crediting the source.
Should you have any questions about appropriate behavior, please talk
with me before submitting your work. Instances of cheating
will be dealt with SEVERELY. You may be expelled from the
university, expelled from the degree program, or given a 0.0 in the
Incompletes will NOT be granted except under extreme circumstances.
They will not be granted in cases where you were simply unable to keep
up with the workload. Requests for an incomplete must be submitted
prior to finals week and is subject to the following catalog
restriction: "PASSING work/progress (2.0 or above) must be demonstrated
through three weeks prior to the end of the term."
The instructor reserves the right to make changes to these policies as
necessary. You will ALWAYS be informed of these changes in