Cloud Computing Concepts, Part 1

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 eit

Created by: Indranil Gupta

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 84 / 100

icon
Course Description

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.

icon
Instructor Details

Indranil Gupta

Indranil Gupta (Indy) works on large-scale distributed systems such as datacenters and cloud computing systems. He leads the Distributed Protocols Research Group. He received his PhD from Cornell University in 2004, and his bachelors degree from Indian Institute of Technology Madras (Chennai) in 1998. Recently he spent a year working at Google, and in the past has interned at Microsoft Research and IBM Research. Indy has served as program co-chair for leading conferences in distributed systems, including: IEEE Peer to Peer Computing 2014, ACM/IFIP/Usenix Middlware 2010, IEEE Conference on Self-Adaptive and Self-Organizing Systems 2010, and track chair at the International Conference on Distributed Computing Systems 2008. Indy received the NSF CAREER award in 2005.

icon
Reviews

4.2

176 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Stephanie B on 27-Jun-17

I found the concepts taught in this course interesting, but the lectures were far too fast paced (it takes twice the time to get through them if you actually want to get notes down as you will need to pause continuously). I also thought that the programming assignment was far, far too advanced seeing many people who take this course may not be familiar with C++ or programming in general. Even with my background being computer engineering, I found it challenging and spent much more time on it than the time suggested by the syllabus. Lastly, the homework was a major step up from lectures seeing there were minimal examples given in the lectures. Overall, the assessment was so ordinary that I would probably recommend not paying for this course. I kind of wish I could still get my money back.If you want to do this course properly, double the time it tells you it will take for each part of it. You'll need to. If you're working full time and just looking for a hobby course, don't do this one. Or do it across two sessions, instead of trying to get it done in the 5 weeks. Don't do it if you want to learn how to use cloud computing - only if you want to research in cloud computing or need to know how it works under the hood.This course would benefit from a slower pace and more detailed examples. I feel that everything was rushed and minimal guidance was given, which made the course not particularly enjoyable for me. Without some background in computer science, I think this would be a real struggle to get through at all.Sorry for the lengthy review, I hope it helps someone decide whether this course is really for them.

By Ehsan M on 25-Apr-18

The educational material do not meet the expected quality, as of many other courses. The instructor speaks too fast, with a lot of technical jargon in between each sentence, but does not interact with the user by annotating the slides. So, I had to keep moving my eyes around (reading compact text, or complex graphs) to try to make a connection between his words, and which part of slides he is speaking about. Furthermore, I have excellent Python and Fortran and CUDA background, but not C++, so, I cannot do the final exam. I am gonna drop out of this course.

By Jason N on 11-Jul-17

The programming assignment is very old style C code/C++ not using any of the updated/newer syntax. It required spending more time relearning old coding conventions than actually implementing the algorithms and such. Was very frustrating. The material and course overall is great, save that assignment, which is required to pass.

By Craig K on 7-Jun-19

My experience with this course was mostly positive. The lectures were helpful and fairly brief compared to a standard university class. The instructor provides good examples and the presentation slides are a good study guide. FWIW, the workload for this course is much less than a graduate level CS course (at least in my experience).The negatives about this class: The homework/quiz assignments often asked you to solve a scenario more complicated than anything discussed in lecture, and there's no book to go read to get a better understanding. This made for an unnecessarily frustrating quiz process. Other reviewers have already criticized the programming assignment, and I concur with most of the complaints. You end up wasting too much time working on things other than learning content related to the course.

By Satya P M on 30-Jul-17

Felt like the assignments were too good for what was covered. We have to Google outside the course material to understand many concepts. But loved the fact that we got chance to try some hands on. That clarified a lot about Gossip style protocol. But the contents in the course about Chandy-Lamport algorithm needs SURE restructuring. It is NOT AT ALL adequate to answer the assignments. I request professor, Coursera to have a second look at these topics.

By Mona L on 11-Oct-16

The instructor's lecture sounded too robotic and I feel like he didn't make any effort to explain some of the principles or simplify the course to the audience. It feels like he just copied concepts and pasted them into the lecture and then read them quick.

By on 13-Aug-17

An acceptable course to those who want to have an insight to cloud computing.

By Bruno M on 1-Feb-19

Having to do the coding assignment in c++ is kind of bad :/

By Deepti S on 1-Mar-19

Seems a bit difficult in the beginning, especially if there is a long break from academics but a thorough and in depth course

By ViciOs on 27-Jul-17

By Carmine L on 25-Jul-17

The lessons are a bit boring, an interactive blackboard or animated examples could help.

By samir s on 6-Aug-17

The instructor seems to be in a hurry to get over the course and the course should rather be called a theoretical introduction to concepts in distributed computing. The slides are confusing with no animation. The programming assignment statement is just vague. Wouldn't recommend folks to pay and attend this. This may at best be for audit.