Cloud Computing Concepts (C3), Part 1 Syllabus
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 of which are centered around distributed systems. Learn about such fundamental distributed computing “concepts” for cloud computing. 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 track, implement some of these concepts in template assignments provided in C++ programming language.
Course Goals and Objectives
At the end of this two-part Cloud Computing Concepts course, you will be able to:
- Identify classical distributed computing problems that arise in today’s cloud computing problems.
- Know and apply classical solutions to common distributed computing problems that arise in today’s cloud computing systems.
- Know and apply the fundamental limitations of what is possible and what is not in cloud computing systems.
- Know and apply knowledge of popular distributed systems used in industry today.
- Analyze a given distributed algorithm in terms of computation and communication complexity, scalability, and fault tolerance.
- Design algorithms and systems solutions to the core distributed computing problems arising in today’s cloud computing systems.
- Build and debug a fully-working cloud computing system inside an emulated framework.
Textbook and Readings
No textbook is required. You will learn the content through video lectures, homework, exams, and programming assignments. Links to some extra reading materials will be provided in the corresponding weeks.
Part 1 of the course consists of 5 weekly modules which focus on the fundamental distributed computing “concepts” for cloud computing.
Week 1: Orientation, Introduction to Clouds, MapReduce
- Course Overview
- Part 1 Introduction
- Sumeet Singh Interview
Week 2: Gossip, Membership, and Grids
- William Gropp Interview
Week 3: P2P Systems
- Peer-to-peer systems
Week 4: Key-value stores, and Time and Ordering
- Key-value stores NoSQL
- Time and ordering
- Marcos Aguilera Interview
Week 5: Classical Distributed Algorithms
- Paxos (aka Consensus)
- Tushar Chandra Interview
Elements of This Course
The course is comprised of the following elements:
- Lecture videos. In each module the concepts you need to know will be presented through a collection of short video lectures. You may stream these videos for playback within the browser by clicking on their titles or download the videos. You may also download the slides that go along with the videos.
- In-video Questions. Some lecture videos have questions associated with them to help verify your understanding of the topics. These questions will automatically appear while watching the video if you stream the video through your browser. These questions do not contribute toward your final score in the class.
The following description applies to only students who pay. Students who don’t pay can still view all graded assignments, but will not be able to submit any graded assignments for grading.
- Homework. Each module will include homework which is for-credit quiz. You will be allowed three attempts every eight hours for each quiz. There is no time limit on how long you take to complete each attempt at the quiz. Each attempt may present a different selection of questions to you. Your highest score will be used when calculating your final score in the class.
- Exams. To complete this course, you will not only finish all the homework but also an exam (one at the end of each part of the C3 course). The material, homework, and exam for C3 – Part 2 will utilize knowledge gained from C3 – Part 1. You will be allowed ONE attempt every 24 hours. Like homework, your highest score will be used in your final grade.
- Programming Assignment. You are required to finish the programming assignment as well. This is required for all paid students, regardless of whether you are enrolled in the Cloud Computing Specialization or not. The programming assignment will give you working knowledge of many of the concepts and principles covered in this course.
- Discussion. Use the discussion forums to learn more with your peers. Be sure to make the most of them in this class.
How to Pass This Course
To qualify for a Course Certificate, simply start verifying your coursework at the beginning of the course and pay the $79 fee. Coursera Financial Aid is available to offset the registration cost for learners with demonstrated economic needs. If you have questions about Course Certificates, please see the help topics here.
Also note that this course is the first course in the Cloud Computing Specialization offered by the University of Illinois at Urbana-Champaign. By earning a Course Certificate in this course, you are on your way toward earning a Specialization Certificate in Cloud Computing. To earn the Specialization Certificate, you must also complete the Programming Assignment in each course in the specialization sequence and in the Capstone Project. You may pay for each course individually or pre-pay for the entire Specialization. There is a discounted rate for pre-paying for the entire Specialization. See more information about Specialization payments here.
If you choose not to pay the fee, you can still audit the course. You will still be able to view all videos, submit practice quizzes, and view required assessments. Auditing does not include the option to submit required assessments. As such, you will not be able to earn a grade or a Course Certificate.
The following table explains the breakdown for what is required in order to pass the class and qualify for a Course Certificate and Specialization Certificate. You must pass each and every required activity to pass this course.
|Activity||Required for Course Certificate?||Required for Specialization Certificate?||Number per module||Estimated time per module||% required to pass|
|Lecture Videos||Yes||Yes||8-13||10 hours||N/A|
|Weekly Homework||Yes||Yes||1||8 hours||80%|
|Final Exam||Yes||Yes||1 (in Week 5)||1.5 hours||80%|
|Programing Assignment||Yes||Yes||1 (runs week 1-5)||8 hours||80%|
Cloud Computing Concepts, Part 2 and the Specialization Certificate in Cloud Computing
Do you want to continue your journey in specializing in cloud computing? Then be sure to register for Cloud Computing Concepts, Part 2, which is the second half of the course you are in now. Cloud Computing Concepts, Part 2 begins where Part 1 leaves off and covers additional essential cloud computing concepts like classical precursors, widely-used algorithms, scalability, and trending areas. If you would like to extend your knowledge even further, you can explore a specialization in Cloud Computing. Cloud Computing Concepts, Part 1and Part 2 are part of a course cluster that make up the Cloud Computing Specialization. By earning a course certificate and finishing the programming assignment, you are on your way toward earning a Specialization Certificate in Cloud Computing from the University of Illinois at Urbana-Champaign and Coursera.
Getting and Giving Help
You can get/give help via the following means:
- Use the Learner Help Center to find information regarding specific technical problems. For example, technical problems would include error messages, difficulty submitting assignments, or problems with video playback. If you cannot find an answer in the documentation, you can also report your problem to the Coursera staff by clicking on the Contact Us! link available on each topic’s page within the Learner Help Center.
- Use the Content Issues forum to report errors in lecture video content, assignment questions and answers, assignment grading, text and links on course pages, or the content of other course materials. University of Illinois staff and Community Mentors will monitor this forum and respond to issues.
Note: Due to the large number of learners enrolled in this course, I am unable to answer emails sent directly to my account. Rather, all questions should be reported as described above.