University of Virginia Spring 2021
Note: this is a DRAFT that is subject to revision (mainly as I try to best utilize an online format)
Looking for just the schedule?
The “Cloud” is many things. To businesses, it can be a way to scale their information systems without needing to buy a huge number of servers. To Wall Street, it is the next Big Thing in tech. To scientists, it can be the way to analyze their terabytes of data. To the average person, it can be a way to store and access their information from any device at any time.
In this class, we will investigate Cloud Computing from all of these perspectives. In short, we are interested both in how these cloud systems are designed/built and how they are used. The goals for the class are:
Understand the basics of virtualization, as it is an essential underpinning of cloud platforms.
Understand the different abstractions/foundations of the various cloud platforms/applications — i.e., Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), Infrastructure-as-a-Service (IaaS), Containers, and Serverless.
Understand the pros/cons/differences of public clouds (particularly Amazon Web Services vs. Google Cloud Platform vs. Microsoft Azure) vs. private clouds (e.g., based on major open-source cloud frameworks such as OpenStack.) vs. hybrid public-private clouds.
Investigate the architectures of major cloud-based systems such as Facebook.
Gain first-hand experience using major cloud platforms, particularly Amazon Web Services.
Gain first-hand experience with major cloud data frameworks (“Big Data”!) including Hadoop and Spark.
Gain first-hand experience with DevOps (such as via Chef or Puppet)
Gain experience with Internet of Things (IoT) concepts, particularly in the context of cloud computing.
Gain experience with GPUs, Artificial Intelligence (AI), and Machine Learning (ML) as enabled by the cloud.
This class will emphasize hands-on experience via programming assignments (all assignments are by yourself (in 9 days), out on Tuesday and due the following Thursday at 11:59pm – see the schedule). Generally we will be using Python. All assignments will be completed using Amazon Web Services.
Instructor | Marty Humphrey |
Office | Rice 307 |
Humphrey AT cs.virginia.edu | |
Class Meeting Time | Tues/Thurs 9:30-10:45am (WEB) |
My virtual office hours | TBD |
TA virtual office hours(for program assignments) | TBD |
WWW | cs4740-s21.martyhumphrey.info |
Prerequisites | CS2150 |
Textbook | none |
Assignments (Collab) | UVA Collab |
Piazza (Collab) | UVA Collab |
What | When | Weight |
Readings (WWW) | Usually | |
Programming assignments | 6 | 60% |
Midterm Exam | Thurs Mar 25 | 20% |
Final Exam | Saturday, May 8, 10am-12:00pm | 20% |
After | Before | Max score |
Thurs 11:59pm | Fri 11:59pm | 90 |
Fri 11:59pm | Sat 11:59pm | 80 |
Sat 11:59pm | Sun 11:59pm | 70 |
Sun 11:59pm | 0 |