ECE1779 / Syllabus

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

WeekLectureDateTopic
11September 9Course Introduction and Introduction to Cloud and Edge Computing
22September 16IaaS
33September 23PaaS and SaaS
44September 30Docker and Docker Compose
55October 7Docker Compose and Docker Swarm
66October 14Docker Swarm Orchestration and Fly.io for Edge Deployment
77October 21Kubernetes: Core Concepts
8--Reading Week (No Lecture)
98November 4Kubernetes: Deployments
109November 11Stateful Applications, Production Kubernetes, and Serverless Edge Architectures
1110November 18Monitoring and Observability in Cloud and Edge
1211November 25Project Presentations
1312December 2Project 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

AssignmentTopicRelease DateDue Date
1IaaS with DigitalOceanSeptember 19October 3
2Dockerized Node.js App with Docker ComposeOctober 3October 17
3Dockerized Node.js App with Fly.io DeploymentOctober 17October 31
4Kubernetes Deployment with minikubeNovember 7November 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