Appearance
Schedule β
Lectures are Tuesday and Thursday on the dates listed below. Slides are posted before each lecture, linked from the lecture title. Readings live on the unit pages, linked from the Unit column.
Lab blocks run Friday to Thursday, starting Friday September 11 (week 1). Each assignment is due at the start of your next lab, which is one week later for every section. The full lab policy is in the Syllabus.
π At a glance β
| Due | Date | What |
|---|---|---|
| D1 | Fri 25 Sep, 18:00 | Drop in a feature (solo) |
| D2 | Fri 16 Oct, 18:00 | Make it testable (solo) |
| Midterm | Thu 29 Oct, 19:00β21:00 | In person, paper. Covers through Thu 22 Oct |
| Pairs form | During the Oct 16β22 lab | Register with your TA, same lab section |
| D3 | Fri 6 Nov, 18:00 | Design v3 (pairs) |
| D4 | Fri 27 Nov, 18:00 | Build it (pairs) |
| Final | Scheduled by the university | 2.5 hours, cumulative |
ποΈ Week by week β
Dates and topics subject to change!
| Wk | Dates | Unit | Lectures | Lab | Due |
|---|---|---|---|---|---|
| 1 | Sep 8, 10 | Unit 1 | (no Tuesday class) Β· Introduction | Lab 1 β Onboarding (Sep 11β17) | β |
| 2 | Sep 15, 17 | Measuring a change Β· Cohesion & connascence | Lab 2 β cohesion & connascence (Sep 18β24) | β | |
| 3 | Sep 22, 24 | Refactoring as a discipline Β· Polymorphism & LSP | Lab 3 β refactoring & LSP (Sep 25βOct 1) β Wed Sep 30 | D1 Fri Sep 25 | |
| 4 | Sep 29, Oct 1 | What makes code testable Β· Test Doubles & dependency inversion | Lab 4 β testability & seams (Oct 2β8) | β | |
| 5 | Oct 6, 8 | Unit 2 | Patterns: Adapter & Composite Β· Patterns: Factory & Decorator | Lab 5 β design patterns (Oct 9β15) β Mon Oct 12 | β |
| 6 | Oct 13, 15 | API Change severity & versioning Β· API design | Lab 6 β API design & evolution & code review (Oct 16β22) | D2 Fri Oct 16 | |
| 7 | Oct 20, 22 | The testing pyramid Β· Layered architecture | Lab 7 β layers, test strategy (Oct 23β29) | β | |
| 8 | Oct 27, 29 | β | Module 1 & 2 synthesis & midterm review Β· (no Thursday class) | Project time β team check-in (Oct 30βNov 5) | Midterm Thu Oct 29 |
| 9 | Nov 3, 5 | Unit 3 | Where requirements come from Β· Ethics & IP | No lab β fall break (Nov 9β11) | D3 Fri Nov 6 |
| 10 | Nov 10, 12 | (no Tuesday class) Β· Information security | Lab 8 β requirements & constraints (Nov 13β19) | β | |
| 11 | Nov 17, 19 | Specification & modeling Β· Specification is Right | Lab 9 β specification (Nov 20β26) | β | |
| 12 | Nov 24, 26 | Unit 4 | Continuous integration Β· How teams coordinate | Lab 10 β process & metrics (Nov 27βDec 3) | D4 Fri Nov 27 |
| 13 | Dec 1, 3 | Process metrics Β· GenAI & where the cost moves | β | β |
β Labs are cancelled on Wednesday September 30th and Monday October 12th. You may attend any other lab section if your section is cancelled. Lab assignments are still due by your next regularly scheduled lab.