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:00pm - 1:50pm (Knox 109)
Instructor: Steve Ko (UBITName: stevko)
Office: 113F Davis
Office Hours: On Piazza
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 networking concepts (e.g., TCP/IP, routing protocols, etc.), basic OS concepts (e.g., processes, threads, synchronization, file systems, etc.), background in systems programming (pthread, socket, etc.)