C++ for programmers
| Program start date | Application deadline |
| 2025-09-01 | - |
Program Overview
Course Overview
The course C++ for programmers (INFT2503) is a third-year course, level III, with 7.5 credits. It is offered in the autumn semester and is taught in Norwegian. The course duration is one semester, and the location is Trondheim.
Course Content
The course focuses on system programming languages, particularly C++, and compares it to other relevant system programming languages such as C and Rust. The content includes:
- Resource management in system programming languages
- Object-oriented programming, including 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 will be able to 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 will be able to:
- 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 will be better able to:
- Make professionally justified choices 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
The course includes online study, lessons, and exercises with feedback.
Compulsory Assignments
- Exercises: 8 exercises are required to be approved in order to sit for the exam.
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, including:
- Computer Science - Engineering (BIDATA) - some programmes
- Digital Infrastructure and Cyber Security (BDIGSEC)
- Information Technology (ITBAINFO)
Recommended Previous Knowledge
Programming experience in one or more programming languages is recommended.
Course Materials
Lessons are published on the learning platform, and the recommended textbook is given at the start of the study.
Credit Reductions
The course has academic overlap with the following courses:
- IFUD1048: 5 sp (from Autumn 2021)
- IINI4003: 5 sp (from Autumn 2021)
- TDT4102: 3.7 sp (from Autumn 2025) If you take overlapping courses, you will receive a credit reduction in the course where you have the lowest grade. If the grades are the same, the reduction will be applied to the course completed most recently.
Subject Areas
- Engineering
Examination
The examination arrangement is a home examination, with a grade of Passed/Not Passed.
- Ordinary examination: Autumn 2025, home examination, 4 hours, Inspera Assessment
- Re-sit examination: Spring 2026, home examination, 4 hours, Inspera Assessment
