CSE 223B, Spring 2014: Distributed Computing and Systems

Latest Announcements

4/16: New room
We have moved to a new room, EBU3B 2154, in order to better accomodate demand. Class will no longer be held in WLH2209.
3/31: Learn Go
This year's lab assignments will 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
He (Lonnie) Liu EBU3b B240A N/A Mon 10am-Noon


Alex C. Snoeren EBU3b 3114 822-2289 Tue 1:00 - 2:00pm

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. You are expected to be aware of UCSD's academic honesty guidelines. Any violation of the course or institute policies will be treated very seriously, and could lead to severe repercussions, up to, and including, expulsion. Don't cheat. It's not worth it.

Last updated: Wed Apr 16 18:27:23 -0700 2014 [validate xhtml]