skip to content

Department of Computer Science and Technology

Principal lecturer: 
Dr Heidi Howard
Prof Jon Crowcroft
MPhil ACS, Part III
Course code: 
1A Operations Systems, 1B Concurrent and Distributed Systems and 1B Computer Networking or equivalent courses
Class limit: 


This module will attempt to provide an overview of “systems” research. This is a very broad field which has existed for over 50 years and which has historically included areas such as operating systems, database systems, file systems, distributed systems and networking, to name but a few. The course will thus necessarily cover only a tiny subset of the field.

Many good ideas in systems research are the result of discussing and debating previous work. A primary aim of this course therefore will be to educate students in the art of critical thinking: the ability to argue for and/or against a particular approach or idea. This will be done by having students read and critique a set of papers each week. In addition, each week will include presentations from a number of participants which aim to advocate or criticise each piece of work.


The syllabus for this course will vary from year to year so as to cover a mixture of older and more contemporary systems papers. Contemporary papers will be generally selected from the past 5 years, primarily drawn from high quality conferences such as SOSP, OSDI, ASPLOS, FAST, NSDI and EuroSys. Example topics might include:

  • Systems Research and System Design,
  • OS Structure and Virtual Memory,
  • Systems Virtualisation,
  • Consensus,
  • Scheduling,
  • Privacy,
  • Data Intensive Computing, and
  • Bugs.

The reading each week will involve a load equivalent to 3 full length papers. Students will be expected to read these in detail and prepare a written summary and review. In addition, each week will contain one or more short presentations by students for each paper. The types of presentation will include:

  • Overview: a balanced presentation of the paper, covering both positive and negative aspects.
  • Advocacy: a positive spin on the paper, aiming to convince others of its value.
  • Criticism: a negative take on the paper, focusing on its weak spots and omissions.

These presentation roles will be assigned in advance, regardless of the soi disant absolute merit of the paper or the preference of the student. Furthermore, all students – regardless of any assigned presentation role in a given week – will be expected to participate in the class by asking questions and generally entering into the debate.


On completion of this module students should have a broad understanding of some key papers and concepts in computer systems research, as well as an appreciation of how to argue for or against any particular idea.

Coursework and practical work

Coursework will be the production of the weekly paper reviews. Practical work will be presenting papers as appropriate, as well as ongoing participation in the class.


Assessment consists of:

  • One essay per week for 7 weeks (10% each)
  • Presentation (10%)
  • Participation in class over the term (20%)

Recommended reading

Most of the reading for this course will be in the form of the selected papers each week. However, the following may be useful background reading to refresh your knowledge from undergraduate courses:

Silberschatz, A., Peterson, J.L. and Galvin, P.C. (2005). Operating systems concepts. Addison-Wesley (7th ed.).

Tanenbaum, A.S. (2008). Modern Operating Systems. Prentice-Hall (3rd ed.).

Bacon, J. and Harris, T. (2003). Operating systems. Addison-Wesley (3rd ed.).

Anderson, T. and Dahlin, M. (2014). Operating Systems: Principles and Practice. Recursive Books (2nd ed.).

Hennessy, J. and Patterson, D. (2006). Computer architecture: a quantitative approach. Elsevier (4th ed.). ISBN 978-0-12-370490-0.

Kleppmann M (2016) Designing Data-Intensive Applications, O'Reilly (1st ed.)

Further Information

Due to COVID-19, the method of teaching for this module will be adjusted to cater for physical distancing and students who are working remotely. We will confirm precisely how the module will be taught closer to the start of term.