School of Computer Science

Module 06-30203 (2021)

Systems Programming in C/C++

Level 2/I

Mohammed Bahja Mirco Giacobbe Ahmad Ibrahim Ana Stroescu Semester 1 20 credits
Co-ordinator: Mohammed Bahja
Reviewer: Mirco Giacobbe

The Module Description is a strict subset of this Syllabus Page.

Outline

The C programming language is widely used for writing programs that closely interact with hardware, most importantly operating systems (e.g. Unix, Linux, MacOS). C++ extends C with some modern features that are useful for structuring very large programs. C and C++ are widely used in industry, for example in game engines. This module introduces students to the challenges of systems-level programming, such as memory safety.


Learning Outcomes

On successful completion of this module, the student should be able to:

  • Demonstrate understanding of computer architecture
  • Program in C/C++
  • Use pointers and memory management in C/C++
  • Write code that interacts with the OS kernel

Pre-requisites

  • 06-30175 - Data Structures & Algorithms

Assessment

  • Main Assessments: Examination (50%) and continuous assessment (50%)
  • Supplementary Assessments: Examination (100%)

Programmes containing this module