- Level Foundation
- Duration 20 hours
- Course by University of Illinois Urbana-Champaign
-
Offered by
About
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. This course builds on the material covered in the Cloud Computing Concepts, Part 1 course.Modules
Orientation
1
Assignment
- Orientation Quiz
2
Videos
- Introduction to Cloud Computing Concepts, Part 2
- Orientation Towards Cloud Computing Concepts: Some Basic Computer Science Fundamentals
3
Readings
- Orientation Overview
- Syllabus
- About the Discussion Forums
Know Your Classmates
1
Discussions
- Getting to Know Your Classmates
1
Readings
- Course Learning Community and Social Media
Overview
1
Videos
- Week 1 Introduction
1
Readings
- Week 1 Overview
Lesson 1: Leader Election
4
Videos
- 1.1. The Election Problem
- 1.2. Ring Leader Election
- 1.3. Election in Chubby and ZooKeeper
- 1.4. Bully Algorithm
Lesson 2: Mutual Exclusion
4
Videos
- 2.1. Introduction and Basics
- 2.2. Distributed Mutual Exclusion
- 2.3. Ricart-Agrawala's Algorithm
- 2.4. Maekawa's Algorithm and Wrap-Up
Homework
1
Assignment
- Homework 1
1
Discussions
- Homework 1 Discussion
1
Readings
- Homework 1 Instructions
Programming Assignment
1
Readings
- Programming Assignment Instructions
Overview
1
Videos
- Week 2 Introduction
1
Readings
- Week 2 Overview
Lesson 1: Concurrency Control
5
Videos
- 1.1. RPCs
- 1.2. Transactions
- 1.3. Serial Equivalence
- 1.4. Pessimistic Concurrency
- 1.5. Optimistic Concurrency Control
Lesson 2: Replication Control
2
Videos
- 2.1. Replication
- 2.2. Two-Phase Commit
Homework
1
Discussions
- Homework 2 Discussion
1
Readings
- Homework 2 Instructions
1
Quiz
- Homework 2
Overview
1
Videos
- Week 3 Introduction
1
Readings
- Week 3 Overview
Lesson 1: Stream Processing
1
Videos
- Stream Processing in Storm
Lesson 2: Distributed Graph Processing
1
Videos
- Distributed Graph Processing
Lesson 3: Structure of Networks
1
Videos
- Structure of Networks
Lesson 4: Scheduling
3
Videos
- 4.1. Single-processor Scheduling
- 4.2. Hadoop Scheduling
- 4.3. Dominant-Resource Fair Scheduling
Interview/Demonstration
2
Videos
- Storm Demo
- Apache Spark by Faria Kalim
Homework
1
Assignment
- Homework 3
1
Discussions
- Homework 3 Discussion
1
Readings
- Homework 3 Instructions
Overview
1
Videos
- Week 4 Introduction
1
Readings
- Week 4 Overview
Lesson 1: Distributed File Systems
2
Videos
- 1.1. File System Abstraction
- 1.2. NFS and AFS
Lesson 2: Distributed Shared Memory
1
Videos
- Distributed Shared Memory
Lesson 3:Sensor Networks
1
Videos
- Sensor and Their Networks
Interview
1
Videos
- Interview with Brighten Godfrey
Homework
1
Assignment
- Homework 4
1
Discussions
- Homework 4 Discussion
1
Readings
- Homework 4 Instructions
Overview
1
Videos
- Week 5 Introduction
1
Readings
- Week 5 Overview
Lesson 1: Security
3
Videos
- 1.1. Basic Security Concepts
- 1.2. Basic Cryptography Concepts
- 1.3. Implementing Mechanism using Cryptography
Lesson 2: Datacenter Outage Studies
5
Videos
- 2.1. What Causes Disasters?
- 2.2. AWS Outage
- 2.3. Facebook Outage
- 2.4. The Planet Outage
- 2.5. Wrap-Up
Interview
1
Videos
- Interview with Paul Kwiat
Homework
1
Assignment
- Homework 5
1
Discussions
- Homework 5 Discussion
1
Readings
- Homework 5 Instructions
Programming Assignment
- Fault-Tolerant Key-Value Store
Conclusion
1
Videos
- Conclusion to Cloud Computing Concepts, Part 2
Final Exam
1
Assignment
- Final Exam
1
Discussions
- Final Exam Discussion
1
Readings
- Final Exam Instructions
Final Reflection
1
Discussions
- Final Reflection
Auto Summary
"Cloud Computing Concepts: Part 2" is an engaging course in the IT & Computer Science domain, taught by experts from Coursera. It delves into core distributed computing techniques essential for cloud systems, covering topics like MapReduce, key-value stores, and scalability. With hands-on programming assignments in C++, learners will gain in-depth knowledge of cloud infrastructure. The course includes expert interviews, runs for approximately 1200 minutes, and offers Starter, Professional, and Paid subscription options. Ideal for those with prior C++ experience, this foundational course builds on Cloud Computing Concepts: Part 1.
Indranil Gupta