University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Systems Programming

LEVEL 02 - Years 2, 3 in Modular Undergraduate Course


DEPARTMENT Computer Science

DESCRIPTION This study-unit will assume that students have an aptitude for computer programing in an imperative programming language, and that students are familiar with programming concepts such as variables, functions, flow control and linked lists. This unit enforces the concepts introduced in Operating System module with a hands-on approach.

The teaching environment is UNIX-based, and so students are expected to know either UNIX System V or Berkeley UNIX. The UNIX system and the C language will be used to experiment with operating system facilities in avenues such as low-level file input/output, process creation and manipulation, advanced signal handling and interprocess communication (such as pipes, fifo files, semaphores, shared memory and message queues). In addition, socket programming will be introduced to allow interprocessor communication through TCP/IP. The practical application of these concepts will then be examined through the allocated assignments. By the end of the study-unit, students will be competent C programmers who will also appreciate the complexities of low level systems programming on Unix.

Study-unit Aims

The aim of this study-unit is to provide an in-depth understanding of UNIX-based operating system concepts through a hands-on approach.

Learning Outcomes

1. Knowledge & Understanding:
By the end of the study-unit the student will be able to:

- Describe advanced UNIX operating system concepts and terminology;
- Demonstrate a command of the basic tools used to develop software in C on the Unix platform;
- Describe process management in the Unix environment;
- Describe basic IPC issues and techniques in Unix programming;
- Describe socket programming using the Berkeley socket AP.

2. Skills:
By the end of the study-unit the student will be able to write, compile, debug and execute C programs that:

- Correctly use system interfaces provided by UNIX or a UNIX-like operating system;
- Create, manage and terminate processes and threads on UNIX;
- Use UNIX synchronisation primitives;
- Interact by invoking and catching signals;
- Use files and I/O on UNIX;
- Make use of memory management functions;
- Are distributed and communicate across a network.

Main Text/s and any supplementary readings

Main Texts:
- Advanced Programming in the UNIX Environment. W.R. Stevens. Addison-Wesley, 2005. ISBN 0201433079.
- UNIX System Programming. 2nd Ed. K. Haviland, D. Gray and B. Salama. Addison-Wesley, 1998. ISBN 0 201-87758-9.

Supplementary Readings:
- The C Programming Language. BW Kernighan, DM Ritchie. Prentice-Hall, 1988. ISBN 0-13-110362-8.
- C How to Program. HM Deitel, PJ Deitel. Pearson Prentice-Hall, 2007. ISBN 0-13-240416-8.

ADDITIONAL NOTES Students taking this study-unit are assumed to have knowledge of the material covered in the following study-units:
- CPS1000 or CPS1011;
- CPS1004 or CPS1012;
- CSA1018 or ICS1018.

STUDY-UNIT TYPE Lecture, Independent Study & Practicum

Assessment Component/s Resit Availability Weighting
Assignment Yes 60%
Examination (2 Hours) Yes 40%

LECTURER/S Alessio Magro

The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Study-unit Registration Forms 2017/8


For Undergraduate (Day) and Postgraduate students.


Academic Advisors 2017/8


Academic Advisors for ICT 1st year students (Intake 2017/8), NOW available

Faculty of ICT Timetables


ICT Timetables are available from Here.

Health and Safety Regulations for Labs Form

The Faculty of ICT Health and Safety Regulations for Laboratories form can be found here



Log In back to UoM Homepage