MPCS 51083 Cloud Computing (Winter 2023)

Section 1
Instructor(s) Vasiliadis, Vasilios (vas)
Location JCL 011
Meeting Times Thursday 5:30pm - 7:30pm
Fulfills Elective Specialization - Application Development (APP-2)


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:

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:

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 50103-1 -- Mathematics for Computer Science: Discrete Mathematics
  • MPCS 55001-1 -- Algorithms
  • MPCS 52011-2 -- Introduction to Computer Systems
  • MPCS 51240-1 -- Product Management
  • MPCS 51044-1 -- C++ for Advanced Programmers

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)