MPCS 51083 Cloud Computing (Winter 2023)

Section 1
Instructor(s) Vasiliadis, Vasilios (vas)
Location None
Meeting Times
Fulfills Elective Specialization - Application Development (APP-2)

Syllabus

*Please note: This is the syllabus from the 2021/22 academic year and subject to change.*

Cloud computing is being widely adopted by enterprises of all sizes due to the low initial investment required, attractive operating costs, and elastic capacity that can best serve the highly variable demands of modern applications. Software engineers must be familiar with cloud computing technologies since many new applications they develop will be deployed “in the cloud”, and existing applications will often require integration with cloud-hosted services to take advantage of new capabilities.

This course provides an introduction to cloud computing with specific consideration for development of highly scalable (or so-called “web-scale”) web applications that leverage cloud infrastructure and platform services (IaaS and PaaS). We will also introduce software-as-a-service from the perspective of a consuming application. The course will emphasize practical applications of cloud computing technologies, with sufficient exploration of their theoretical underpinnings to inform architectural, design, and implementation decisions. We will use commercial cloud offerings provided by Amazon Web Services to build and deploy "real” cloud-hosted applications.

Please refer to the course website here for more details: http://home.uchicago.edu/vas/#cloud.

Course Prerequisites

Core Programming

MPCS 52553 Web Development (not required, but strongly recommended)

Other Prerequisites

This is a coding-intensive course and requires strong familiarity with Python and use of Linux commands, as well as simple shell scripts. Brief overviews of the various tools used will be provided and core concepts will be introduced as they are needed to complete assignments. Knowledge of web application development is not required, but students with little or no web development experience may find some assignments particularly challenging. Note: Students in past courses have struggled to keep up with homework assignments due to limited experience with Python and knowledge of the Linux command line. See the notes on this page for more detail on expected knowledge: http://home.uchicago.edu/vas/#prerequisites.

Overlapping Classes

This class is scheduled at a time that does not conflict with any other classes this quarter.

Eligible Programs

Masters Program in Computer Science MS in Computational Analysis in Public Policy (Year 2) MS in Molecular Engineering MA in Computational Social Science (Year 2) Bx/MS in Computer Science (Option 1: Research-Oriented) Bx/MS in Computer Science (Option 2: Professionally-oriented - CS Majors) Bx/MS in Computer Science (Option 3: Profesionally-oriented - Non-CS Majors)