Who is this class for: Who this class is for: This course is intended for students with similar backgrounds as junior or senior undergraduates in computer science. This course will teach you basic algorithmic and design concepts for distributed systems, as used in today’s cloud systems. Much of the course, including quizzes, is conceptual and not programming oriented. The programming assignment assumes some knowledge of C++ (if you have only Java experience, you should be able to pick up C++ quickly may suffice), and allow you to write distributed algorithms in an emulated distributed system on your own machine. To ensure you have the necessary prerequisites, you need to take the prerequisite quiz and achieve a high passing score (at least 90%, preferably 100%). Based on prior student experiences, the Linux/Unix environment may work better for the programming assignments than Windows. Who this class is NOT for: This course is NOT intended for those: (1) wishing to get a high level overview of cloud computing (you can use Wikipedia for that); (2) wishing to do detailed programming in a real cloud (the Cloud Capstone and Cloud Applications MOOCs provide you that); (3) who are averse to theoretical and algorithmic concepts; (4) with little or no prior programming experience in C++ or Java; (5) who expect to see industry-quality code in programming assignments (these are play programming assignments focused on allowing you to implement concepts you learn from lectures, and are not intended for immediate deployment); (6) those not familiar with setting up IDEs/compilers, etc., especially for C++; or (7) those who want to rush through lectures and/or videos and attempt quizzes in haste (quizzes are hard, so make sure you view lectures completely and comprehensively before attempting quizzes).

Created by:  University of Illinois at Urbana-Champaign

Basic Info
Course 1 of 6 in the Cloud Computing Specialization
Commitment5 weeks of study, 5 - 10 hours/week
How To PassPass all graded assignments to complete the course.
User Ratings
4.5 stars
Average User Rating 4.5See what learners said

How It Works

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from Your Peers
Help from Your Peers

Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.


Earn official recognition for your work, and share your success with friends, colleagues, and employers.

University of Illinois at Urbana-Champaign
The University of Illinois at Urbana-Champaign is a world leader in research, teaching and public engagement, distinguished by the breadth of its programs, broad academic excellence, and internationally renowned faculty and alumni. Illinois serves the world by creating knowledge, preparing students for lives of impact, and finding solutions to critical societal needs.
Purchase Course
Access to course materials


Access to graded materials


Receive a final grade


Earn a shareable Course Certificate


Ratings and Reviews
Rated 4.5 out of 5 of 406 ratings

Loved the content.

A solid introduction into the field of distributed systems. I especially liked the material on distributed hashing. The Quiz questions, in particular section 5 could use a bit of clarification, as I sometimes found it difficult to understand exactly what was being asked. That said the lecture slides, and organization of the material was quite good, and I recommend the course.

Loved it

Loved the course material and the programming assignment