Welcome to CPS 390-03 Spring 2026! To get started, click on the Resources tab and have a look around there.
No Panopto this semester! Our classroom is not equipped for automatic capture.
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.