UGA Bulletin Logo

Cloud Computing


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)