Module Information

Module Identifier
Module Title
Academic Year
Semester 1

Course Delivery

Delivery Type Delivery length / details
Lecture 22 lectures
Practical 4 x 2 hours


Assessment Type Assessment length / details Proportion
Semester Exam 2 Hours   written examination  75%
Semester Assessment Assignment (25 hours)  25%
Supplementary Assessment Resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value  100%

Learning Outcomes

On successful completion of this module students should be able to:

1. analyse a block diagram of a computer and explain how it works at the level of logic gates.

2. analyse and develop low level programs and describe how they are executed by a CPU.

3. describe how a computer performs input and output operations.

4. judge the applicability of high and low level language programming.

5. Explain the operation of a simple computer's CPU, memory and buses in terms of digital logic.

6. analyse and design simple logic circuits.

7. explain the operation of typical microcontroller I/O devices.

8. demonstrate an understanding of low-level programming operations on a microcontroller.

9. evaluate the applicability of contrasting CPU architectures for real world problems.

Brief description

This module examines what a computer is and how it works, down to the level of digital electronics. The module provides students who continue to study software development with an appropriate understanding of the hardware on which programs run and how programs are executed. The module will look at programming in assembly language and machine code.


Introduction and revision of what is a computer - 1 lecture

An introduction to the module; ensure students remember relevant parts of CS10110 (what is a computer, basic logic, memory, buses, binary arithmetic)

Waves, advanced digital logic, flip-flops - 6 lectures

Digitisation of analogue waveforms, problems of digital waveforms, logic levels and voltages, transistor logic, laws and rules of Boolean algebra. Basic SR latch, flip-flops, flip-flops as storage devices, flip-flops as the basis for binary arithmetic, counters and frequency division. Encoders, multiplexers. I. C. packages and I. C. technologies.

Inside the CPU - 3 Lectures

The control unit, the ALU, registers. Implementing machine code in hardware. Simple examples of instructions. The fetch-execute cycle and the program counter.

A real CPU example: (the Motorola 68HC11 or similar) - 5 Lectures

Some machine codes and mnemonics. Addressing modes. Assembly code. Loops, subroutines, the stack, stack frames, parameter passing, local variables, assembly language equivalents of HLL constructs.

I/O - 2 Lectures

Example ? programming a simple robot. Interrupts.

Microcontoller hardware expansion - 3 lectures.

Single chip/expanded mode, memory maps, address decoding circuits. RISC versus CISC computer hardware.

Example microcontroller - 2 lectures.

I. C. complexity classificiation. Microcontroller on-chip peripheral functions and architecture.

Module Skills

Skills Type Skills details
Application of Number Inherent to subject
Communication On exam and assignment
Improving own Learning and Performance Inherent to subject
Information Technology Inherent to subject
Personal Development and Career planning Acquaints students with another area of computing
Problem solving In assignments and practicals
Research skills May involve researching new technology
Subject Specific Skills See syllabus
Team work no


This module is at CQFW Level 5