Welcome to the graduate course on Distributed Systems and Cloud Computing. This course will introduce you to an exciting range of materials in this broad and hugely important field, including the fundamentals of distributed systems, memory-driven computing, container clouds, serverless computing, massive-scale cloud storage, big data foundation, and a wide range of other important techniques and case studies about this fascinating area of study.
There is no specific prerequisite. But this course assumes familiarity with systems, including how operating systems work (CS471), how networks work (CS455), and how compute hardware functions (CS367 and CS465). If you don't have this background, you should be in communication with me (the instructor) at the beginning of the semester.
This course is primarily intended for graduate students (CS/ECE) and motivated seniors who want to learn the latest research advances in distributed systems and cloud computing areas, and are interested in building distributed systems used/demanded by existing/emerging data-intensive applications.
No textbook required. The course is based on readings (listed in the schedule of the course web page: https://cs.gmu.edu/~yuecheng/teaching/cs795_fall18/index.html) and in-class discussions/presentations.
Every class day will focus on one or two or three papers, which you should read before class. To help encourage this excellent habit, we provide you with a review form which you must complete and submit by 9am (or so) the day of class.
Each student will sign up and present two or three papers, depending on the size of the class. The instructor will give lectures on important concepts. Each paper presentation should contain two parts: one in which you present the work as if it were your own, and a second part in which you present your evaluation of the work.
There will be a few programming assignments to get you warmed up and going this semester. They will be linked from the main page and due about 1 or 2+ weeks from the day they are assigned. In these assignments, you will learn hands-on what it is to build distributed systems and cloud computing applications, usually with one partner. The assignments will involve extensive use of real-world cloud platforms and resources. And therefore, each student is expected to receive a number of AWS cloud credits ($50-$200) for working on real-world cloud platforms.
The most important work outside of class will be the final project. This will form a large part of your grade, and is also done with a parter or two. Projects are the beginning of your venture into the world of research, and thus will be open-ended explorations of some kind. More information on final projects will be given about 1.5 months from the beginning of the semester. The final projects consist of a few phases with milestones: i) proposal and presentation, ii) implementation and evaluation, iii) final presentation and/or demo, and iv) final report and source code.
Your grade will be calculated as follows:
All students must adhere to the GMU Honor Code and the Computer Science Department's Honor Code Policies. The students are supposed to work individually on the homeworks, assignments projects, unless told otherwise. We reserve the right to use MOSS to detect plagiarism. Violation of the Honor Code will result in an F.
If you have a documented learning disability or other condition that may affect academic performance, you should: