Cloud computing has emerged as a new paradigm for efficient and highly elastic delivery of computing services over the Internet to achieve economies of scale. The course will explore the concept of Cloud Computing, considering both its benefits and challenges. The course will also cover the basic design principles and architectures of Cloud Computing, including its usability and utility to deliver efficiently and flexibly infrastructure, platform and software as a service. Topics include types of public, private and hybrid cloud computing services, data centers architecture and deployment, cloud computing programming models, virtualization and virtual networking and storage, and large-scale distributed processing framework to manage, process and store big data applications running in clustered systems. The course will also include hands-on projects focused on developing applications on a MapReduce and Hadoop cluster. Upon successfully completing the course of the course, students will gain understating of the goals, benefits and models of cloud computing, and how storage, processing and services are designed and managed in a virtualized environment. Through hands-on projects, students will demonstrate proficiency in deploying and evaluating cloud computing applications and services. They will be able to design and deploy data-centered applications and services, and efficiently use frameworks and tools for data analytics.

Academic Career: Undergraduate
Course Component: Lecture
Grade Component: LG/SNC Elective Basis
Course Requirements: PREQ: CS 1550; MIN GRADE: C or Transfer
Minimum Credits: 3
Maximum Credits: 3