Class Schedule - (Martinez) 2251 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, 26 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/28) Start of Class]
Session 2
THU, 28 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/2) Start of Class]
* * Reminder- NO CLASSES Monday, Sept 2nd observance of Labor Day -
WEEK 2 - Session 3
TUE, 2 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/4) End of Day]
Session 4
THR, 4 Sep
The Observer pattern (introduction) Javadoc Observer (Interface)
Javadoc Observable (Class)


Activity #3b - The New Functionality
[Due Thr (9/11) Start of Class]

WEEK 3 - Session 5
TUE, 9 Sep
Design documents: What, Why, How

Design notation: UML

UML Introduction

Team Preferences
[Due FRIDAY noon (9/12)]

Activity #4 - UML
[Due
Session 6
THR, 11 Sep
Class Diagrams & Object Diagrams Static Modeling
WEEK 4 - Session 7
TUE, 16 Sep
Sequence Diagrams Dynamic Modeling Teams Formed

Session 8
THR, 18 Sep
Any UML issues?

Version Control Systems

Version Control Systems

.Git

.GitHub
Activity #5 Team REPO (Everyone has Github ready)
[Due Tue (9/23) *=>Midnight - We will Start during Class -
WEEK 5 - Session 9
TUE, 23 Sep

Version Control Systems (continued)



(Creational) Factory Pattern (intro)=>

+Object Creation Concepts=>

Trello Guidance
- Only one Board per Team
Session 10
THR, 25 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/2) Midnight]
WEEK 6 - Session 11
TUE, 30 Sept
Adapter pattern


Yet another sensor...


DIP and Adapters


Activity #7 - Composite Pattern (Individual)
.[Due Thurs (10/16) Start of Class]

Team Time

(Look ahead) Exam coming up soon
Session 12
THR, 2 Oct


Open-close principle

Project phase #1 released



Teaming pulse check and Open-Close Principle


Refcardz
Exam #1 (50 minutes)
next Thursday (10/9)

Study Guide
Session 13
TUES, 7 Oct
Visitor

CRC Cards



Requirements Analysis - Nouns & Verbs
(MULTI-PLAYER example)


Activity #8 - Nouns/Verbs (Team)
[Due Thurs (10/16) - Start of Class (in REPO)]


Team Time
Session 14
Thur, 9 Oct
Exam #1 (50 minutes)
Study Guide





Design Sketch (in REPO)
[Due Thurs (10/16):
progress before class, final version Midnight]


Team Time: Design discussion
WEEK 8 -

NO TUES
14 Oct
* * Reminder-NO CLASSES MON+(TUE) Oct 14 and (15) - in observance of FALL BREAK -
Session 15
Thur, 16 Oct
Reminder: Activity #7 - before class .



+Object hierarchies - the Composite pattern intro ==>
Design Sketch (team progress in REPO before class)
[Due TODAY THR (10/16) @ 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/23) Midnight]


Design - Pulse Check

WEEK 9 - Session 16
Tues, 21 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/23) due by Midnight

Covering the Landfill - the Façade pattern


Façade ..>

Skeleton Java
[Due Thurs (10/30) Midnight]
*However, all team members progress in repo BEFORE NEXT class
WEEK 10 - Session 18
Tues, 28 Oct
Skeleton Java (team progress in REPO before class)


Delivery is Near: Team Time

Implementation - Pulse Check

Phase 1
[Due - Tues (11/4) Start of Class]
Session 19
Thurs, 30 Oct
Skeleton Java
[Due TODAY Thr (10/30) Midnight]

Protecting & Hiding Objects - The Proxy Pattern


Proxy

Team Time

WEEK 11 - Session 20
Tues, 4 Nov
Phase 1: Submission and TEAM PRESENTATIONS!
[All Due TODAY - Tues (11/4) Start of Class]

Looking ahead:
Project phase #2
(TBD)





Session 21
Thurs, 6 Nov
Phase 1: TEAM PRESENTATIONS [continued] Self and Peer Evaluation Survey
[Due - FRI (11/7) NOON]

Exam #2 (50 minutes)
next THR (11/13)

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

Team Time

WEEK 12 - Session 22
Tues, 11 Nov
Do As I Say! - The Command Pattern

Command

Team Time

Initial R2 Design Doc in REPO
[Due Tue 11/18 - Midnight]
Session 23
Thur, 13 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/20 (End of Day)]

Team Time
WEEK 13 - Session 24
Tues, 18 Nov
Antipatterns SourceMaking Antipatterns

Huston Design Patterns

Phase 2 coming up soon, plan AHEAD!
(soft goal a week from today, Nov 25th)
Session 25
Thur, 20 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/2 (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, 25 Nov
Team Pulse check
(Final release plan)

Prep for Final Exam
Final Exam
<..Study Guide (pseudo-all inclusive)



Team Time
(Trello blitz and Standups)

NO THURS
27 Nov
* * Reminder- NO CLASSES WED-(THR)-FRI Nov 27,(28),29 - in observance of THANKSGIVING BREAK -
WEEK 15 - Session 27
TUE, 2 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/5) NOON]
Session 28
THR, Dec 4


Phase 2: TEAM PRESENTATIONS!

Getting ready for the Final
Final Exam Date/Time: THURSDAY 12/11/2025 from 1:30pm - 4:00pm

Golisano Hall (GOL)-1650

* Always check SIS for latest updates and notify Instructor of any Conflicts