PROG2002 - Graphics Programming


Examination arrangement

Examination arrangement: Home examination and Assignment
Grade: Letters

Evaluation Weighting Duration Grade deviation Examination aids
Home exam 6/10 72 hours
Assignment 4/10

Course content

Core Topics:

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

- Geometric Transformations (2D/3D).

- Colors, Textures, Blending and Sprites.

- Shaders Programming with GLSL.

- Illumination Techniques.

- C++ Project Management with CMake and Git.

Optional Topics:

- Advanced surface descriptions.

- Shadowing.

- Animations.

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.  


- Creating procedural animations

- Utilizing 3D models (loading, onscreen display)

- Creating and manipulating lighting in a 3D scene

- Using OpenGL for rendering 3D environments

- Ask better questions about what is required for a graphical effect

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 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++ and OpenGL.

Further on evaluation

Re-sit examination is possible in agreement with the course responsible.


Project portfolio defined by the course responsible (40% of the grade).

3-Day take-home exam (60% of the grade). The exam will be concluded with an oral examination where the content of the take-home exam, as well as the knowledge of the student about the theoretical content of the course will be evaluated.

Both parts need to be passed to get a passing grade in this course. In addition, the portfolio needs to have a passing grade in order to participate in the take-home exam. The grades for the project portfolio will  be valid for the following academic year.

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

Online Resources:

- Anton's OpenGL 4 Tutorials (

- Learn OpenGL Tutorials (

Recommended Texts:

- OpenGL Programming Guide: The Official Guide to Learning OpenGL, 9th Edition.

- 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: Intermediate course, level II


Term no.: 1
Teaching semester:  AUTUMN 2021

Language of instruction: English

Location: Gjøvik

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

Department with academic responsibility
Department of Computer Science


Examination arrangement: Home examination and Assignment

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





Room Building Number of candidates
Autumn ORD Assignment (1) 4/10





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.
  • 1) 2 prosjekter: 1: 17/10, kl. 23.59 2: 21/11, kl. 23.59

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU