INFT2503

C++ for programmers

Autumn

Trondheim

Norwegian

Overview

93 candidates

Pass rate

89%

7 points

Grade distribution
Average over time
Pass rate over time

About this 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 outcomes

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

Teaching methods

Online study. Lessons and exercises with feedback.