Lectures and Recitations

Date Number Topic Slides Instructor
August 25 L01 Course Overview & Introduction to Distributed Systems Slides Hammoud
August 27 L02 Introduction to Distributed Systems: Trends and Challenges Slides Hammoud
August 28 R01 Object-Oriented Programming in Java Slides
Sample Code
Abed Rabbou
September 1 L03 Architectural Models of Distributed Systems Slides Hammoud
September 3 L04 Networking Slides Hammoud
September 4 R02 Project 1: File Storage and Access Kit (FileStack) Introduction; Socket Programming in Java Slides
Sample Code
Abed Rabbou
September 8 L05 Networking (Cont'd) Slides Hammoud
September 10 L06 A Full Example (On Board) About the Bellman-Ford Algorithm & Introduction to Communication Paradigms Slides Hammoud
September 11 R03 Designing and Building a Remote Method Invocation Library The RMI Library in FileStack- Part of Project I Abed Rabbou
September 15 L07 Communication Paradigms (Cont'd) & Introduction to Naming Slides Hammoud
September 17 L08 Naming (Cont'd) Slides Hammoud
September 18 R04 Feedback on Design Documents of Project1 Naming & Storage in FileStack - Part of Project I Abed Rabbou
September 22 L09 Naming (Last Part) & Synchronization (Introduction) Slides Hammoud
September 24 L10 Synchronization (Part I) Slides Hammoud
September 25 R05 QUIZ I NA Hammoud
September 29 L11 Synchronization (Part II) Slides Hammoud
October 01 L12 Synchronization (Part III) Slides Hammoud
October 02 R06 Project 2: FileStack Synchronization & Consistency Slides Abed Rabbou
October 13 L13 Midterm Overview Slides Hammoud
October 15 N/A MID-TERM EXAM NA Hammoud & Abded Rabbou
October 16 R07 Readers-Writers Synchronization & Implementing Mutual Exclusion in Java Slides Abed Rabbou
October 20 L14 Programming Models (Part I) Slides Hammoud
October 22 L15 Programming Models (Part II): MPI Slides Hammoud
October 23 R08 Hands-On MPICH Document
Distributed Sum using MPI (Code)
Hammoud
October 25 L16 Programming Models (Part III): MapReduce Slides Hammoud
October 27 L17 Programming Models (Part IV): Pregel Slides Hammoud
October 29 L18 Programming Models (Part V): GraphLab &
Replication and Consistency (Part I)
Slides Hammoud
October 30 R09 Hands-On MPICH (Collective Routines) Distributed Sum using MPI Collective Routines (Code) Abed Rabbou
Nov 3 L19 Replication and Consistency (Part II) Slides Hammoud
Nov 5 L20 Replication and Consistency (Part III) Slides Hammoud
Nov 6 R10 Hands-On MapReduce MapReduce Handout
WordCountSkeleton
WordCount.java
Abed Rabbou
Nov 10 L21 Replication and Consistency (Part IV) Slides Hammoud
Nov 12 L22 Fault-Tolerance (Part I) Slides Hammoud
Nov 19 L23 Fault-Tolerance (Part II) Slides Hammoud
Nov 24 L24 Distributed File Systems Slides Hammoud
Dec 1 L25 Introduction to Cloud Computing and Virtualization Slides Hammoud
Dec 3 L26 Databases in the Cloud Slides Andy Pavlo
Dec 4 R11 Course Overview Overview Hammoud