Class Schedule - 2241 FALL TUES and THUR

* Always check myCourses for latest updates and notify Instructor of any Conflicts
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)



(Creational) Factory Pattern (intro)=>

+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
[progress by next class,
but Due Thurs (10/24) Midnight]


Design - Pulse Check

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)
next THR (11/14)

(Mostly on what was covered since last exam)
Study Guide

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