subject
Intro

Coursera: Cloud Computing Concepts, Part 1

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing.

Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more!

Know how these systems work from the inside out. Get your hands dirty using these concepts with provided homework exercises. In the programming assignments, implement some of these concepts in template code (programs) provided in the C++ programming language. Prior experience with C++ is required.

The course also features interviews with leading researchers and managers, from both industry and academia.

Syllabus

Week 1: Orientation, Introduction to Clouds, MapReduce
This course is oriented towards learners with similar backgrounds as juniors and seniors in a CS undergraduate curriculum. Since learners come from various backgrounds, it is critical you view this lecture AND pass the prerequisite test. This will ensure you have many of the assumed prerequisite pieces of knowledge required to enjoy this course.

Week 2: Gossip, Membership, and Grids
Lesson 1: This module teaches how the multicast problem is solved by using epidemic/gossip protocols. It also teaches analysis of such protocols. Lesson 2: This module covers the design of failure detectors, a key component in any distributed system. Membership protocols, which use failure detectors as components, are also covered. Lesson 3: This module covers Grid computing, an important precursor to cloud computing.

Week 3: P2P Systems
P2P systems: This module teaches the detailed design of two classes of peer to peer systems: (a) popular ones including Napster, Gnutella, FastTrack, and BitTorrent; and (b) efficient ones including distributed hash tables (Chord, Pastry, and Kelips). Besides focusing on design, the module also analyzes these systems in detail.

Week 4: Key-Value Stores, Time, and Ordering
Lesson 1: This module motivates and teaches the design of key-value/NoSQL storage/database systems. We cover the design of two major industry systems: Apache Cassandra and HBase. We also cover the famous CAP theorem. Lesson 2: Distributed systems are asynchronous, which makes clocks at different machines hard to synchronize. This module first covers various clock synchronization algorithms, and then covers ways of tagging events with causal timestamps that avoid synchronizing clocks. These classical algorithms were invented decades ago, yet are used widely in today’s cloud systems.

Week 5: Classical Distributed Algorithms
Lesson 1: This module covers how to calculate a distributed snapshot, leveraging causality again to circumvent the synchronization problem. Lesson 2: This lecture teaches how to order multicasts in any distributed system. Algorithms for assigning timestamp tags to multicasts using various flavors of ordering – FIFO, Causal, and Total – are covered. The module also covers virtual synchrony, a paradigm that combines reliable multicasts with membership views. Lesson 3: Consensus is one of the most important problems in a distributed system, enabling multiple machines to agree. This module uses Paxos, one of the most popular consensus solutions used in the industry today. Paxos is not perfect because consensus cannot be solved completely – an optional lecture presents the famous FLP proof of impossibility of consensus.

21 Student
reviews
Cost Free Online Course (Audit)
Pace Upcoming
Subject DevOps
Provider Coursera
Language English
Certificates Paid Certificate Available
Hours 4-8 hours a week
Calendar 5 weeks long
Sign up for free? Learn how

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

21 reviews for Coursera's Cloud Computing Concepts, Part 1

Write a review
11 out of 12 people found the following review useful
2 years ago
Rabindra Swamidasan completed this course.
Date: 27th February 2016 Background: I have completed 4 courses in the Coursera + Uni of Illinois Urbana-Champaign Cloud Computing Specialization -- Cloud Computing Concepts (1 & 2), CC Applications, Cloud Networking. I enrolled for the Capstone, but dropped out after 3 weeks. I completed CC Concepts 1 in March 201 Read More
Date: 27th February 2016

Background: I have completed 4 courses in the Coursera + Uni of Illinois Urbana-Champaign Cloud Computing Specialization -- Cloud Computing Concepts (1 & 2), CC Applications, Cloud Networking. I enrolled for the Capstone, but dropped out after 3 weeks.

I completed CC Concepts 1 in March 2015. So, this is a very long-range, retrospective review.

The syllabus covers a wide range of topics in Distributed Computing, some of which are ubiquitous in Cloud Computing (as practised by the major vendors - AWS, Azure, etc.), others not so much.

The instructor promised a "look under the hood" for Cloud Computing, i.e. "the physics relating to the internals" of a car, not a driving lesson. In that sense, the course delivers -- but, maybe a little more than necessary in some areas, less in others. More breadth, less depth.

I too found the instructor's style of presentation un-engaging. More like reading from a script. Specifically, the instructor is often painfully slow and laborious where the concepts are simple, but rushed when the concepts are more complex.

You get 3 attempts on the weekly quizzes/homework. The Mid-Term and Final exams are TIMED with 2 attempts. About 20% of the questions are tricky, not difficult. The rest are straightforward, if you've followed the videos. Several questions are worded badly enough to be unclear or ambiguous. Typically, from trying to frame the question in 1 long, garbled sentence, instead of 3 short sentences (or bullet points).

The "optional" programming exercise was highly recommended by the instructor. So, I decided to attempt it although I've never programmed seriously in C/C++ (dabbled 20 years ago). We were given a template of basically undocumented libraries to which we had to add our code. I spent 6 hours trying to set up the environment without success. So, I gave it up.

All in all, an interesting selection of topics in Distributed Computing, made somewhat troublesome by unattractive, unpolished execution.

How much it helps in architecting a Cloud (internals, not driving) or an Application that exploits state-of-the-art Cloud facilities I'm not so sure.

So, by itself I rate the course 3 stars.

Having done 4 courses in the Specialization and started the Capstone, my rating is 2 stars or possibly less.

Recommendation: Do the course for free, if you can. Don't bother about the verified certificate or the Specialization.

I plan to review the Specialization in a week or so.

Was this review helpful to you? YES | NO
7 out of 8 people found the following review useful
3 years ago
Moshe Bergman completed this course, spending 8 hours a week on it and found the course difficulty to be medium.
This course is worthwhile to take as it's one of the only distributed computing courses I found that gives overview of cloud technology. However the delivery can use an improvement. It's just slides with the instructor reading through them. The quizzes offer a lot of repetitive tricky questions that are just there to Read More
This course is worthwhile to take as it's one of the only distributed computing courses I found that gives overview of cloud technology.

However the delivery can use an improvement. It's just slides with the instructor reading through them. The quizzes offer a lot of repetitive tricky questions that are just there to make the course appear "difficult", but the only difficulty arises from missing something and losing points. The exercise is a 10 year old buggy C code that is listed as a C++ code where you have to add the relevant code. If you know C++, that's great, if not, this might not be the best opportunity to learn it.

I decided to just listen to the lectures and not worry about exercises or quizzes, and I learnt quite a bit. I would not pay for specialization until the course improves.
Was this review helpful to you? YES | NO
6 out of 6 people found the following review useful
3 years ago
Jiarui Zhang is taking this course right now, spending 4 hours a week on it and found the course difficulty to be hard.
I thought it would be a very interesting topic, but actually, it's the worst course I have taken on Coursera. The professor go through the topic very quickly and fails to give you the insights of each algorithm. After finishing the videos and homework, I feel like I am a calculator: I can give you the right results b Read More
I thought it would be a very interesting topic, but actually, it's the worst course I have taken on Coursera.

The professor go through the topic very quickly and fails to give you the insights of each algorithm. After finishing the videos and homework, I feel like I am a calculator: I can give you the right results based on the steps of each algorithms, but I don't know what exactly problems you are going to solve.

My suggestion would be taking the course like a basic guideline of distributed system algorithm. If you want to know deeper of each algorithm (like how these algorithms are used in real project), you may better read technical articles instead.
Was this review helpful to you? YES | NO
1 out of 2 people found the following review useful
3 years ago
Sagar Jariwala completed this course, spending 20 hours a week on it and found the course difficulty to be hard.
It is worth taking it if you are really interested in core concepts that runs cloud computing. Course is heavy and stimulating but worth (Not for weak hearted). Compare to other courses that i've taken on coursera lecture time is more (almost 1.7 times). And as this course is really very vast and so the ground being co Read More
It is worth taking it if you are really interested in core concepts that runs cloud computing. Course is heavy and stimulating but worth (Not for weak hearted). Compare to other courses that i've taken on coursera lecture time is more (almost 1.7 times). And as this course is really very vast and so the ground being covered is really huge in a limited time availability. It is not hello world programming tuts in cloud so please don't expect it to be one. I've just completed first part successfully and enjoying learning in second part. All the best guys. :-)
Was this review helpful to you? YES | NO
3 out of 4 people found the following review useful
3 years ago
profile picture
Anonymous partially completed this course.
First of all, I've followed the first 4 weeks and done all the homework without any problem. But, I have to say that very poor delivery takes this interesting subject into a boring course. Is that the quality of Illinois University ? Even with that, breaking the norm, there is not "honor code" diploma available, yo Read More
First of all, I've followed the first 4 weeks and done all the homework without any problem.

But, I have to say that very poor delivery takes this interesting subject into a boring course. Is that the quality of Illinois University ?

Even with that, breaking the norm, there is not "honor code" diploma available, you have to pay some bucks for a "verified" diploma (which for me has the same value as the honor code).

NOT RECOMMENDED
Was this review helpful to you? YES | NO
7 months ago
profile picture
Anonymous completed this course.
The course was almost rushed over, The instructor seems to not understand how to teach over this platform. Avoid this course if it is purely for interest, or waste lot of time trying to understand on your own.
Was this review helpful to you? YES | NO
1 out of 2 people found the following review useful
3 years ago
Arash Pourhabibi completed this course, spending 4 hours a week on it and found the course difficulty to be hard.
Course materials were good and coherent. The programming assignment was not prepared well. After all I find it very informative.
Was this review helpful to you? YES | NO
7 days ago
Jason Wu is taking this course right now, spending 6 hours a week on it and found the course difficulty to be medium.
Though plain narrated tone and a little out-dated resource, this course is by far the most accessible online course. Programming assignment is very fun as well, which require enough effort to finish.
Was this review helpful to you? YES | NO
2 out of 3 people found the following review useful
3 years ago
Wei-hsin Chen is taking this course right now.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
3 years ago
Fedir Panasenko is taking this course right now.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
3 years ago
Tabish Sada audited this course.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
3 years ago
Ajay Mathias completed this course, spending 5 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
2 years ago
profile picture
Kirill Soloviev completed this course.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
3 years ago
profile picture
Anonymous partially completed this course.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
2 years ago
Bayu Prasetyo is taking this course right now.
Was this review helpful to you? YES | NO
0 out of 1 people found the following review useful
2 years ago
Mark Henry Butler completed this course.
Was this review helpful to you? YES | NO
0 out of 1 people found the following review useful
2 years ago
profile picture
Anonymous completed this course.
Was this review helpful to you? YES | NO
0 out of 1 people found the following review useful
2 years ago
Hadrien Zalek completed this course.
Was this review helpful to you? YES | NO
a year ago
Peter Shaw completed this course.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Basil Rormose completed this course.
Was this review helpful to you? YES | NO
a year ago
profile picture
Brad Lazaruk completed this course.
Was this review helpful to you? YES | NO

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free