| Date | Topic | Description | Activities |
|---|---|---|---|
| August | |||
| Introduction to Software Design | |||
| 26 |
Course Overview Syllabus Learning Outcomes |
Introduction to the course. |
Course Overview Quiz (MyCourses) UML Review Quiz (MyCourses) Design Project R1
|
| 28 |
UML Class Diagrams Sequence Diagrams |
A review of UML class and sequence diagrams. |
UML Review Activity UML Sequence Diagram Activity |
| September | |||
| 2 |
Design Principles Noun/Verb Analysis & Domain Models |
A review (mostly) SOLID and GRASP design principles. A review of domain modeling and formal noun/verb analysis. |
Design Principles Quiz (MyCourses) Design Principles Activity |
| 4 |
Anatomy of a Pattern Observer Observer Mini Design Doc Observer Mni Design Presentation |
An introduction to Gang-of-Four Design Patterns. | Observer Exercise (MyCourses Quiz) |
| Design Project R1: Mini-Designs | |||
| 9 |
Strategy Command Composite State Decorator Visitor |
Mini-Design Presentations. Teams form to collaborate on the design for Design Project R1. |
|
| 11 | |||
| Design Project R1: Consensus Design | |||
| 16 | Midterm Exam 1 | The first midterm exam 1 covering design topics (class diagrams, sequence diagrams, domain models, design principles) and the R1 Design Patterns. | Midterm Exam 1 (MyCourses Quiz) |
| 18 | Teams discuss their Consensus Domain Model and Knowns & Unknowns with their instructor. |
|
|
| 23 |
|
||
| 25 |
|
||
| Design Project R1: Implementation | |||
| 30 |
|
||
| October | |||
| 2 |
|
||
| 7 | |||
| 9 |
|
||
| 14 | OCTOBER BREAK (No Class) | ||
| Design Project R2: Mini-Designs | |||
| 16 |
Singleton Adapter Mediator Proxy Abstract Factory Memento |
Mini-Design Presentations. Design Project teams begin the R2 design phase. |
|
| 21 | |||
| 23 | Midterm Exam 2 | The second midterm exam covering design topics (class diagrams, sequence diagrams, domain models, design principles) and the R2 design patterns. |
Midterm Exam 2 (MyCourses Quiz) |
| Design Project R2: Consensus Design | |||
| 28 |
|
||
| 30 |
Anti-Patterns Refactoring |
A discussion of commonly found patterns in software design that typically have a negative impact on the overall design. An overview of formal refactoring. |
|
| November | |||
| 4 |
|
||
| Design Project R2: Implementation | |||
| 6 |
|
||
| 11 | |||
| 13 | |||
| 18 |
|
|
|
| Refactoring Project | |||
| 20 | |||
| 25 |
|
||
| 27 | THANSGIVING BREAK (No Class) | ||
| December | |||
| 2 |
|
||
| 4 |
|
||
| 9 | READING DAY | ||
| 11 | SECTION 01 FINAL (Basham) | ||
| 15 | SECTION 02 FINAL (St. Jacques) | ||
The following are some resources for information about patterns: