Skip to content

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 ​

DueDateWhat
D1Fri 25 Sep, 18:00Drop in a feature (solo)
D2Fri 16 Oct, 18:00Make it evolvable (solo)
MidtermThu 29 Oct, 19:00–21:00In person, paper. Covers through Thu 22 Oct
Pairs formDuring the Oct 16–22 labRegister with your TA, same lab section
D3Fri 6 Nov, 18:00Design v3 (pairs)
D4Fri 27 Nov, 18:00Build it (pairs)
FinalFri 18 Dec, 12:002.5 hours, cumulative

πŸ—“οΈ Week by week ​

Dates and topics subject to change!

WkDatesReadingsLecturesLabDue
1Sep 8, 10Unit 1 Β· Introduction(no Tuesday class) Β· IntroductionLab 1 β€” Onboarding (Sep 11–17)β€”
2Sep 15, 17Cost of Change Β· Change Difficulty Β· Design PrinciplesCoupling Β· CohesionLab 2 β€” coupling & cohesion (Sep 18–24)β€”
3Sep 22, 24Refactoring Β· TestabilityRefactoring Β· TestabilityLab 3 β€” refactoring & testability (Sep 25–Oct 1) ⚠ Wed Sep 30D1 Fri Sep 25
4Sep 29, Oct 1Testability Β· Design PrinciplesTest Doubles, DIP & LSP Β· Test RobustnessLab 4 β€” testability, dip, lsp (Oct 2–8)β€”
5Oct 6, 8Unit 2 Β· Design PatternsPatterns: Intro & Adapter Β· Patterns: Composite & DecoratorLab 5 β€” design patterns (Oct 9–15) ⚠ Mon Oct 12β€”
6Oct 13, 15Design Patterns Β· BoundariesPatterns: State Β· BoundariesLab 6 β€” Code Analysis & Boundaries (Oct 16–22)D2 Fri Oct 16
7Oct 20, 22API Design Β· Versioning Β· RESTAPI Design & Evolution Β· REST API DesignLab 7 β€” Check-in #1 api design & versioning, practice midterm (Oct 23–29)β€”
8Oct 27, 29β€”Midterm review Β· (no Thursday class)Check-in #2 & Project time (Oct 30–Nov 5)Midterm Thu Oct 29
9Nov 3, 5API Design Β· RESTREST API Design (Cont.) Β· Modelling & SpecificationNo lab β€” fall break (Nov 9–11)D3 Fri Nov 6
10Nov 10, 12(no Tuesday class) Β· Modelling: ScenariosLab 8 β€” Check-in #3, requirements & constraints (Nov 13–19)β€”
11Nov 17, 19Modeling Β· ArchitectureLab 9 β€” Check-in #4, specification (Nov 20–26)β€”
12Nov 24, 26Unit 4Security I Β· Security IILab 10 β€” process & metrics (Nov 27–Dec 3)D4 Fri Nov 27
13Dec 1, 3Process & Ethics Β· AI in SE & Final Reviewβ€”β€”

⚠ 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.

Course reader licensed under CC BY-SA 3.0.