About this Course
23,153 recent views

Course 2 of 6 in the

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.


Subtitles: English, Korean

Skills you will gain

Distributed ComputingC++Cloud ComputingNoSQL

Course 2 of 6 in the

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.


Subtitles: English, Korean

Syllabus - What you will learn from this course

4 hours to complete

Week 1: Course Orientation and Classical Distributed Algorithms Continued

Lesson 1: To coordinate machines in a distributed system, this module first looks at classical algorithms for electing a leader, including the Ring algorithm and Bully algorithm. We also cover how Google’s Chubby and Apache Zookeeper solve leader election. Lesson 2: This module covers solutions to the problem of mutual exclusion, which is important for correctness in distributed systems with shared resources. We cover classical algorithms, including Ricart-Agrawala’s algorithm and Maekawa’s algorithm. We also cover Google’s Chubby support for mutual exclusion.

11 videos (Total 122 min), 7 readings, 2 quizzes
11 videos
1.1. The Election Problem8m
1.2. Ring Leader Election14m
1.3. Election in Chubby and ZooKeeper9m
1.4. Bully Algorithm9m
2.1. Introduction and Basics12m
2.2. Distributed Mutual Exclusion10m
2.3. Ricart-Agrawala's Algorithm11m
2.4. Maekawa's Algorithm and Wrap-Up16m
7 readings
Orientation Overview10m
About the Discussion Forums10m
Course Learning Community and Social Media10m
Week 1 Overview10m
Homework 1 Instructions10m
Programming Assignment Instructions10m
2 practice exercises
Orientation Quiz10m
Homework 120m
2 hours to complete

Week 2: Concurrency and Replication Control

Lesson 1: Transactions are an important component of many cloud systems today. This module presents building blocks to ensure transactions work as intended, from Remote Procedure Calls (RPCs), to serial equivalence for transactions, to optimistic and pessimistic approaches to concurrency control, to deadlock avoidance/prevention. Lesson 2: This module covers how replication – maintaining copies of the same data at different locations – is used to provide many nines of availability in distributed systems, as well as different techniques for replication and for ensuring transactions commit correctly in spite of replication.

8 videos (Total 95 min), 2 readings, 1 quiz
8 videos
1.3. Serial Equivalence12m
1.4. Pessimistic Concurrency13m
1.5. Optimistic Concurrency Control9m
2.1. Replication14m
2.2. Two-Phase Commit11m
2 readings
Week 2 Overview10m
Homework 2 Instructions10m
1 practice exercise
Homework 230m
3 hours to complete

Week 3: Emerging Paradigms

Lesson 1: We study the emerging area of stream processing, touching on key design aspects of Apache Storm. Lesson 2: We study how enormous graphs can be processed in clouds. Lesson 3: We study various types of networks/graphs that are both natural and artificial, and their surprising commonalities. Lesson 4: This module presents classical scheduling algorithms that have been used in operating systems since the inception of computers. We then cover two popular scheduling algorithms for Hadoop.

9 videos (Total 110 min), 2 readings, 1 quiz
9 videos
Structure of Networks21m
4.1. Single-processor Scheduling11m
4.2. Hadoop Scheduling11m
4.3. Dominant-Resource Fair Scheduling8m
Storm Demo 9m
Apache Spark by Faria Kalim12m
2 readings
Week 3 Overview10m
Homework 3 Instructions10m
1 practice exercise
Homework 330m
3 hours to complete

Week 4: Classical Systems

Lesson 1: When files and directories are stored/accessed over the network, it is called a distributed file system. This module covers the working of distributed file systems like NFS and AFS. Lesson 2: This module covers Distributed Shared Memory systems, their techniques, and pros/cons. Lesson 3: This module looks at the area of sensor networks, starting from what’s inside a sensor mote and how networks of them work.

6 videos (Total 109 min), 2 readings, 1 quiz
6 videos
Distributed Shared Memory17m
Sensor and Their Networks30m
Interview with Brighten Godfrey23m
2 readings
Week 4 Overview10m
Homework 4 Instructions10m
1 practice exercise
Homework 420m
47 ReviewsChevron Right

Top reviews from Cloud Computing Concepts: Part 2

By MRJul 16th 2017

Great course, I would recommend to everyone who wants to understand the basics of cloud computing. The course material is excellent, the instructor Indy is phenomenal and the exams are marvelous.

By AHJan 1st 2018

Very nice and informative course, and the programming assignment in the end of the course is so helpful to understand and apply the theoretical concepts that was introduced during the course



Indranil Gupta

Department of Computer Science

Start working towards your Master's degree

This course is part of the 100% online Master in Computer Science from University of Illinois at Urbana-Champaign. If you are admitted to the full program, your courses count towards your degree learning.

About 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. ...

About the Cloud Computing Specialization

The Cloud Computing Specialization takes you on a tour through cloud computing systems. We start in in the middle layer with Cloud Computing Concepts covering core distributed systems concepts used inside clouds, move to the upper layer of Cloud Applications and finally to the lower layer of Cloud Networking. We conclude with a project that allows you to apply the skills you've learned throughout the courses. The first four courses in this Specialization form the lecture component of courses in our online Master of Computer Science Degree in Data Science. You can apply to the degree program either before or after you begin the Specialization....
Cloud Computing

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.