DescriptionThis is a combined undergrad/grad course on distributed systems. The course covers fundamental techniques that underlie our industry's most critical distributed systems. Not only that, the course programming assignments provide practical experience on designing, implementing, and debugging a real distributed system. Upon completing this course, students will have intimate knowledge about how things should be distributed.
Administrative InformationLectures: MWF 1:00 pm - 1:50 pm (Norton 112)
Instructor: Steve Ko (UBITName: stevko)
Office: 113F Davis
Instructor Office Hours: MWF 2 pm - 3 pm (Davis 113F)
TA Office Hours: On Piazza
Course Communication PlatformPiazza is the main platform for this course's announcements, Q&As, and discussions.
TextbookMain Textbook: Distributed Systems: Concepts and Design, 5th Edition (George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair)
Supplemental Textbook: Distributed Systems: Principles and Paradigms, 2nd Edition (Andrew Tanenbaum, Maarten Van Steen)
PrerequisitesData structures and algorithms, basic OS concepts (e.g., processes, threads, synchronization, file systems, etc.), background in systems programming (pthread, socket, locks, etc.)