CSC-10033 - Systems and Architecture
Coordinator: Adam Stanton Room: CR123 Tel: +44 1782 7 33992
Lecture Time: See Timetable...
Level: Level 4
Credits: 15
Study Hours: 150
School Office: 01782 733075

Programme/Approved Electives for 2020/21

None

Available as a Free Standing Elective

No

Co-requisites

None

Prerequisites

N/A

Barred Combinations

N/A

Description for 2020/21

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.

Aims
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: 1
distinguish, in broad terms, between extant hardware architectures and evaluate their suitability for particular problems: 1
describe, apply, analyse and interpret the results of various benchmark measures of computer performance: 1
summarise the various degrees of abstraction in computer systems and compare the utility of each level in different user contexts: 1
explain mechanisms of memory management: 1
deconstruct the role of operating systems in relation to computer architectures and user-defined software: 1

Study hours

20 hours: Lectures
20 hours: Practical classes and workshops
110 hours: Guided independent study

School Rules

None

Description of Module Assessment

1: Open Book Examination weighted 100%
Online open-book exam
The 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.