This module covers the fundamental components (hardware and software) of a typical computer system, and how they collaborate to execute programs. The module provides a comprehensive overview, from the lowest level of abstractions in hardware to the highest level of abstractions of modern programming languages. Examples of topics that may be covered include logic circuits, machine language, processor organization, memory management, processes and concurrency, file systems. Throughout, special attention is paid to abstraction, performance, and other quality requirements.
Total contact hours: 25
Private study hours: 125
Total study hours: 150
Main assessment methods
25% Coursework and 75% Examination
English, J. (2004). Introduction to Operating Systems. Palgrave Macmillan.
Patterson, D and Hennessy, J. (2013). Computer Organisation and Design, Fifth Edition. Morgan Kaufman
Nisan, N and Schocken, S. (2005) The Elements of Computing Systems: Building a Modern Computer from First Principles. MIT Press
Scott, J.C. (2009) But How Do It Know? - The Basic Principles of Computers for Everyone. John C. Scott
See the library reading list for this module (Canterbury)
On successfully completing the module students will be able to:
1. Demonstrate a systematic understanding of the hardware and software components of a typical computer system, and of how they interact.
2. Demonstrate originality in applying the principles of abstraction and layering for building complex systems.
3. Identify the interfaces of abstraction layers and be able to select an appropriate layer on which to build useful systems.
University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.