Skip to main content

CS 3100: Program Design and Implementation II

Spring 2026 | 2025-2026

Duration: Jan 7, 2026 - Apr 20, 2026

Course Schedule

Loosely, the course is organized as follows:
  • Module 1 (weeks 1 - 4): Design in the small — Java fundamentals, design principles, changeability
  • Module 2 (weeks 5 - 10): Design in the large — testing, teams, architecture, distributed systems
  • Module 3 (weeks 11 - 15): Design for users — UCD, accessibility, GUIs, concurrency
Modules 1 and 2 are each followed by an exam, and Module 3 is followed by a cumulative final exam.

Section 01 + Lab Section 01

WeekMonTueWedThu
Due to registrar scheduling that gives different numbers of class meetings to different sections, Lab 1 lab will be completed asynchronously (on students' own time). TAs will organize workshops for troubleshooting and co-working as needed.
1
No class
No class
Jan 7
Jan 8
2
Jan 12
Jan 13
Jan 14
Jan 15
3
Jan 19
Martin Luther King Jr. Day
No Class
Jan 20
Jan 21
Jan 22
4
Jan 26
Jan 27
Jan 28
Jan 29
5
Feb 2
Feb 3
Feb 4
Feb 5
6
Feb 9
Feb 10
Feb 11
Feb 12
7
Feb 16
Presidents' Day
No Class
Feb 17
Feb 18
Feb 19
8
Feb 23
RELEASED: Team Forming
Feb 24
Feb 25
Feb 26
9
Mar 2
Spring Break
No Class
Mar 3
Spring Break
No Class
Mar 4
Spring Break
No Class
Mar 5
Spring Break
No Class
10
Mar 9
Mar 10
Mar 11
Mar 12
11
Mar 16
Mar 17
Mar 18
Mar 19
12
Mar 23
Mar 24
Mar 25
Mar 26
13
Mar 30
Mar 31
Apr 1
Apr 2
14
Apr 6
Apr 7
Apr 8
Apr 9
15
Apr 13
Apr 14
Apr 15
Apr 16
16
Apr 20
Patriots' Day
No Class
No class
No class
No class

Assignments

AssignmentTypeAssignedDuePoints
Assignment 1: Recipe Domain ModelhomeworkJan 8, 2026Jan 15, 2026 23:5940
Assignment 2: Unit Conversion, Recipe and Instruction ClasseshomeworkJan 20, 2026Jan 29, 2026 23:5960
Assignment 3: JSON Serialization LayerhomeworkFeb 5, 2026Feb 12, 2026 23:5960
Team ForminghomeworkFeb 23, 2026Feb 26, 2026 23:59-
Assignment 4: Cookbook and Library Model, Comprehensive Test SuitehomeworkFeb 17, 2026Feb 26, 2026 23:5970
Assignment 5: Service Layer Architecture, CLI InterfacehomeworkMar 9, 2026Mar 19, 2026 23:5970
Group Assignment 1: GUIhomeworkMar 23, 2026Apr 2, 2026 23:5960
Group Assignment 2: OCR Service IntegrationhomeworkApr 2, 2026Apr 9, 2026 23:5970
Group Assignment 3: Final Integration and PolishhomeworkApr 9, 2026Apr 16, 2026 23:5970