Distributed Computing Systems

Spring 2018

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:30 PM (GSRC 542) and by appointment

TA: Navid Hashemi Tonekaboni <navidht@uga.edu>

TA Office Hours: Tuesdays and Wednesdays -- 9:30 AM to 10:30 AM (GSRC 307) and by appointment.

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/02/2018, 11:59 PM
Project 2 -- Due Date: 03/02/2018 11:59 PM.
Project-3 -- Due Date: 03/30/2018, 11:59 PM.
Project-4 -- Due Date: 04/20/2018, 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. Hadoop --
  15. Apache Hive --
  16. HBase/Bigtable --
  17. Cassandra --
  18. Apache Spark --
  19. MongoDB
  20. Hypervisors --
  21. Cloud Computing --
  22. Publish-Subscribe Systems --
  23. Stream and Complex Event Processing --
  24. Edge computing
  25. 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 .  

Related and Interesting Resources