Class Schedule (Tentative)


Lectures

Topics

Literature

Assignments

Labs

Lecture 1
Aug 26

  • Course Introduction
 

Assignment #0 (due Sep 4)

  • Classifications
Lab 1

Lecture 2
Aug 28, Sep 4

  • Distributed Systems*
  • Chapter 1 (Tanenbaum)
Project #1 (due Sep 18) Lab 2

Lecture 3
Sep 9, Sep 11

  • Architectures*
  • Chapter 2 (T.)
   

Lecture 4, 5, 6
Sep 16, 18

  • Processes* 
  • Communication* 
  • Chapter 3 (T.)
  • Chapter 4 (T.)

 

Project #2a (due Oct 9) Lab 3

Lecture 7, 8
Sep 23, 25

  • Naming*
  • Synchronization*
  • Chapter 5 (T.)
  • Chapter 6 (T.)
  Lab 4

Lecture 9
Sep 30

  • Performance Issues
     

Lecture 10
Oct 2, Oct 7

  • Clusters/Grids/Clouds/Internet of Things
  • Case studies
    • Messaging-Oriented Middleware*
    • Portals

 

  Project #2b (due Oct 30) Lab 5

Lecture 11
Oct 9, 14

  • Case studies
    • Resource Management
    • Web Services
  Lab 6

Lecture 12
Oct 16

  • Midterm Exam (Oct 16)
     

Lecture 13
Oct 21, 23

  • Cloud Technologies and Applications  
  • How to Start VMs (IaaS)
Cloud MOOC Project #3 (due Nov 13) Lab 7

Lecture 14
Oct 28, 30

  • How to Run Data Analysis using MapReduce (PaaS)  
  • How to Run Iterative MapReduce (PaaS) 
Cloud MOOC   Lab 8

Lecture 15
Nov 4, 6

  • How to Store Data (NoSQL)   
  • How to Build a Search Engine (SaaS)
Cloud MOOC Project #4 (due Dec 4) Lab 9

Lecture 16
Nov 11

  • Distributed File Systems*
    Lab 10

Lecture 17
Nov 13, 18, 20

  • Consistency and Replications*
  • Fault Tolerance*
  • Security*
     

Lecture 18
Dec 2, 4

  • Peer to Peer Systems*
     
Dec 9, 11
  • Course Review
  • Project Presentations
     
Dec 18
  • Final Exam (5pm to 7pm)