ECE1779: Introduction to Cloud Computing
Course Syllabus of Fall 2026
Overview
This graduate-level course provides a practical introduction to cloud and edge computing, covering essential principles, technologies, and engineering practices. Students will explore cloud service models (IaaS, PaaS, SaaS), containerization with Docker, orchestration using Docker Swarm and Kubernetes, serverless architectures, edge deployment with Fly.io, and monitoring of distributed applications.
Through lectures, hands-on assignments, and a collaborative course project, students will learn not only how to build and deploy cloud-based systems, but also how to make informed technical decisions, evaluate system behavior, reason about trade-offs, and verify that their implementations satisfy intended requirements.
Learning Objectives
- Explain fundamental concepts in cloud and edge computing, including service models, distributed deployment, scalability, and low-latency applications.
- Use IaaS, PaaS, and SaaS platforms to provision infrastructure, deploy applications, and integrate cloud services and APIs.
- Build, deploy, and manage containerized applications using Docker and cloud/edge deployment platforms.
- Design and configure scalable distributed applications using Docker Swarm and Kubernetes orchestration.
- Develop event-driven serverless applications for cloud and edge computing scenarios.
- Implement and interpret monitoring for distributed applications using industry-standard tools.
- Evaluate cloud system designs and implementations by considering requirements, trade-offs, system behavior, and appropriate evidence.
- Design, implement, evaluate, and communicate a collaborative cloud computing project while demonstrating sound technical judgment and understanding of the team's work.
Prerequisites
Students are expected to have solid programming fundamentals and basic knowledge of computer systems or web development, including operating system concepts, HTTP, and APIs. Familiarity with command-line tools and Git is expected. Prior exposure to cloud computing or containers is helpful but not required, as these topics are introduced in the course.
Working through Assignment 1 during the two-week submission window can give you an early sense of the prerequisite knowledge and level of technical work expected in the course.
The prerequisites are intended to help you assess whether you have the background needed for the course. You do not need to contact the instructor for prerequisite approval before enrolling.
Weekly Schedule
| Week | Lecture | Date | Topic |
|---|---|---|---|
| 1 | 1 | September 9 | Course Introduction and Introduction to Cloud and Edge Computing |
| 2 | 2 | September 16 | IaaS |
| 3 | 3 | September 23 | PaaS and SaaS |
| 4 | 4 | September 30 | Docker and Docker Compose |
| 5 | 5 | October 7 | Docker Compose and Docker Swarm |
| 6 | 6 | October 14 | Docker Swarm Orchestration and Fly.io for Edge Deployment |
| 7 | 7 | October 21 | Kubernetes: Core Concepts |
| 8 | - | - | Reading Week (No Lecture) |
| 9 | 8 | November 4 | Kubernetes: Deployments |
| 10 | 9 | November 11 | Stateful Applications, Production Kubernetes, and Serverless Edge Architectures |
| 11 | 10 | November 18 | Monitoring and Observability in Cloud and Edge |
| 12 | 11 | November 25 | Project Presentations |
| 13 | 12 | December 2 | Project Presentations |
Grading
Assignments
40%The assignments provide focused, hands-on practice with key cloud computing concepts and technologies before students apply them more independently in the course project. Each assignment should be completed individually.
4 assignments, 10% each.
Assignment Timeline
| Assignment | Topic | Release Date | Due Date |
|---|---|---|---|
| 1 | IaaS with DigitalOcean | September 19 | October 3 |
| 2 | Dockerized Node.js App with Docker Compose | October 3 | October 17 |
| 3 | Dockerized Node.js App with Fly.io Deployment | October 17 | October 31 |
| 4 | Kubernetes Deployment with minikube | November 7 | November 21 |
Detailed assignment handouts and starter code will be provided for each assignment upon release.
Project
60%Students work in teams of 2 to 4 to design, build, deploy, and evaluate a stateful cloud-native application using technologies and concepts covered in the course. The project goes beyond simply assembling a working system: teams are expected to make and justify technical decisions, reason about architectural trade-offs, evaluate system behavior, and demonstrate a clear understanding of the system they have built.
- Proposal (15%): due on November 7, 2026, 11:59 PM
- Presentation (10%): November 25 and December 2, 2026
- Final Project Deliverable (35%): due on December 5, 2026, 11:59 PM