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
- BSc Artificial Intelligence & Computer Science [0144]
- BSc Artificial Intelligence & Computer Science with an Industrial Year [9502]
- BSc Artificial Intelligence & Computer Science with Study Abroad [452B]
- BSc Computer Science [4436]
- BSc Computer Science with an Industrial Year [9499]
- BSc Computer Science with Digital Technology Partnership (PwC) [610C]
- BSc Computer Science with Digital Technology Partnership (Vodafone) [893C]
- BSc Computer Science with Study Abroad [5571]
- BSc Mathematics and Computer Science [5196]
- BSc Mathematics and Computer Science with an Industrial Year [9495]
- MEng Computer Science/Software Engineering [4754]
- MEng Computer Science/Software Engineering with an Industrial Year [9501]
- MSci Computer Science [4443]
- MSci Computer Science with an Industrial Year [9509]
- MSci Computer Science with Study Abroad [5576]
- MSci Mathematics and Computer Science [5197]
- MSci Mathematics and Computer Science with an Industrial Year [9496]