Accessibility statement

Systems & Devices 1: Introduction to Computing Systems - COM00011C

« Back to module search

  • Department: Computer Science
  • Module co-ordinator: Dr. Mike Freeman
  • Credit value: 20 credits
  • Credit level: C
  • Academic year of delivery: 2022-23

Module summary

Introduction to Computing Systems

Module will run

Occurrence Teaching period
A Spring Term 2022-23 to Summer Term 2022-23

Module aims

Students taking this module will gain foundations in the key architectural components of a computer system, how a high level program is executed upon that system, and how a computer system is constructed in hardware.

Students will be introduced to how a computer system is constructed, and how a program implemented in a high level programming language (for example C) executes on that system. Students will be introduced to the basics of computer architecture, operating systems and program language construction, providing a basis for further study in later years. Students will be introduced to a bottom-up approach, motivated by real examples, taught as both lectures and laboratory practicals.Students will be able to describe and apply their programming skills on real devices and computer systems that are used in many real applications today.

Module learning outcomes

SD101

Identify the purpose of key computer hardware components such as processors, memories and busses.

SD102

Describe different data types commonly found in binary systems (e.g. signed vs. unsigned integers)

SD103

Apply different operations to binary to convert and transform binary strings, perform arithmetic, and perform logical operations.

SD104

Express logical expressions as basic gates, transistors and combinatoric logic circuits

SD105

Describe the function and limitations of a variety of logical building blocks in the context of processor architectures

SD106

Describe the von Neumann Model paradigm of computer architecture, including the fetch execute cycle of instruction processing.

SD107

Explain how operations executed in a processor can be used to implement to higher level sequential, conditional and iterative programming language constructs

SD108

Explain the use of assemblers, compilers and linkers to create executable code for a processor.

SD109

Build a simple system comprised of a CPU, memory and input/output.

SD110

Use a toolchain (compiling and linking code) to develop software for a simple system built in the module

SD111

Relate the fundamentals of computer architecture to real world systems through exploration of relevant case studies.

SD112

Identify potential security problems associated with architecture design.

Assessment

Task Length % of module mark Group
Essay/coursework
SYS1 Assessment
N/A 100 A
Essay/coursework
SYS1 Assessment
N/A 100 B

Special assessment rules

None

Reassessment

Task Length % of module mark Group
Essay/coursework
SYS1 Assessment
N/A 100 A
Essay/coursework
SYS1 Assessment
N/A 100 B

Module feedback

Feedback is provided through work in practical sessions, and after the final assessment as per normal University guidelines.

Indicative reading

*** J.Hennessy, D.Patterson Computer Architecture: A Quantitative Approach (2nd Edition) Morgan Kaufmannn 1990

*** W.Stallings Computer Organization and Architecture: Design For Performance (8th Edition) Pearson 2010



The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.