Distributed Computing Systems

Spring 2019

General Course Information:

Instructor: Lakshmish Ramaswamy (laks[AT]cs[dot]uga[dot]edu, 706-542-2737)
 
Time and Venue: Tuesdays & Thursdays - 12:30 PM to 1:45 PM (Boyd 306); Wednesdays - 12:20 PM to 1:10 PM (Boyd 306)
 
Office Hours (tentative): Tuesday and Thursdays - 11:30 AM to 12: PM (GSRC 542) and by appointment

TA: Navid Hashemi Tonekaboni (navidht@uga.edu)

TA Office Hours: Mondays -- 2:00 to 3:00 PM and Wednesdays -- 10:00 to 11:00 AM (Boyd 307)

Course Description:

The area of distributed computing has seen tremendous developments in the past few years, and distributed systems have become widely pervasive. Today's distributed systems range from ad-hoc networks comprising of mobile devices, to overlay networks such as peer-to-peer systems, to massive web farms of powerful servers.The objective of the course is to gain an in-depth knowledge of the fundamental concepts in distributed systems and to understand the practical techniques for building distributed systems and applications.

Course Materials:

Textbook:

Grading Policy

Programing Projects
50%
Midterm Exam - 1
15%
Midterm Exam - 2
15%
Final Exam
15%
Homework/Tech Topic Presentation
5%

Slides:

Will be available on ELC.

Programming Projects

Project 1 -- Due on 02/04/2019, 11:59 PM
Project 2 -- Due Date: Extended to 03/07/2019, 11:59 PM (groups that submit by 03/01/2019, 11:59 PM will get 10% bonus).
Project-3 -- Due Date: 04/05/2019, 11:59 PM.
Project-4 -- Due Date: 04/24/2019, 11:59 PM

Presentation Topics for Graduate Students (Please contact TA for signing up)

Each presentation is around 20 mins + 5 mins for QA
  1. PThreads -- 
  2. Java Threads --
  3. DNS --
  4. Java RMI --
  5. Bloom Filters --
  6. Chord Protocol
  7. NFS  --
  8. HTTP Components --
  9. XML --
  10. SOAP --
  11. JSON --
  12. WSDL --
  13. HDFS --
  14. Hypervisors --
  15. Cloud Computing --
  16. Hadoop --
  17. Apache Hive --
  18. Apache Spark --
  19. Apache Giraph --
  20. HBase/Bigtable --
  21. Cassandra --
  22. MongoDB
  23. Neo4j
  24. Kubernetes
  25. Publish-Subscribe Systems --
  26. Streams and Complex Event Processing --
  27. Edge computing
  28. Internet of Things

Homeworks for Undergraduate Students (Please contact the TA for signing up).

X/Y below indicates the Yth problem in the Xth Chapter of the Tanenabum & van Steen  textbook (2nd Edition)

1/2, 1/5, 1/6, 1/8, 1/9, 2/2, 2/4, 2/10, 3/2, 3/4, 3/5, 3/14, 5/2, 5/3, 5/11, 5/12, 5/13, 5/16, 5/17, 6/2, 6/5, 6/14 .  

Exam Schedule

Midterm Exam-1 (tentative): 03/05/2019 during class.
Midterm Exam-2 (tentative): 04/16/2019 during class.
Final Exam (as per UGA final exam schedule): 05/07/2019, 12:00 PM to 3 PM in Boyd 306.

Related and Interesting Resources