Software Engineering Department

Class Schedule | Syllabus | Learning Outcomes

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.
  • Project Time
  • Consensus Domain Model Discussion
  • Knowns & Unknowns Discussion
23  
  • Project Time
25  
  • Team Design Presentations
Design Project R1: Implementation
30  
  • Project Time
October
2  
  • Project Time
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
  • Knowns & Unknowns (discussion)
  • Consensus Domain Model (discussion)
  • Project Time
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.
  • Project Time
November
4  
  • Team Design presentations
Practice Final (introduce)
Design Project R2: Implementation
6  
  • Project Time
11
13
18
 
  • Team Presentations & Demos
Refactoring Project
20
25
27 THANSGIVING BREAK (No Class)
December
2
  • Project Time
4
  • Team Presentations
Practice Final Due
9 READING DAY
11 SECTION 01 FINAL (Basham)
15 SECTION 02 FINAL (St. Jacques)

Resources

The following are some resources for information about patterns: