Week | Topics | Slides/Resources | Activities/Deliverables | ||
---|---|---|---|---|---|
WEEK 1 - Session 1 TUE, 27 Aug |
Introduction and Course Overview. What is design? Why should we care? Functional & Non-Functional Requirements Design for reusability & modifiability. |
Design & Cost of Change | Introduction to the WeatherStation (WS)
Activity #1 - Add WS Functionality [Due: Thu (8/29) Start of Class] |
||
Session 2 THU, 29 Aug |
Discussion of Activity #1 | AWTUI (DRY Principle) |
Adding new Weather Station user interface(s)
AWT and Swing
Activity #2 - Create AWT and Swing UI versions [Due Tue (9/3) Start of Class] |
||
* * Reminder- NO CLASSES Monday, Sept 2nd observance of Labor Day -
|
|||||
WEEK 2 - Session 3 TUE, 3 Sept |
Discussion of Activity #2 Adding new Weather Station functionality Design Principles & Design Patterns Refactoring |
Software Design Glossary - Intro
Glossary Supplemental |
Observer pattern and our design problem - add a barometer.
Activity #3a - Refactoring [Due Thu (9/5) End of Day] |
||
Session 4 THR, 5 Sep |
The Observer pattern (introduction) |
Javadoc Observer (Interface)
Javadoc Observable (Class) |
Activity #3b - The New Functionality [Due Thr (9/12) Start of Class] |
||
WEEK 3 - Session 5 TUE, 10 Sep |
Design documents: What, Why, How
Design notation: UML |
UML Introduction |
Team Preferences
[Due FRIDAY noon (9/13)] Activity #4 - UML [Due Thr (9/19) Midnight] |
||
Session 6 THR, 12 Sep |
Class Diagrams & Object Diagrams | Static Modeling | |||
WEEK 4 - Session 7 TUE, 17 Sep |
Sequence Diagrams | Dynamic Modeling |
Teams Formed
|
||
Session 8 THR, 19 Sep |
Any UML issues?
Version Control Systems |
Version Control Systems
.Git .GitHub |
Activity #5 Team REPO (Everyone has Github ready)
[Due Tue (9/24) *=>Midnight - We will Start during Class - |
||
WEEK 5
- Session 9 TUE, 24 Sep |
Version Control Systems (continued) |
+Object Creation Concepts=>
|
Trello Guidance
- Only one Board per Team |
||
Session 10 THR, 26 Sep |
Dependency Inversion Principle
(Creational) Factory Pattern (continue) Dependency injection pattern |
+Creational Patterns and Concepts=> |
Team Setup: Github, Google Drive, Non-functional requirements
*Time permits: New sensors for the weather station. Design problems with different sensors. Activity #6 - Team design upgrade (Team) (Look ahead: read individually) .[Due Thr (10/3) Midnight] |
||
WEEK 6 - Session 11 TUE, 1 Oct |
Adapter pattern Yet another sensor... |
DIP and Adapters |
Activity #7 - Composite Pattern (Individual) .[Due Thurs (10/17) Start of Class] Team Time (Look ahead) Exam coming up soon |
||
Session 12 THR, 3 Oct |
Open-close principle Project phase #1 released |
Teaming pulse check and Open-Close Principle Refcardz |
Exam #1 (50 minutes) next Thursday (10/10) Study Guide |
||
Session 13 TUES, 8 Oct |
Visitor |
CRC Cards Requirements Analysis - Nouns & Verbs (MULTI-PLAYER example) |
Activity #8 - Nouns/Verbs (Team) [Due Thurs (10/17) - Start of Class (in REPO)] Team Time |
||
Session 14 Thur, 10 Oct |
Exam #1 (50 minutes) Study Guide |
|
Design Sketch (in REPO) [Due Thurs (10/17): progress before class, final version Midnight] Team Time: Design discussion |
||
WEEK 8 - NO TUES 15 Oct |
* * Reminder-NO CLASSES MON+(TUE) Oct 14 and (15) - in observance of FALL BREAK - |
||||
Session 15 Thur, 17 Oct |
Reminder: Activity #7 - before class
. +Object hierarchies - the Composite pattern intro ==> Design Sketch (team progress in REPO before class) [Due TODAY THR (10/17) @ Midnight] *Separation of Concerns - the MVC patterns Class-Responsibility-Collaborator MVC - Thermometer Reference solution Keeping Things in Sync - the Mediator pattern |
Composite Pattern CRC *Model-View-Controller *Sample Implementations |
* From now on, unless noted ALL project deliverables must be acknowledged in myCourses (via done.txt) and submitted into team REPO Initial Design Doc |
||
WEEK 9
- Session 16 Tues, 22 Oct |
Initial Design Doc in REPO [progress before class] Who should I talk to? Why? |
Mediator
Sample Mediator Impl Video |
Team Time | ||
Session 17 Thurs, 24 Oct |
Initial Design Doc in REPO [Due TODAY Thr (10/24) due by Midnight Covering the Landfill - the Façade pattern |
Façade ..> |
Skeleton Java
[Due Thurs (10/31) Midnight] *However, all team members progress in repo BEFORE NEXT class |
||
WEEK 10 - Session 18 Tues, 29 Oct |
Skeleton Java
(team progress in REPO before class) |
Delivery is Near: Team Time
Implementation - Pulse Check Phase 1 [Due - Tues (11/5) Start of Class] |
|||
Session 19 Thurs, 31 Oct |
Skeleton Java [Due TODAY Thr (10/31) Midnight] Protecting & Hiding Objects - The Proxy Pattern |
Proxy |
Team Time |
||
WEEK 11
- Session 20 Tues, 5 Nov |
Phase 1: Submission and TEAM PRESENTATIONS!
[All Due TODAY - Tues (11/5) Start of Class] Looking ahead: Project phase #2 released |
|
|||
Session 21 Thurs, 7 Nov |
Phase 1: TEAM PRESENTATIONS [continued] |
Self and Peer Evaluation Survey [Due - FRI (11/8) NOON] Exam #2 (50 minutes) Team Time |
|||
WEEK 12 - Session 22 Tues, 12 Nov |
Do As I Say! - The Command Pattern |
Command |
Team Time
Initial R2 Design Doc in REPO [Due Tue 11/19 - Midnight] |
||
Session 23 Thur, 14 Nov |
Exam #2 (50 minutes)
Study Guide |
Phase 2 milestones are Team Driven However: Design Doc ==> updates and transition to FDA/AMA template Skeleton Java [Due Thr 11/21 (End of Day)] Team Time |
|||
WEEK 13 - Session 24 Tues, 19 Nov |
Antipatterns |
SourceMaking Antipatterns
Huston Design Patterns |
Phase 2 coming up soon, plan AHEAD! (soft goal a week from today, Nov 26th) |
||
Session 25 Thur, 21 Nov |
Web Services Intro (Proxy Pattern) Service Oriented Programming/Architecture |
RESTful Web Services Tutorial in IntelliJ VS Code: REST Client Plugin Many others on the web, search for a RESTful Web Services Tutorial and share on Slack channel |
Phase 2 - Final Release & Presentations
[Due TUE AFTER break 12/3 (before class)] * This is right after Thanksgiving plan AHEAD! (goal is to have most done by next class) Team Time |
||
WEEK 14 - Session 26 Tue, 26 Nov |
Team Pulse check (Final release plan) Prep for Final Exam |
Final Exam (pseudo-all inclusive) Study Guide Team Time (Trello blitz and Standups) |
|||
NO THURS 28 Nov |
* * Reminder- NO CLASSES WED-(THR)-FRI Nov 27,(28),29 - in observance of THANKSGIVING BREAK - |
||||
WEEK 15
- Session 27 TUE, 3 Dec |
Phase 2: Submission and TEAM PRESENTATIONS! [All Due TODAY - TUE (=>12/3) Start of Class] |
Self and Peer Evaluation (myCourses) + Qualtrics Survey [Due - FRI (12/6) NOON] |
|||
Session 28 THR, Dec 5 |
Phase 2: TEAM PRESENTATIONS! Getting ready for the Final |
||||
Final Exam |
Date/Time: TUESDAY 12/17/2024 from 10:45am - 1:15pm
Golisano Hall (GOL)-1650 * Always check SIS for latest updates and notify Instructor of any Conflicts |