CMSC446 Introduction To Design Patterns
Spring 2005
Syllabus
Course Description
This course is an introduction to software design patterns. Each
pattern represents a best practice solution to a software problem in some
context. The course will cover the rationale and benefits of
object-oriented software design patterns. Several example problems will
be studied to investigate the development of good design patterns.
Specific patterns, such as Observer, State, Adapter, Strategy,
Decorator and Abstract Factory will be discussed. Programming
projects in the Java language will provide experience in the use of
these patterns. In addition, distributed object frameworks, such as
RMI, will be studied for their effective use of design patterns.
Course Outline
- Introduction To Design Patterns
- Introduction To Java
- The Observer Pattern
- The Template Method Pattern
- Some OO Design Principles
- Factory Patterns: Factory Method and Abstract Factory
- The Singleton Pattern
- The Iterator Pattern
- The Composite Pattern
- The Facade Pattern
- The State and Strategy Patterns
- Functors and the Command Pattern
- The Adapter Pattern
- The Proxy Pattern
- RMI
- The Decorator Pattern
- Dynamic Proxies In Java
- The Chain of Responsibility Pattern
- Concurrency Patterns
- The Visitor Pattern
- AntiPatterns
Course Information
- Instructor: Bob Tarr
- Office: ITE 311
- Phone: (410)455-2837
- Email: tarr@umbc.edu
- Office Hours:
- Monday/Wednesday : 6:30-7:00 PM and after class
- Grading:
- Mid-Term 30 %
- Final 30 %
- Projects 40 %
- Course Home Page: http://www.research.umbc.edu/~tarr/dp/spr05/cs446.html
- Makeup Policy For Tests: No makeups unless medical (or religious)
circumstances so warrant.
- Late Policy For Projects: No projects accepted after the final due date.
NO EXCEPTIONS!!!
- Academic Integrity: All work in this class must be your own work.
NO COPYING OR PLAGIARISM IS ALLOWED . If such is detected, no credit
for the exam or project will be given and appropriate actions for
academic dishonesty will be taken.
Texts
- Required:
- Design Patterns - Elements Of Reusable Object-Oriented Software, Gamma, et. al., Addison-Wesley, 1995
- Recommended:
- Head First Design Patterns, Eric Freeman and Elisabeth Freeman , O'Reilly, 2004
- Applied Java Patterns, Stephen Stelting and Olav Maassen, Prentice Hall, 2002
- Java Design Patterns - A Tutorial, James W. Cooper, Addison-Wesley, 2000