CS492 Special Topics in Computer Science:
Distributed Algorithms and Systems

FALL 2009

Course Overview

The goal of this course is to provide students with theoretical basis of distributed system design and hands-on experience with distributed systems. The course is largely motivated by Google 101 (UW CS 490h) and lack of an undergraduate course on a similar topic in our department in recent years. The lecture material will be mostly from the two textbooks. Students will have additional reading material for projects.


Sue Moon (sbmoon golbaengi kaist edu)


Changhyun Lee (chlee golbaengi an kaist ac kr) Hosung Park (hosung golbaengi an kaist ac kr)


TuTh 9:00am - 10:20am (1st class on September 1st)

Office Hours

Tue 11:30am - 12:30pm Thu 12:30pm - 1:30pm , 5:30pm - 6:30pm


CS330 Operating Systems CS330 Operating Systems CS441 Computer Networks (Those who have not taken CS330 or CS441 should consult the instructors.)

Topics to Cover

Trade-offs in System Design
Functional programming and MapReduce
Distributed algorithms

Lecture Notes

12/24 Final project report due
12/15-21 No class/exam during the final exam period
12/10 Thu Final Project Presentation (II)
12/8 Tue Final Project Presentation (I)
12/3 Thu Quiz #6 (Lec19)
12/1 Tue (Lec18)
11/26 Thu (Lec17)
11/24 Tue (Lec16)
11/19 Thu No class; project progress review mtg at Prof. Moon's office
11/17 Tue (Lec15); project progress review mtg at Prof. Moon's office
11/12 No class; (We'll have a class next Tue)
11/10 Tue (Lec14)
11/5 Thu Project Proposal Presentation
11/3 Tue No class; team project review mtg at Prof. Moon's office
10/29 Thu (Lec13)
10/27 Tue Introduction to distributed algorithms (Lec12)
10/20-26 No class/exam during the mid-term
10/15 Thu No Class
10/13 Tue 9:30am Quiz #5 on PageRank
10/9 Thu
PageRank (Lec11), Review of term project ideas (mailed out)
10/6 Tue
PageRank (Lec10)
10/1 Thu
Quiz #4 on NFS, NFS/GFS (Lec9)
9/29 Tue
Quiz #3 on Giant-Scale Services, Giant-Scale Services (Lec8)
9/24 Thu
GFS, HDFS, Hadoop (Lec7)
9/22 Tue
Quiz #2 on Giant-Scale Services, Dr. Jaesun Han on Cloud Computing (slides)
9/17 Thu
MapReduce (II) (Lec6)
9/15 Tue
MapReduce (Lec5)
9/10 Thu Quiz #1, Introduction to data parallelism and MapReduce (Lec4)
9/8 Tue Functional programming (Lec3), handout3.txt, handout4.txt
9/3 Thu Functional Programming (Lec2), handout1.ml, handout2.txt
9/1 Tue Introduction (Lec1)


Term Project (final report due 2009/12/24)
Project #3 on PageRank (due midnight on Sun, 2009/11/1)
Project #2 on MapReduce (due midnight on Wed, 2009/10/7)
Project #1 (due midnight on Monday, 2009/9/21). See here for the Noah Board posting.


Please see the lecture notes.

Supplementary Reading

Principles of Computer System Design: An Introduction (by Jerome H. Saltzer and M. Frans Kaashoek) Distributed Systems: Concepts and Design (by Coulouris, Dollimore, Kindberg) Distributed Algorithms (by Nancy A. Lynch) Distributed Systems (by Andrew Tanenbaum, 2nd Edition)

Grading Policy

Attendance and participation: 10%
Quiz: 20%
Projects: #1 (10%), #2 (10%), #3 (20%), #4 (30%)