Accessibility statement

Systems & Devices 1: Introduction to Computer Architectures - 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: 2024-25

Module summary

Introduction to Computer Architectures

Module will run

Occurrence Teaching period
A Semester 2 2024-25

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 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

  • Identify the purpose of key computer hardware components such as processors, memories and busses.
  • Describe different data types commonly found in binary systems (e.g. signed vs. unsigned integers), and show how to convert, perform arithmetic, and perform logical operations.
  • Express logical expressions as basic gates, transistors and combinatoric logic circuits
  • Describe the function and limitations of a variety of logical building blocks in the context of processor architectures
  • Describe the von Neumann Model paradigm of computer architecture, including the fetch execute cycle of instruction processing.
  • Explain how operations executed in a processor can be used to implement to higher level sequential, conditional and iterative programming language constructs
  • Build a simple system comprised of a CPU, memory and input/output.
  • Explain the use of assemblers, compilers and linkers to create executable code for a processor, and use such a toolchain develop software for the simple system built in the module
  • Identify potential security problems associated with architecture design.


Task Length % of module mark
SYS1 Assessment
N/A 100

Special assessment rules


Additional assessment information

Open assessment is a long-running task that takes place over a number of weeks.


Task Length % of module mark
SYS1 Reassessment
N/A 100

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.