Welcome!

This is the externally accessible web-page for COMS10015: Computer Architecture, a unit operated by the School of Computer Science, University of Bristol (UoB).

This page is being updated for the 2026-27 academic year. Information should be correct by the start of term.

Quoting the catalogue entry, the remit of this unit can be summarised as follows:

[…] this unit delivers an introduction to computer architecture: the focus is on bridging the gap between high-level programming languages and the hardware (e.g., micro-processors) on which associated programs execute. The unit content can be described as three main topics, which gradually build from lower to higher level concepts:

  1. From Mathematics and Physics to digital logic:
    • Boolean algebra; integer representation and arithmetic,
    • physical design of logic components (e.g., logic gates from transistors),
    • use of combinatorial logic components (e.g., Karnaugh maps),
    • use of sequential logic components (e.g., state machines).
  2. From digital logic to computer processors:
    • processor paradigms: counter, accumulator, stack, and register machines; von Neumann vs. Harvard architecture; RISC vs. CISC,
    • memory paradigms: von Neumann bottleneck, memory hierarchy; cache memories,
    • instruction set design: instruction classes; addressing modes; instruction encoding and decoding,
    • processor design: buses; control and data paths; ALU; microcoded vs. hardwired control; fetch-decode-execute cycle.
  3. From computer processors to software applications:
    • development tools: assembly language; assembly and linkage processes; debuggers,
    • support for structured programming (e.g., function calls),
    • support for operating systems (e.g., interrupts, protection).

Note that

  • An associated GitHub-based repo. houses the source code for this web-site, plus various other resources which might be useful.
  • Although this external-facing web-site hosts as much static content as possible, the unit cannot and so is not entirely “Blackboard-free”. Selected internal-facing, dynamic content is only accessible via other means: important examples include

    1. unit-wide communication, e.g., announcements (Blackboard),
    2. assessment submission, marks, and feedback (Blackboard),
    3. discussion forum (Teams).

Contact Us

For questions about the material or exercises, do not contact the lecturers directly, this doesn’t scale to ~300 students. Instead, ask your questions in the labs or on the Teams channel.

For other matters, the contact addresses are