- Student Records
Programme & Unit Catalogues

 

Department of Computer Science, Unit Catalogue 2009/10


CM50199: Systems programming

Click here for further information Credits: 6
Click here for further information Level: Masters
Click here for further information Period: Semester 1
Click here for further information Assessment: CW 75%, EX 25%
Click here for further informationSupplementary Assessment: Like-for-like reassessment (where allowed by programme regulations)
Click here for further information Requisites:
Description: Aims:
To provide knowledge and understanding of low-level programming; To develop skills in systems level programming and a variety of widely-used algorithmic solutions to common problems.

Learning Outcomes:
After taking this unit a student should be able to:
1. Appreciate the low-level aspects of computers and programming and how features of hardware affect systems programming;
2. Choose and implement a variety of data structures and algorithms appropriate for systems level programming;
3. Program in C at the systems level.

Skills:
Ability to program at a professional level by understanding and using concepts and constructs that allow the software to interface with the operating system and computer hardware (T, F, A); knowledge of principles, algorithms and software that enables the user to program at any required level (T, F, A).

Content:
Introduction to C. Architecture of a computer (bits, bytes, addressing, virtual memory, floating point, caching, etc.).
Basic complexity theory.
Dynamic memory management algorithms. Data structures (lists, trees, graphs, etc.),
Algorithms for sorting, searching, hashing, compression, etc.. Input/output in C (buffered and unbuffered).
Making and using libraries.
Introduction to Posix threads.
Debugging.
NB. Programmes and units are subject to change at any time, in accordance with normal University procedures.