![]() |
15-440 - Distributed Systems |
![]() |
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 |