Welcome to CPS 390-03 Spring 2026! To get started, click on the Resources tab and have a look around there.

Announcements

No Panopto this semester! Our classroom is not equipped for automatic capture.

Course Overview

CPS 390 is an Undergraduate Special Topics in Computer Science course. This offering 390.03 is a general introduction to distributed systems. with supporting elements from networking, operating systems, and cryptosystems. Labs apply the Communicating Sequential Processes (CSP) model for distributed and concurrent systems using Go, a programming language developed at Google for their networked systems infrastructure. We cover core topics in the area with examples drawn from real-world platforms for cloud computing, Internet/Web, and the software supply chain. Networked services: transport streams, request/response messaging, cloud instances, elastic scaling. Secure naming and identity: domain names, identity services, authentication, and certified trust. Reliable data at scale: sharding and replication, snapshots, updates and version histories, consistency, coordination, recovery, and consensus. As time allows we draw out connections to cyber-policy topics such as cryptocurrency and cyberwar.

Course Information

Instructors: Jeff Chase
Location: Social Sciences 136
Time: WF 3:05 pm - 4:20 pm
Graduate TAs: Shujun Qi
U/TAs: TBD
Office Hours:
Jeff Chase - After class or by appointment
Shujun Qi - TBD
(See Ed for other office hours)
Resources: Canvas, Gradescope, Ed, GitLab, Slides, Go-samples

Grading

50% Exams
M1 (25%), M2 (25%)
25% Labs
Some programming in Go"
15% Group Project
Your ideas here
10% Checkouts
Weekly survey/quiz