# Syllabus (Winter 2025 Term 2)

2026-10-08 · https://fsgeek.ca/teaching/cpsc-416-winter-2025-term-2/syllabus/

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](/teaching/cpsc-416-winter-2025-term-2/assessment-and-evidence/) and [Using GenAI in this course without Goodharting it](/teaching/cpsc-416-winter-2025-term-2/genai-without-goodharting/).



## Readings and lecture spine

  * **Readings mapping:** [Readings](/teaching/cpsc-416-winter-2025-term-2/readings/)
  * **Lecture spine:** [Lecture spine (draft)](/teaching/cpsc-416-winter-2025-term-2/lecture-spine/)



**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)](https://techserv.library.ubc.ca/2020/10/13/oreilly-for-higher-education-safari-new-log-in/). See [Readings](/teaching/cpsc-416-winter-2025-term-2/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.

  * [TLA+ / PlusCal track (lightweight)](/teaching/cpsc-416-winter-2025-term-2/tla-pluscal-track/)
