Module Details

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
Title COMPUTER SYSTEMS
Code COMP124
Coordinator Dr D Jackson
Computer Science
Djackson@liverpool.ac.uk
Year CATS Level Semester CATS Value
Session 2019-20 Level 4 FHEQ Second Semester 15

Aims

To introduce how computers function at the instruction operation level.
To introduce the relationships between the instruction operation level and both the higher (software) and lower (hardware) levels.
To introduce students to the structure and functionality of modern operating systems.
To explain how the principal components of computer-based systems perform their functions and how they interact with each other.


Learning Outcomes

(LO1) Describe the structure and operation of computer hardware at the register transfer level.

(LO2) Implement/reason about simple algorithms at the level of machine code.

(LO3) Describe the overall structure and functionality of a modern operating system and its interactions with computer hardware and user processes.

(LO4) Construct/reason about programs that involve the management of concurrent processes.

(LO5) Explain at a simple level the operation and organisation of compilers.

(S1) Numeracy/computational skills - problem solving


Syllabus

 

Machine architecture and instruction execution (5 lectures): The CPU. Stored Program concept. Program Execution. A very basic overview of instruction-level operation, using a small number of instructions only.
Machine-level correspondence to high level constructs (5 lectures): Simple Arithmetic expressions. Array variables. Very simple loops. Conditional expressions. Subroutines and subroutine calling mechanisms. Stacks and recursion.
Introduction to operating systems (2 lectures): Outline of time-sharing, interrupt mechanism, normal state/special state switching.
Processes and Process management (5 lectures): process management and scheduling. Resource allocation, mutual exclusion, semaphores, deadlock.
Concurrent programming in Java. (4 lectures)
Memory management (4 lectures): storage organisation methods, paging, segmentation, memory allocation, caching, garbage collection.
File management (3 lectures): Input/output, files, filestore organisation, bu ffering.
Introduction to compilers (2 lectures): Lexical analysis, syntax analysis and code generation.


Teaching and Learning Strategies

Teaching Method 1 - Lecture
Description: 3 lectures per week for one semester
Attendance Recorded: Yes

Teaching Method 2 - Laboratory Work
Description: One assisted lab programming session per week starting from Week 4
Attendance Recorded: Yes


Teaching Schedule

  Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
Study Hours 36

    8

    44
Timetable (if known)              
Private Study 106
TOTAL HOURS 150

Assessment

EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
Formal exam There is a resit opportunity. Standard UoL penalty applies for late submission. This is an anonymous assessment. Assessment Schedule (When) :Semester 2  120 minutes.    80       
CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
Programming assignment 1 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :Semester 2  6 hours    10       
Programming assignment 2 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :Semester 2  6 hours    10       

Recommended Texts

Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.