A modern computer system spans many layers: applications, libraries, operating systems, networks, and hardware devices. Building a good system entails making the right trade-offs (e.g., between performance, durability, and correctness) and understanding emergent behaviors—the difference between great system designers and average ones is that the really good ones make these trade-offs in a principled fashion, not by trial-and-error. In this course, we identify some of the key principles underlying successful systems, and learn how to solve problems in computing using ideas, techniques, and algorithms from operating systems, networks, databases, programming languages, and computer architecture. The basic courses on these topics teach how the elemental parts of modern systems work; POCS picks up where those courses leave off and focuses on how the pieces come together to form useful, efficient systems.

This course is targeted primarily at students who wish to pursue research in systems or acquire a deep understanding of computer systems. It is an intellectually challenging, fast paced course, in which survival requires a solid background in operating systems, databases, networking, programming languages, and computer architecture. Please see the syllabus for more information.

This is an intensive discussion-oriented class, and Piazza will be our primary written collaboration tool. If you plan to take the class this Fall, please sign up on Piazza with your EPFL email address before the start of the semester.


  • Redundancy and Availability List of papers for the upcoming week on the topic of redundancy and availability has been updated to include new compulsory paper. Please visit the Schedule page for all the ...
    Posted Nov 26, 2012, 6:18 AM by Danica Porobic
  • Textbook Part II Chapters 7 through 11 of the "Principles of Computer Systems" textbook are available free online without any access restrictions.
    Posted Nov 4, 2012, 7:35 AM by Danica Porobic
  • Virtualization papers If you have trouble accessing the Popek and Goldberg paper on "Formal requirements for virtualizable third generation architectures" from the Schedule page, go to Piazza and download it from there
    Posted Oct 29, 2012, 6:02 AM by Danica Porobic
Showing posts 1 - 3 of 5. View more »