Cloud Computing

Undergraduate, University of Maryland, CS, 2025

The course explores several fundamental topics of cloud computing, including IaaS (e.g., Open Stack, Kubernetes), key big data platforms, and data center networking. The course combines group reading and discussion of influential publications in the field, lectures by the instructor, talks by invited speakers, and a large project. Students will be a part of an agile development team, with extensive experience with GitHub, agile tools, and various technologies. Each course project is solicited from open-source community and will be mentored by an industry leader and/or engineer, or a senior graduate student/postdoc. A project is expected to be done by teams of 3 to 5 students working with a mentor. Projects may use public clouds from our industry partners.

Annoucements

  • Thank you Microsoft for agreeing to sponsor our course projects with Azure credits!
  • Please enroll CMSC498B and email the instructor for any questions.
  • Thank you Microsoft Azure and Amazon AWS for agreeing to share their cloud development experience with our students!

Instructors

Tentative Syllabus

DateTopicsReadingsNotes
9/2 TueCourse OverviewHow to Read, You and Your ResearchProject Template, Project Management Guidelines, Example Projects
9/4 ThuOverview of Cloud Computing + In-class lab: Intro to CloudThe Datacenter as a Computer 
9/9 TueDistributed SystemsGoogle File System, MapReduceLecture
9/11 ThuBig Data FrameworksSpark, Hive 
9/16 TueA Glimpse into Cloud Computing and ScaleGuest lecture: Nick Gramsky, Microsoft 
9/18 ThuOverview of VirtualizationXen 
9/23 TueVirtualization IIContainer-based OS virtualization 
9/25 ThuProject Discussion  
9/30 TueDatacenter Architectures  
10/2 ThuDatacenter Architectures IIVL2, Aquila 
10/7 TueCloud ServicesGuest Talk 
10/9 ThuIn-class lab: DockerGuest Lecture: Microsoft 
10/14 TueFall BreakNO Class 
10/16 ThuStorage Systems and NetworkingCeph, Flat Datacenter Storage 
10/21 TueResource ManagementMesos 
10/23 ThuResource ManagementBorg, Kubernetes 
10/28 TueLLM InfrastructurePipeDream, GPipe 
10/30 ThuIn-class lab: KubernatesGuest Lecture: Microsoft 
11/4 TueLLM Infrastructure IIKV Cache, vLLM 
11/6 ThuMilestone Demos 2 Part I Presentations from student groups
11/11 TueMilestone Demos 2 Part II Presentations from student groups
11/13 ThuMidterm Exam  
11/12 TueDistributed Systems IIDynamo, Kafka 
11/14 ThuCloud and ServerlessServerless 
11/18 TueBreakCloud Security 
11/20 ThuTBD  
11/25 TueTBD  
11/27 ThuThanksgiving Recess  
12/2 TueCloud Research Topics  
12/4 ThuCloud Research Topics  
12/9 TueFinal Presentations I  
12/11 ThuFinal Presentations II  
TBDPoster Session in Microsoft at Reston, VAIndustry Partners 

Prerequisites

  • CMSC 330: Organization of Programming Languages
  • CMSC 351: Algorithms

Projects

In addition to paper readings, there will be a major project, starting from the course beginning, with a mentor, from industry, senior graduate student, or one of the instructors.

The project is due by the end of the exam week. The project presentations will be given in the form of a final poster and a demo. There will also be demos scheduled throughout the course to demonstrate regular progress.

Some example final demos:

Grading

  • 35%: Project Progress Report Team members typically receive the same project grades, but individual grades may be scaled based on feedback we solicit from your mentor and teammates.
    • 10%: project description
    • 20%: bi-weekly project demo and status (4 x 5%)
    • 5%: project quizzes (checking if you listened to your classmates’ presentations)
  • 20%: Midterm Exam
  • 25%: Final project result and report
  • 20%: Paper quizzes, Piazza discussion, and required project forms
    Brief quizzes on reading assignments will be open during first 5 minutes of class.

Evaluation of the project will involve evaluation of your demo, poster, bi-weekly status reports, code reviews, and mentor and project partner reviews.

Course Mechanics

  • Style: In each topic, the instructor will give one or two introductory lectures, followed by paper discussions by class participants. In addition, there will be one capstone project. Students will be required to read and review papers before the class.

  • Capstone Project: The project is a teamwork. Projects may use the public clouds via our industry partners (e.g., Microsoft Azure, Amazon AWS.) The project presentations will be given in the form of a final poster and a demo. There will also be demos scheduled throughout the course to demonstrate regular progress.

  • How to Review Papers: Write a review in four sections, including summary, paper strengths paper weaknesses, and detailed comments.

    • Summary (points in sentence or bullet form): What program? Core novel ideas or technical contributions? Summarize approach, mechnisms, or main findings.
    • Strengths/Weaknesses: 2-4 points each.
    • Detailed comments: Be constructive. Imagine conversation w/ authors. For example,
      • Problem: What is it? Is it new? Is it real? Is it important?
      • Solution: What is the technique(s)? Is it novel? How is it compared to past solutions? What is the intuition(s)?
      • Implementation/evaluation: Does it have a real system prototype? Is the evaluation dataset(s) representative? Does the evaluation cover all aspects?
      • Looking forward: Can you come up with a new/different/better solution? Can you find a new/related problem to solve?