Course - C++ for programmers - INFT2503
INFT2503 - C++ for programmers
About
Examination arrangement
Examination arrangement: Home examination
Grade: Passed / Not Passed
Evaluation | Weighting | Duration | Grade deviation | Examination aids |
---|---|---|---|---|
Home examination | 100/100 | 4 hours |
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
8 exercises are required to be approved in order to sit for the exam.
Aids: all printed and written aids allowed.
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 | To |
---|---|---|---|
IFUD1048 | 5.0 | AUTUMN 2021 | |
IINI4003 | 5.0 | AUTUMN 2021 | |
TDT4102 | 5.0 | AUTUMN 2022 |
No
Version: 1
Credits:
7.5 SP
Study level: Third-year courses, level III
Term no.: 1
Teaching semester: AUTUMN 2024
Language of instruction: Norwegian
Location: Trondheim
- Engineering
Department with academic responsibility
Department of Computer Science
Examination
Examination arrangement: Home examination
- Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
-
Autumn
ORD
Home examination
100/100
Release
2024-12-06Submission
2024-12-06
09:00
INSPERA
13:00 -
Room Building Number of candidates -
Spring
UTS
Home examination
100/100
Release
2025-05-15Submission
2025-05-15
09:00
INSPERA
13:00 -
Room Building Number of candidates
- * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.
For more information regarding registration for examination and examination procedures, see "Innsida - Exams"