About this course: 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 stores, Classical precursors, Widely-used algorithms, Classical algorithms, Scalability, Trending areas, And more! Understand how these techniques work inside today’s most widely-used cloud computing systems. Get your hands dirty using these concepts with provided homework exercises. In the programming assignment, implement some of these concepts in template assignments provided in C++ programming language. You will also watch interviews with leading managers and researchers, from both industry and academia. This course builds on the material covered in the Cloud Computing Concepts, Part 1 course.