Syllabus (Winter 2025 Term 2)
This syllabus is intentionally concise and is a living document. The course is organized around failure-first distributed systems design and evidence-bearing work (including required GenAI use with an evidence chain).
Logistics
- Meeting: Tue/Thu 11:30–13:00 (Pacific)
- Location: CEME 1202
- Discord: cpsc416-w25t2
- Teaching team: TA contact info and office hours
- Reading week: no meetings Tue/Thu 2026-02-17 and 2026-02-19
- Final week meetings: Tue/Thu 2026-04-07 and 2026-04-09 (low-risk reviews/demos)
Assessment
Assessment is designed to reward steady engagement and to heavily value capstone work.
- Completion Skills: 55% (completion-graded weekly work; includes DP1/DP2 design/peer review/implementation/reflection as completion items with formative feedback)
- Capstone: 45% (milestoned, evidence-bearing, de-risked by intermediate deliverables)
Due time conventions (Pacific)
- Weekly/self-assessment activities: due at start of the next class (11:30 PT)
- Major deliverables: due at 23:59 PT
Add/drop grace (first two weeks)
To accommodate late add/drop enrollments, items due before 2026-01-17 remain open until 2026-01-20 11:30 PT. Submissions may be marked “late” by Canvas, but they are not penalized within this window.
Self-assessments: availability
Self-assessments unlock at 13:00 PT (end of the lecture they relate to) and are due before the next lecture.
GenAI, evidence chain, and integrity
- GenAI use is required and must be disclosed.
- Evidence chain: signed git history + lightweight AI interaction log + protocol/testing/model evidence.
- Policy and expectations: Assessment & evidence chain and Using GenAI in this course without Goodharting it.
Readings and lecture spine
- Readings mapping: Readings
- Lecture spine: Lecture spine (draft)
Textbooks: the two core books are O’Reilly titles and are available electronically to UBC students at no additional charge (via the UBC Library’s O’Reilly platform): UBC Library — O’Reilly for Higher Education (log in). See Readings for the chapter mapping.
Formal modeling (lightweight)
We use TLA+ (and optionally PlusCal) as a tool to reason about failure-first properties and to produce concrete counterexamples when a design is wrong.