PROG2002 - Graphics Programming


Examination arrangement

Examination arrangement: Home exam
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Home exam 100/100 72 hours

Course content

Core Topics:

- The OpenGL Graphics Pipeline (2D/3D).

- Geometric Transformations (2D/3D).

- Colors, Textures, and Blending

- Shader Programming with GLSL.

- Illumination Techniques.

- C++ Programming with CMake and Git.

Learning outcome

On completion of this course the students will have the following.


- Listing and describing the components of the OpenGL graphics pipeline.

- Understanding the mathematical foundations of geometric transformations in computer graphics.

- Handling textures to display image-based content.

- Applying Illumination in 2D/3D scenes.

- OpenGL API programming.

- GLSL Shaders programming.


- Creating and manipulating 2D and 3D geometries with texturing and lighting

- Using OpenGL for rendering 2D and 3D environments.

General Competences:

- Finding solutions to a defined problem orally, and answer question about the solution.

- Using academic material from various online sources in an independent way.

- Improved software development ability.

- Reinforce version control, programming and code analysis.

Learning methods and activities

- Lectures with theoretical content.

- Labs and Assignments where the students will work in a problem-based learning setting using C++, OpenGL, CMake and Git, as well as some other relevant C++ libraries.

Compulsory assignments

  • Mandatory programming assignments

Further on evaluation

Re-sit examination is possible in agreement with the course responsible. If the number of students is low enough, the re-sit examination form might change to a deliverable and/or oral exam.


Home exam (100%)

Mandatory programming assignments that needs to be approved to be able to take the home exam.

Specific conditions

Admission to a programme of study is required:
Computer Science (BIDATA)
Programming (BPROG)

Required previous knowledge

- PROG1001 Fundamental Programming (or equivalent).

Course materials

Computing Resources:

- This course requires a computer with a GPU and an operating system capable of running OpenGL 4.1 or superior. It is the responsibility of the student to set up the operating system and drivers to work properly for the course.

- The material of the course has been prepared and tested in GNU/Linux systems. MS Windows users should be able to run this material as well. Mac OS does not support OpenGL > 4.1 and we discourage its use for this course. Students who decide to take the course with Mac OS can do it using OpenGL 4.1, however, the student will take full responsibility of adapting the material of the course to Mac OS, as well as making sure the deliverables work properly in Windows/Linux with OpenGL 4.1 or superior ("but it works on my machine" won't be accepted).

Online Resources:

- Learn OpenGL Tutorials (

Recommended Texts:

- OpenGL SuperBible: Comprehensive Tutorial and Reference, 7th Edition.

- Mathematics for 3D game programming and computer graphics, 3rd Edition.

More on the course



Version: 1
Credits:  7.5 SP
Study level: Third-year courses, level III


Term no.: 1
Teaching semester:  AUTUMN 2023

Language of instruction: English

Location: Gjøvik

Subject area(s)
  • Computer Science
Contact information
Course coordinator:

Department with academic responsibility
Department of Computer Science


Examination arrangement: Home exam

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Autumn ORD Home exam 100/100





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"

More on examinations at NTNU