Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2013-2014 (archived)

Module COMP3121: Advanced Computer Systems

Department: Computer Science

COMP3121: Advanced Computer Systems

Type Open Level 3 Credits 20 Availability Available in 2013/14 Module Cap None. Location Durham
Tied to


  • Introduction to Programming (COMP1011).


  • None

Excluded Combination of Modules

  • None


  • To provide knowledge and understanding of computer architecture
  • To understand the relationship between hardware and software when computers are used as components in engineering systems, and the design, implementation and testing of software in these situations.


  • Elements of embedded computer systems
  • Processor characteristics, including RISC and CISC architectures
  • Current processor characteristics and designs
  • Memory Systems
  • Hardware access methods in software, controlling a wide range of common devices in software and an appreciation of assembler programming.
  • Instruction set design

Learning Outcomes

Subject-specific Knowledge:
  • The operation of computer hardware for embedded systems.
  • Detailed knowledge of the operation of a range of current processors required for advanced systems programming.
  • The relationship between Computer Instruction Sets and High Level Programming Languages.
  • Complex performance issues of current computers, and the selection of processors for specific applications
Subject-specific Skills:
  • The ability to produce working application software for embedded systems.
  • The ability to select an appropriate processor for specific applications.
  • A technical understanding of ways in which computer hardware design impacts on performance of operating systems and application software.
Key Skills:
  • Capacity for self-learning in familiar and unfamiliar situations.
  • General problem solving skills.

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • The courses in Computer Architecture and Real Time Computing are covered in lectures and are reinforced by design based problem sheets, leading to the required design and problem solving capability.
  • Real Time Computing is taught by lectures and laboratory classes. These are continuously assessed in the form of computer programming exercises to test application to real-world problems. A bench test is used to assess the ability to produce an application within a time limit.
  • Students are able to make use of staff ‘Tutorial Hours’ to discuss any aspect of the module with teaching staff on a one-to-one basis.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Computer Architecture lectures 19 1 per week terms 1 and 2 1 hour 19
Real Time Computing lectures 10 1 per week term 1 1 Hour 10
Revision seminar 1 1 in term 3 1 hour 1
Real Time Computing Laboratories 8 0 or 1 per week term 1 2 hours 16
Tutorials 4 0,1 or 2 per week students sign up for appropriate time 4
Reading and work on set problem 150
Total 200

Summative Assessment

Component: Continuous Assessment Component Weighting: 60%
Element Length / duration Element Weighting Resit Opportunity
Bench Test 34% no
Real Time Computing Assignments 66% no
Component: Examination Component Weighting: 40%
Element Length / duration Element Weighting Resit Opportunity
Computer Architecture 2 hours 100% no

Formative Assessment:

Formative Real Time Computing formative assignments. Problem sheets to accompany lecture courses.

Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University