CSE 223B, Spring 2017: Distributed Computing and Systems

Latest Announcements

3/29: Learn Go
This year's lab assignments will once again be completed in Go. Those of you not familiar with the Go programming language might want to get started learning it, perhaps by reviewing the tutorial.

See all announcements RSS 2.0 feed


CSE 223B is a 4-unit graduate subject with lectures, paper discussions, labs, a midterm, a final, and a term project. It will present abstractions and implementation techniques that facilitate the design of distributed systems--including both operating systems and sophisticated Internet servers--that can deal with the demands of real-world workloads. Topics will include efficient operating system primitives, high-performance network servers, load shedding, storage systems, security, and fault tolerance.

Prereqs: CSE 221 (or consent of instructor) and substantial programming experience for lab assignments and term project. Note that CSE 223A is not a prerequsite. However, those interested in the theoretical underpinnings of distributed computation are encouraged to take CSE223A as well. CSE223A and CSE223B may be taken in any order.

NB: This course will be a fair amount of work and is not for the faint of heart. It is expected that students signing up for this course are interested in understanding how to design and build research-grade distributed systems. Ideally, students completing the course will be well-prepared to begin research in distributed systems and Internet services. This course will not teach you how to program---you need to know that coming in. This course will teach you how to design and implement real distributed systems.

Course Staff

Teaching Assistant

NameEmailOfficeTelOffice Hours
Arjun Roy CSE 3109 N/A Tuesday 5-7PM


Alex C. Snoeren EBU3b 3114 822-2289 M 3-4pm or by appointment

Collaboration Policy

Some programming assignments must be completed individually, others may be completed in teams. The requirements will be explicitly stated for each assignment. For solo assignments, you must write all code that you submit, excepting any code that was provided to you as part of the assignment; for team assignments, the code must have been authored exclusively by members of your team. You may (and, in fact, are encouraged) to discuss the assignments with others, but you may not copy code from another team or make your code available to others. Of course, code may be freely shared within teams on team assignments.

Exams will be individual effort. Each student is responsible for knowing and abiding by UCSD’s academic integrity standards and Student Conduct policies. Any student violating university standards will earn an 'F' in the course and will be reported to the appropriate campus office. Committing acts that violate integrity or community standards are cause for suspension or dismissal from UCSD.

Last updated: 2017-04-22 20:34:18 -0700 [validate xhtml]