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:
-
Distributed
Systems: Principles and Paradigms, by Tanenbaum & van Steen (Second
edition,
Publisher: Prentice Hall, Inc.)
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
- PThreads --
- Java Threads --
- DNS --
- Java RMI --
- Bloom Filters --
- Chord Protocol
- NFS --
- HTTP Components --
- XML --
- SOAP --
- JSON --
- WSDL --
- HDFS --
- Hypervisors --
- Cloud Computing --
- Hadoop --
- Apache Hive --
- Apache Spark --
- Apache Giraph --
- HBase/Bigtable --
- Cassandra --
- MongoDB
- Neo4j
- Kubernetes
- Publish-Subscribe Systems --
- Streams and Complex Event Processing --
- Edge computing
- 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