This course introduces students to the design
of small subsystems, typically comprising 5-15 classes, which in turn are used
as parts of larger software systems. A key focus of the course is on the
identification and application of appropriate design patterns in the context of
the overall subsystem goals. In addition, students are introduced to principles
and techniques for assessing design quality and for making informed tradeoffs
among competing design goals.
Week |
Session |
|
Topic |
|
1 |
1st |
GOF
Chap. 1 and 2; |
Unit
1 Course Overview; Design Process; Two Design Principles; Design Problem |
|
2nd |
|
Unit
1 Design problem discussions (Individual
design due at start of class) |
|
|
2 |
1st |
GOF
sections for unit patterns |
Unit
2 overview: Command, Composite, Facade, Iterator, Observer, Proxy, State, |
|
2nd |
|
Unit
2; UML Review |
|
|
3 |
1st |
|
|
|
2nd |
|
Unit
2; Questions completed (Due
at 11:59pm, on your class day) |
|
|
4 |
1st |
|
|
|
2nd |
|
Unit
2 Designs/implementations presented (Due
at 11:59pm, on your class day) |
|
|
5 |
1st |
GOF
sections for unit patterns |
«Unit 2 Quiz» |
|
2nd |
|
Unit
3; Unit planning, Unit 3 impacts |
|
|
6 |
1st |
|
Unit
3; MVC exercise |
|
2nd |
|
Unit
3; Anti-patterns |
|
|
7 |
1st |
|
Unit
3; State vs
Strategy exercise |
|
2nd |
|
Unit
3 Designs/implementations presented (Due
at 11:59pm, on your class day) |
|
|
8 |
1st |
GOF
sections for unit patterns |
Unit 4 overview: Abstract Factory, Chain of Responsibility, Decorator,
Factory Method, Flyweight, Singleton, Visitor; |
|
2nd |
|
«Unit 3 Quiz» |
|
|
9 29 Apr |
1st |
|
Unit
4; Initial refactoring
issues |
|
2nd |
|
Unit
4; Decorator exercise |
|
|
10 |
1st |
|
Unit
4 |
|
2nd |
|
Unit
4 Designs/implementations presented (Due
at 11:59pm, on your class day) |
|
|
Finals |
|
|
Final
Exam (Unit 4 material plus Subsystem designs) |
|
Component |
Percentage |
Mid-Term
Design |
10 |
Final
Exam |
20 |
Unit
1 design problem |
5 |
Unit
quizzes (2 * 5) |
10 |
Unit questions
(3 * 5) |
15 |
Unit
design/implementation |
30 |
Discussion
and class |
10 |
Discussion
Contributions |
Discussion
Points |
>=
75% of topics |
10 |
>=
50% but < 75% of topics |
8 |
>=
25% but < 50% of topics |
4 |
<
25% of topics |
0 |
The following are some resources for
information about patterns:
The primary
patterns location is at the University
of Illinois where Ralph Johnson teaches.
The Portland Pattern Repository holds patterns for a
variety of applications.
Brad
Appleton's Patterns Page contains many references to pattern collections,
as well as discussions on how patterns fit into various phases of the
development cycle.
The Design Patterns page by Vince Huston
contains a nice set of information about design patterns. It also includes the Periodic
Table of Design Patterns.
Design Pattern
Metaphors by Michael Mahemoff
SourceMaking –
resource for Design Patterns, Anti-Patterns, UML & Refactoring
$Id:
index.html 275 2011-03-28 13:39:54Z mjl $