Date | Topic | Description | Activities | |
---|---|---|---|---|
January | ||||
Introduction to Software Design | ||||
14 |
Course Overview Syllabus Learning Outcomes |
Introduction to the course. |
Course Overview Quiz (MyCourses) UML Review Quiz (MyCourses) Design Project R1
|
|
16 |
UML Class Diagrams Sequence Diagrams |
A review of UML class and sequence diagrams. |
UML Review Activity UML Sequence Diagram Activity |
|
21 |
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 |
|
23 |
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 | ||||
28 |
Strategy Command Composite State Decorator Visitor |
Mini-Design Presentations. Teams form to collaborate on the design for Design Project R1. |
||
30 | ||||
February | ||||
Design Project R1: Consensus Design | ||||
4 | 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) | |
6 | <Teams discuss their Consensus Domain Model and Knowns & Unknowns with their instructor. |
|
||
11 |
|
|||
13 | ||||
18 |
|
|||
Design Project R1: Implementation | ||||
20 |
|
|||
25 | ||||
27 |
|
|||
March | ||||
Design Project R2: Mini-Designs | ||||
4 |
Singleton Adapter Mediator Proxy Abstract Factory Memento |
Mini-Design Presentations. Design Project teams begin the R2 design phase. |
||
6 | ||||
11 |
Spring Break No Class |
|||
13 | ||||
Design Project R2: Consensus Design | ||||
18 |
|
|||
20 | 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) |
|
25 |
Anti-Patterns |
A discussion of commonly found patterns in software design that typically have a negative impact on the overall design. |
|
|
27 | Refactoring | An overview of formal refactoring. |
|
|
April | ||||
1 |
|
|||
Design Project R2: Implementation | ||||
3 |
|
|||
8 | ||||
10 |
|
|||
Refactoring Project | ||||
15 | ||||
17 |
|
|||
22 |
|
|||
24 |
|
The following are some resources for information about patterns: