Graduate Seminar: Programming the Cloud

Prof. Joe Hellerstein
Dr. Mae Milano

UC Berkeley 2020

The public clouds are the most powerful general-purpose computers ever assembled, allowing individuals to rent their power at unlimited scale, on demand. This makes "the cloud" the biggest game-changer in computing access since the adoption of the PDP-11 minicomputer in the early 1970s. However, unlike the advent of UNIX and C for PDP-11, an organic programming model has yet to emerge for the cloud. History suggests that the real innovation on new platforms comes when the right programming model is introduced.

The challenge of helping developers program the cloud spans areas: Programming Languages, Distributed Systems, Databases, and Operating Systems, to name a few. In this seminar we will read research papers together, and bootstrap new efforts in this area.

Students will be expected to read deeply from academic papers in advance of class, participate actively and thoughtfully in class discussion, and undertake independent research of their own.

Admission Criteria

The course is targeted at Ph.D. students in computer science who have already taken a graduate course in a related area.

Schedule and Format

We will meet Mondays and Wednesdays, 10:30AM-12Noon Pacific Time, on Zoom. Class discussion will be led by the instructor and students on a rotating basis.


The Piazza board for this class will be used largely for broadcast announcements via email. All enrolled students must sign up for Piazza, but there's no need to check it regularly.

Tentative Syllabus

Electronic versions of the readings will be available to enrolled students in this Google Drive folder.

Readings will be posted in the spreadsheet shown below. Consider any future listings to be tentative.