Programme/Approved Electives for 2022/23
Available as a Free Standing Elective
This module bridges the gap between the fundamental, theoretical organisation of computer systems and high-level concepts such as programming languages. Through the study of key ideas such as the design and organisation of hardware, the role of operating systems and the computational principles of parallelism and caching we come to understand the flexibility, power and limitations of today's information technology. Students who take this module gain a deep insight into the mechanics of everyday computing as well as the constraints we encounter and the design choices we have to make when building our own software systems.The module develops the following Keele Graduate attributes:- An appreciation of the development and value of your chosen subjects of study, awareness of their contexts, the links between them, and awareness of the provisional and dynamic nature of knowledge.- The ability creatively to solve problems using a range of different approaches and techniques, and to determine which techniques are appropriate for the issue at hand.- The ability to communicate clearly and effectively in written and verbal forms for different purposes and to a variety of audiences.- The knowledge, skills, self-confidence and self-awareness actively to pursue your future goals.
This module aims to provide an expanded view of the operation of real computer systems by introducing the core concepts of computer hardware in detail and elucidating the hierarchy of abstraction found in modern technology. The starting point for the module is architecture (e.g. processing, memory, caching, parallelism and I/O), beyond that covered in other introductory modules. This then leads into the role of operating systems (e.g. task scheduling, memory allocation and the organisation of storage) and virtualisation environments (e.g. translation of bytecode to CPU-native code by the Java Virtual Machine) as mediators between hardware and user-defined software. The overall aim is to bridge the gap in description between the fundamental organisation of computer systems and the high-level language constructs and design philosophies that are expanded upon later in the degree programme.
Intended Learning Outcomes
describe the organisation of modern computer architectures: 1distinguish, in broad terms, between extant hardware architectures and evaluate their suitability for particular problems: 1describe, apply, analyse and interpret the results of various benchmark measures of computer performance: 1summarise the various degrees of abstraction in computer systems and compare the utility of each level in different user contexts: 1explain mechanisms of memory management: 1deconstruct the role of operating systems in relation to computer architectures and user-defined software: 1
20 hours: Lectures20 hours: Practical classes and workshops110 hours: Guided independent study
1: Open Book Examination weighted 100%
Description of Module Assessment
Online open-book examThe paper will be released on KLE as a Word document on the morning of the exam. Section A will contain compulsory, short answer questions. Section B will contain one compulsory essay-based question.