spring 2022
DTE-3607 Advanced Game and Simulator Programming - 10 ECTS

Application deadline

Applicants from Nordic countries: 1 June for the autumn semester and 1 December for the spring semester.

Type of course

The course can be taken as a single course.

Admission requirements

A relevant undergraduate bachelor Engineering programme with minimum 25 credits mathematic, 5 credits statistics and 7,5 credits Physics

Application Code: 9371

Prerequisite(s) Knowledge of and experience with C++ and object oriented analysis, design and programming.

Course content

The course focuses on advanced concepts and techniques necessary for development of simulator software and computer games using the C++ programming language.

The course aims at solving problems by programming with emphasis on numerical stability, type safety, multi-threading, concurrency, efficient data structures and modularization. Some fundamental C++ programming topics include:

  • Memory usage and control
  • Templates and namespaces
  • Type safe programming
  • Abstractions and inheritance through advanced use of polymorphism
  • Topological data structures
  • Responsible objects / agents
  • Modularization and distribution of work
  • Debugging, dynamic and static analysis

The topics of basic geometry, affine space, projective space and physically accurate simulations are encountered through the mandatory project task.

Recommended prerequisites

DTE-3603 Introduction to Technical Programming, MAT-3800 Linear Algebra II, MAT-3801 Numerical Methods

Objectives of the course

On completion of the course, the successful student is expected to have the following:


  • The candidate will have knowledge in type safe programming in C++ (K2).
  • The candidate will have special knowledge in geometry and related mathematical spaces (K3).
  • The candidate will have basic knowledge about computer graphics (K1).
  • The candidate will have knowledge about simulation and ODE-solvers (K3).
  • The candidate knows how to use and write programming libraries and APIs (K2).


  • The candidate will work independently with software development, by analyzing sub-problems and make plans for solving them analytically (S1).
  • The candidate will be able independently to construct large and complex computer programs running on different computer architectures (S2).

General competence:

  • The candidate is influenced to maintain and develop curiosity and values such as openness, precision and the importance of separating between knowledge and opinions (GC1).
  • The candidate can write a scientific report, which clearly distinguishes the candidate¿s own contribution (GC2).

Language of instruction and examination


Teaching methods

The subject is a project based course that gives 10 credits. It is distributed across two semesters (at least 6 weeks of work). There will be lessons distributed across the four weeks directed by the teacher. Most of the time will still be used for the project which is described on the subject's homepage.

Information to incoming exchange students

This course is available for inbound exchange students.

This course is open for inbound exchange student who meets the admission requirements. Please see the Admission requirements.

Do you have questions about this module? Please check the following website to contact the course coordinator for exchange students at the faculty: INBOUND STUDENT MOBILITY: COURSE COORDINATORS AT THE FACULTIES | UiT


Oral examination (M) - individual

Grading will be done by using A-F grading scale, F is Fail. A re-sit exam will be arranged for this course.

  • About the course
  • Campus: Narvik |
  • ECTS: 10
  • Course code: DTE-3607
  • Tidligere år og semester for dette emnet