Course Description

This project-based online course focuses on skill building across various aspects of cloud computing. Learners will develop hands-on experience through projects utilizing public cloud infrastructures - Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP). The adoption of cloud computing services continues to grow across a variety of organizations and in many domains. Learners will work with cloud infrastructure, use them to provision compute resources and then program, test, deploy and monitor applications that run on these resources. Specifically, learners will perform analytics on a big data set using MapReduce. Learners will configure and deploy performant and fault tolerant web services using elastic and load balanced virtual machines (VMs), container clusters using Kubernetes as well as serverless functions. Additional projects will provide learners with the opportunity to work with cloud heterogeneous storage systems and develop an analytics application using a cloud-based processing framework.

Course Info A 6 project course, covering cloud computing topics
Level Introductory/Intermediate
Commitment 6 weeks, 10-15 hours per week
Setup June 4, 2018 to June 10, 2018
Projects June 11, 2018 to July 22, 2018

Course Goals

In this on-line course, we plan to give learners an overview of the field of Cloud Computing, and an in-depth study into its enabling technologies and main building blocks. Learners will gain hands-on experience solving relevant problems through projects that will utilize existing public cloud tools. It is our objective that learners will develop the skills needed to become a practitioner in this domain.

Learning Objectives

Through a series of hands-on projects, learners will develop skills that enable them to:

  • Identify the potential limitations of using sequential programs to clean and analyze large volumes of data. Process a large text dataset using parallel algorithms running within distributed frameworks on cloud resources.
  • Use cloud provider APIs to develop programs to launch cloud resources elastically in response to changing demand and to deal with system failures. Make use of orchestration tools to manage the lifecycle of cloud resource.
  • Build, deploy, manage, and administer Docker containers and Kubernetes clusters. Deploy containerized applications to load balanced Kubernetes clusters running on multiple cloud providers and handling cross-cloud service failures.
  • Design software using the serverless pattern and consider the implications of cost and resource availability. Invoking external services - Rekognition and CloudSearch - to develop cloud native applications.
  • Configure, populate and deploy several heterogeneous, SQL and NoSQL, databases in a social network web service context. Compare the advantages and disadvantages of SQL and NoSQL databases as well as the applications domain they are most suitable in.
  • Experiment with iterative batch processing to develop a Spark application to perform transformations and actions on a social graph dataset.

Who Should Sign Up

This course is intended to provide IT professionals with the background and skills required to use cloud technologies in their careers. Applicants should have introductory programming experience with Java, Python and Bash and the willingness to learn. Applicants should expect the core course requirements to take 10 - 15 hours per week with an additional 5-10 hours for non-compulsory learning opportunities.

Course Content

The six projects in the cloud computing course will cover the following topics:

  • Big data analytics & Jupyter Notebooks
  • Resource scaling and elasticity
  • Docker Containers and Kubernetes
  • Serverless with functions as a service
  • SQL and NoSQL databases
  • Batch processing with Apache Spark

The full course schedule may be found here.

Cost and certification

There is no cost associated with participation in this course. Learners will receive a CMU issued certificate upon successful completion of this course (achieve 80%). Honors distinctions will be included on the certificate for learners who complete the non-compulsory honors tasks (complete 4 out of 6 tasks).

Access to course materials
Access to graded materials
Access to cloud resources


In this online course, researchers of online learning will seek to iteratively improve the support for project based learning through analysis of the data logged by the platform, the assignments learners turn in, and their grades. The instructor has determined that your use of the course platform and associated collaborative environment is required for the completion of your assignment(s); however you have the right to opt your data out of any analyses that will be done as part of the research. Details will be provided later.


Thank you for your interest in this course. We have received hundreds of qualified applicants. Unfortunately we can only accept 100 learners for this offering.

Please complete this form if you are interested in being considered for a wait list or for future offering of this course.

To apply, please complete the cloud course application.