CSE 223B, Spring 2013: Distributed Computing and Systems

Latest Announcements

5/27: Class cancelled
There will be no class on Thursday, May 29th. Please use the time to focus on your term projects!
5/20: Project checkpoint
As a reminder, projeck checkpoints are due Thursday at the beginning of class. You can find more details regarding what to submit on the project webpage. We will schedule face-to-face meetings based on the contents of the checkpoint reports.

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 with C/C++ 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
Malveeka Tewari EBU3b B240A N/A Fri 10:00 - 12:00pm


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 and closed book. 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: Mon May 27 13:48:45 -0700 2013 [validate xhtml]