Welcome to CS5630 Cloud Computing

Why: Cloud computing is the realization of a long-held dream of the computing community to turn computing into a utility, much like electricity. Cloud has not only democratized access to computing (i.e., someone in rural Iowa is at no disadvantage in procuring computing resources compared to a big corporation in New York) but also turned it into a scalable commodity (i.e., using 1000 servers for 1 hour costs no more than using 1 server for 1000 hours). With cloud becoming the de facto computing platform, it is important for all students of computing to be proficient in using it. This course offers a first look at the technical foundations of the cloud and its services, and trains students to be skilled cloud users.

Who: This course is designed for graduate students and well-prepared seniors in CS major. We expect proficiency in operating systems, computer networking, and software development. To meet these requirements, you should have completed CS2820 and one of CS3620/CS3640, and scored at least C in them. This course is well suited for those who wish to learn and practice large-scale data processing on the cloud.

New in 2021: We have designed the course to offer both cloud provider and cloud user perspectives (i.e., we will spend roughly equal amount of time learning how the cloud is designed and operated as well as how best to use its services and deploy code on cloud). Second, given the fast paced evolution of cloud technologies, we will have guest lectures from prominent cloud technologists as well as devote a significant chunk of our class time to read and digest research papers.

General Information

Instructor: Prof. Supreeth Shastri
Office hours: W 10:30 - 11:30am or by appt
Email: supreeth-shastri@uiowa.edu

TA: Dat Hong
Office hours: M 2:00 - 3:00pm or by appt
Email: dat-hong@uiowa.edu

Lectures: TuTh 9:30 - 10:45am 14 SH
Discussions: Slack

Course Structure and Grading

The first half of the course will have instructor-led lectures that cover the fundamentals of cloud computing, and the latter half will comprise of student-led discussions of cloud research papers. To reinforce our learning, we will have spot quizzes throughout the course. We will not have a final exam but our midterm exam would cover all the topics presented in the first half of the course. Every student is expected to read, understand, and present a research paper and lead its discussion in the classroom. Finally, students will take on three programming projects, in groups of two. The following list gives the grade break up:

  • Spot Quizes (20): 20%
  • Written Exam (1): 25%
  • Paper Presentation (1): 25%
  • Programming Projects (2): 30%

The cumulative course grades will be computed using criterion-referenced system. The letter grades will reflect individual students' performance and will not be curved.

Textbook and Resources

There are no required textbooks for the course. The teaching staff will provide all the required materials including select book chapters, research papers, and links to web articles.

Slides: Lecture slides will be posted on the website (see schedule).

Discussion forum: We will use a private Slack workspace for all course related discussions. Questions and discussions posted on Slack will get a faster response from the teaching staff than those sent over emails.

Software and infrastructure: All the software required for programming projects are free and open source.

Ground Rules and Policies

If you have a COVID-19 related situation that needs modifications or accommodations in the course, please reach out to the teaching staff.

Attendance and absence. We expect students to attend classes regularly and to contribute to the learning environment. Please follow the procedure outlined in the CLAS policy to report excused absences. You can also find the CLAS absence form in ICON, located in the top banner under "Student Tools.”

Submissions and late policy. All submissions are due at midnight on the specified date. We will not accept any late submissions. However, we will allow incomplete submissions and will evaluate them for partial grades.

Academic integrity. We take this really seriously. All students are expected to adhere to the CLAS code of academic honesty. We encourage collaborations: it helps you learn faster and makes the process fun; however, everything you turn in must be your own. If your assignment is obviously similar to someone else's (or copied from the web), then all parties will receive a zero on the respective assignment for the first offense, and will receive an F for the course for the second offense. Serious and repeated offenses will be reported to the Dean's office, which may result in further disciplinary action.

Free speech. We will uphold the university’s policies on free speech and academic freedom.


This course is inspired by (and uses materials from) courses designed by Profs. Ted Herman, Matei Zaharia, Christina Delimitrou, Prateek Sharma, and Robert Brunner.

© 2021 The University of Iowa