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 03 + Lab Section 05

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
No class
Jan 14
Jan 15
Due to registrar scheduling that gives different numbers of class meetings to different sections, Lab 3 will be completed asynchronously (on students' own time). TAs will hold extra office hours for troubleshooting and co-working as needed.
3
Jan 19
Martin Luther King Jr. Day
No Class
Jan 20
No class
Jan 21
Jan 22
4
Jan 26
Jan 27
No class
Jan 28
Jan 29
5
Feb 2
Feb 3
No class
Feb 4
Feb 5
6
Feb 9
Feb 10
No class
Feb 11
Feb 12
7
Feb 16
Presidents' Day
No Class
Feb 17
No class
Feb 18
Feb 19
8
Feb 23
RELEASED: Team Forming
Feb 24
No class
Feb 25
Feb 26
9
Mar 2
Spring Break
No Class
Mar 3
No class
Mar 4
Spring Break
No Class
Mar 5
Spring Break
No Class
10
Mar 9
Mar 10
No class
Mar 11
Mar 12
11
Mar 16
Mar 17
No class
Mar 18
Mar 19
12
Mar 23
Mar 24
No class
Mar 25
Mar 26
13
Mar 30
Mar 31
No class
Apr 1
Apr 2
14
Apr 6
Apr 7
No class
Apr 8
Apr 9
15
Apr 13
Apr 14
No class
Apr 15
Apr 16
16
Apr 20
Patriots' Day (Boston)
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 0: Design SprinthomeworkMar 23, 2026Mar 26, 2026 23:5960
Group Project: Checkpoint 1 (Core Features)homeworkMar 23, 2026Apr 9, 2026 23:5970
Group Project: Checkpoint 2 (Feature Buffet)homeworkMar 23, 2026Apr 16, 2026 23:5970
Group Project: Final SubmissionhomeworkMar 23, 2026Apr 20, 2026 23:5970