Distributed Systems

Distributed Systems (W4995-2) -- Fall 2012

Location: 644 MUDD
Time: TR 11:40am-12:55pm
Credits: 3 units

TA: Yu Qiao (yq2145)
Office Hours: Thursdays 3-5pm
Address: TA room (MUDD 122A)

Instructor: Roxana Geambasu
Office Hours: Thursdays 1:30-2:30pm
Address: 461 CSB

Staff Mailing List: distributed-systems-class at lists.cs. This is the best way to reach us.
Discussions: through the CourseWorks forum

Course Overview

Distributed systems help programmers aggregate the resources of many networked computers to construct highly available and scalable services. This class teaches the abstractions, design and implementation techniques that enable the building of fast, scalable, fault-tolerant distributed systems. Topics include multithreading, network programming, consistency, fault tolerance, consensus, security, and several case studies of distributed systems.

Prerequisites

COMS W3137 Data Structures and Algorithms, COMS W3157 Advanced Programming (or good working knowledge of C and C++), and COMS W3827 Fundamentals of Computer Systems. W4118 Operating Systems 1 is not required, but a big plus for your success in this class' lab assignments.

The other requirement is that students be able to send and receive email, access courseworks.columbia.edu, access the class web page, and download and print pdf files from the class web page.

We highly recommend that you get a CS account ($50) for access to the CLIC machines because we will grade all your programming assignments on these machines.

Grading

The grading formula is:

Please see our policies regarding late turnins, re-grading assignments, and collaboration rules.

Textbooks and Resources

Required textbook (you'll have reading assignments from it):

Optional textbooks and other resources:

Acknowledgements

This course builds upon several existing distributed systems courses from other universities:

We leverage different aspects from the above courses. For example, we use a subset of MIT's lab assignments, the lecture schedule, notes, and presentations from the MIT, CMU, and NYU courses, and much of NYU's web page structure.