Skip to main content

Unit information: Computer Systems B in 2020/21

Unit name Computer Systems B
Unit code COMS20012
Credit points 20
Level of study I/5
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Paquier
Open unit status Not open

COMS10016 Imperative and Functional Programming or equivalent

COMS10015 Computer Architecture and COMS10012 Software Tools or equivalent

COMS10014 Mathematics for Computer Science A and COMS10013 Mathematics for Computer Science B or equivalent

COMS20007 Programming Languages and Computation or equivalent

COMS20008 Concurrency and Communications or equivalent



School/department Department of Computer Science
Faculty Faculty of Engineering


Using a set of fundamental techniques and technologies, the Computer Systems theme broadly explains how computing platforms work: it does so a) at various levels of abstraction, including both software and hardware, and by bridging between theory and practice, and b) both in isolation, and in combination, i.e., considering large, diverse, complex systems vs. individual platforms.

Forming part of said theme, this unit delivers an integrated introduction to two related sub-fields:

  1. Security, e.g., technical- and human-oriented threats against data in transit and at rest, and mechanism to mitigate them through provision of confidentiality, authenticity, and integrity, and
  2. Operating systems, i.e., the mechanisms which manage hardware and software resources.

The aim is to equip students with understanding and skills that enable use (i.e., design, implementation, deployment, and analysis) of these sub-fields within computer systems, when addressing real-world (e.g., industrially relevant) problems. For the latter sub-field, the content offers a segue into the wider field of resource and platform virtualisation.

Intended learning outcomes

Within the context of and challenges related to computer security and operating systems, successful completion of this unit will enable students to:

  1. Identify and understand relevant constraints and requirements, such as the need for efficiency, scalability and robustness.
  2. Demonstrate understanding of specific techniques and technologies that are relevant, plus any more general, fundamental concepts or theory which underpin them.
  3. Apply appropriate formalisms to analyse problems and potential solutions, making an appropriate selection based on associated metrics and trade-offs between them.
  4. Apply appropriate techniques, technologies, and tools in releasing concrete, effective solutions to said problems.

Teaching details

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities supported by drop-in sessions, problem sheets and self-directed exercises.

Assessment Details

100% summer timed assessment

Reading and References

  • Doeppner, Thomas W., Operating Systems in Depth (Wiley, 2010) ISBN 978-0-471-68723-8
  • Goodrich, Michael and Tamassia, Roberto, Introduction to Computer Security, New International Edition (2014, Pearson) ISBN 978-1-292-02540-7
  • Dowd, Mark, McDonald, John and Schuh Justin, The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities (2007, Addison Wesley Professional) ISBN 978-0-321-44442-4