Course - C++ for programmers - INFT2503
C++ for programmers
Choose study yearAbout
About the course
Course content
System programming language in Unix like systems such as Linux and MacOS, with focus on C++ in particular. C++ will be compared to other relevant system programming languages such as C and Rust.
System programming languages are programming languages specifically designed to be resource efficient, with better memory utilisation, are more energy efficient and result in faster runtime than other programming languages such as Java, Python and JavaScript.
Content:
- Resource management in system programming languages
- More about object-oriented programming, such as struct in C, multiple inheritance in C++ and traits in Rust
- Error handling
- Containers
- Functional algorithms
- Constant expressions and template meta-programming
- Parallelisation and asynchronous programming
- Operator overloading
Learning outcome
Knowledge
The candidate can give an account of:
- resource acquisition is initialisation (RAII)
- pointers, smart pointers and references
- object-oriented programming in system programming languages
- various forms of error handling
- constant expressions, template meta-programming and operator overloading
- different types of containers and functional algorithms
- advantages and disadvantages of parallelisation and asynchronous programming
Skills
The candidate can:
- create stable and resource efficient software and software libraries in C++
- read and understand C++ source code written by others
- use 3rd party libraries
General competence
The candidate is better able to:
- make professionally justified choice of programming language for given tasks
- contribute to the development of software and software libraries written in a system programming language
- acquire new knowledge in a field in continuous development
Learning methods and activities
Online study. Lessons and exercises with feedback.
Compulsory assignments
- Excercises
Further on evaluation
Compulsory assignments: 8 exercises are required to be approved in order to sit for the exam.
Re-sit exam: May/June
In the event of a re-sit examination, the written examination may be changed to an oral examination.
Specific conditions
Admission to a programme of study is required:
Computer Science - Engineering (BIDATA)
Digital Infrastructure and Cyber Security (BDIGSEC)
Information Technology (ITBAINFO)
Recommended previous knowledge
Programming experience in one or more programming languages.
Course materials
Lessons are published on the learning platform, and the recommended textbook is given at the start of the study.
Credit reductions
Course code | Reduction | From |
---|---|---|
IFUD1048 | 5 sp | Autumn 2021 |
IINI4003 | 5 sp | Autumn 2021 |
TDT4102 | 3.7 sp | Autumn 2025 |
Subject areas
- Engineering