Course Description
Introduction to cloud computing for undergraduate and graduate students. Topics include virtualization, data centers, virtual machines, cloud service models, public vs. private vs. hybrid clouds, open stack, container and orchestration infrastructure, cloud storage, mobile cloud, IoT, and big data. Students also learn how to design, implement, and test cloud applications.
Additional Requirements for Graduate Students:
Graduate students will have additional programming assignments
that require a more comprehensive understanding and skillset for
modern cloud computing technologies. Also, graduate students
will be required to read research papers and write summaries
that provide critiques of existing methods and improvement of
proposed approaches. Exams will have additional essay-type
questions, requiring more in-depth analysis and understanding of
the course topics. All graduate students will be evaluated in a
pool, separated from undergraduate students in the course, and
the grade cutoffs will be stricter, thereby implying higher
expectations of accomplishment from graduate students.
Athena Title
Cloud Computing
Prerequisite
CSCI 2720
Semester Course Offered
Not offered on a regular basis.
Grading System
A - F (Traditional)
Course Objectives
The objective of this course is to introduce students to cloud computing. This class is designed to provide comprehensive knowledge of cloud computing and its ecosystems, as well as hands-on experience in the design, implementation, and testing of cloud applications. More specifically, this class will investigate: Basics of virtualization and data centers Different cloud service models and platforms Architectures of major cloud-based systems, such as Facebook Various big data processing frameworks, such as Hadoop and Spark Cloud-based large-scale machine learning and AI Programming assignments are designed based on real-world cloud applications and will provide hands-on experience in cloud application development, such as autoscaling, microservices, serverless, and MapReduce/Hadoop. Students will be able to: 1) apply the underlying technologies/foundations of modern cloud computing, 2) use firsthand experience using major cloud platforms from both public and private clouds (e.g., Amazon Web Services, in- house private clouds), 3) obtain hands-on experience by designing, implementing, and testing cloud-native applications (e.g., auto scaling, containers, serverless) and big data frameworks (e.g., Hadoop and Spark).
Topical Outline
Definition of Cloud Computing and a brief review of its history Virtualization and Data Centers Cloud Service Models (e.g., IaaS vs. PaaS vs. SaaS) Public vs. Private vs. Hybrid Clouds Cloud Resource and Infrastructure Management (e.g., Auto scaling, Yarn, and Mesos) Container and Microservice (e.g., Docker, Amazon ECS, and Kubernetes) Cloud Function and Serverless Computing (e.g., AWS Lambda and OpenWhisk) Cloud Storage NoSQL and Distributed Key/Value Store Big Data Processing Frameworks (e.g., Hadoop, Spark, and Storm) Mobile Cloud and IoT Machine Learning, AI, and Voice Assistant (e.g., TensorFlow, Amazon Alexa, and other Cloud AI applications)