COMP 436/536 - Secure and Cloud Computing

Instructor: Ang Chen
Teaching assistant: Jiarong Xing
Room: AEL A121
Lectures: W+F 2:30-3:45pm
Office hour: Jiarong Xing (Th 4-5pm; DH 3012); Ang Chen (by appointment)

Course description

What is "cloud computing"? How do we build cloud-scale systems and components that are secure against malicious attacks, and scale to millions of users? Many of today's services run inside the cloud -- a set of geographically distributed data centers running heterogeneous software stacks. Cloud systems must scale across tens of thousands of machines, support millions of concurrent requests, and they must do so with high security guarantees. This course will start with the fundamentals of cloud computing, introduce key techniques in building scalable and secure systems, and expose students to state-of-the-art research advances as well as emerging security threats and defenses in today's cloud systems.

Piazza link


One or more of the following courses:

COMP/ELEC 429/556 (Introduction to Computer Networks)
COMP/ELEC 529 (Advanced Computer Networks)
COMP/ELEC 421, COMP 521/ELEC 552 (Operating Systems and Concurrent Programming)
COMP 427 (Introduction to Computer Security)


We will have two 1.5-hour lectures per week. There will also be regular homework assignments and a course project that requires a significant amount of hands-on implementation, experimental validation, as well as a report.

For the course project, students can form groups of three and work on the project together. Talk with me if you plan to have a group size different from three. The project requires approval from the instructor, but each team may pick a different project of their interest. Students are also encouraged to talk with me in person to identify a project. Each team will present the project proposal, and write a final report in (roughly) six pages.


Homework 25%, quizzes 10%, project 40%, presentation and report 20%, project demo 5%, participation 5% (extra).

Homework assignments

The homework assignments will be available at Piazza. You can submit the solutions via Email.


Students with a documented disability needing academic adjustments or accommodations in this course are encouraged to contact me and Disability Support Services in the Allen Center, Room 111.

Tentative schedule

Date Topic Details Reading Remarks
August 28 Introduction Principles of building systems
Project management
Course overview
Lampson: Hints for computer systems design
August 30 The Cloud Cloud applications
Web vs. cloud vs. cluster
Armbrust et al.:A view of cloud computing
September 4 Networking the cloud Datacenter networks HW1 online
September 6 Software-defined networks SDNs Feamster et al.: The road to SDN
September 11 Programmable networks Protocol-independent packet processing Bosshart et al: P4
September 13 Load balancing ECMP, Load-sensitive routing Katta et al: Hula HW1 due
September 18 P4 lab P4 hands-on exercises
September 20 Concurrency Consistency models
Vogels: Eventually consistent HW2 online
September 25 Faults and Failures I Internet basics
Byzantine faults
Tseitlin: The antifragile organization
September 27 Project proposal + Presentations
October 2 Faults and Failures II Handling failures
Correlated failures
Corbató: On building systems that will fail
October 4 Diagnosis Declarative Networking
Provenance and Diagnosis
Loo et al.: Declarative networking
October 9 Cloud storage Key value stores
Concurrency control
HW2 due
October 11 Storage at Facebook Case study: Facebook
October 16 Cloud services
October 18 MapReduce Programming model
Quiz 1
October 23 Midterm project presentations
October 25 Peer-to-Peer P2P networks
October 30 Key-based Routing
November 1 Security basics Crypto basics
November 6 Denial of service Smurf sttacks
The Mirai botnet
November 8 Anonymity DCNet
November 13 Routing security BGP
Prefix hijacking
November 15 Differential Privacy Data privacy
Dwork et al.:Differential Privacy
November 20 Blockchain Bitcoin
Hash chains
Quiz 2
November 22 Accountability Fault detection
Timing fault
November 26 Advanced Topics
November 29 Thanksgiving break— no class
December 4 Final presentations
December 6 Project demos
December 13 Final reports due