Bachelor of Game Programming - BSP

Short description

Game programming is a broad field of study where the skills required are relevant to many industries. Game programmers must primarily be good programmers with a broad understanding of computer programming and technology and the ability to work with a very wide range of other disciplines. The core skills required range from understanding real-time graphics techniques to artificial intelligence and computer architecture. Computer games drive the development of new technology and push computing devices to their limit. Computer game programmers have to understand how to get the most out of limited hardware, such as mobile phones, to create enjoyable experiences.

This degree is not an easy option. This degree requires all the programming courses in a standard programming degree, plus graphics, artificial intelligence and game engine programming. Graduates of the course are expected to be both good programmers and have the ability to communicate with designers and artists. The degree requires participation in many group projects and presentations.

After graduation, you will have a solid education in programming that allows access to jobs in gaming companies, software engineering and the entertainment industry. The program also provides a good basis for working in: Systems for e-learning, visualization, simulation, interactive web applications and graphics-based computer systems.

Many of the courses are taught English and have an international focus.  The curriculum is based on both the International Game Developers Association's curriculum framework and the ACM's computer science curriculum. This international focus allows graduates to work anywhere in the world.


The program is a 3-year undergraduate computer education that provides 180 study points spread over six semesters. Upon completion you are awarded the degree of a Bachelor in Game Programming. This program is eligible for admission to IT-related master's programs in Norway and abroad.

Expected learning outcomes

After completing the study you will have the ability to develop computer games from scratch or using a game engine. Our graduates are able to work as part of a large team to develop interactive applications and computer games. In particular, you will have the ability to implement advanced graphics, artificial intelligence, networking and interaction.

The specific learning outcomes include:


·     A basic knowledge of maths, algorithms and problem solving.

·     Knowledge of the communication and information technology used for computer games.

·     An understanding of the legal, social, ethical consequences of computer technology and computer games.

·     The ability to update your own knowledge and continue life-long learning.


·     The ability to apply what you have learned to solve practical problems in computer programming and game development.

·     Collaboration in teams to develop and present solutions to problems both orally and in written form.

·     The ability to find relevant sources in text and on the Internet to solve algorithmic, design, and technical problems.

·     An understanding of the role of middleware and tools and the ability to use these tools in conjunction with personally developed code.

General Competence

·     In insight into academic forms of communication and the ability to write reports in both Norwegian and English.

·     The ability to develop innovative solutions to tasks.

·     An understanding of entrepreneurial activity and the ability to be part of startup businesses.

Along with these game programming specific abilities our graduates are expected to be good citizens. To understand the role of computers and games in modern society.  Our graduates should contribute to the debate about the role of games in society and be able to make ethical decisions about the nature and content of the games and software they help create.

In your final semester you will develop a game as part of the Bachelor's thesis. This project will form a critical part of your portfolio. The project will also have input from professional game developers, and the results will be reviewed by industry partners. This capstone project will help integrate all the subjects that you have been studying and provide vital group work experience.


Students can go abroad in semester 4 provided that they find a study program containing Operating Systems and Software Engineering. Contact the international office at GUC student administration for specific information, help and advice. As many of the course are taught in English the program is also very well suited to continuing your studies at the Masters level aboard.

Target Group

There is no requirement for particular computer skills before the course starts. The program assumes that students are interested in computer games and fascinated with how they are made. This course is designed to engage any student who meets the admission requirements and are motivated to immerse themselves in this exciting and competitive field.

Students from high school are the primary target group, but the program is also suitable for those who are returning from the workforce looking to develop there programming and game development ability.

Admission Criteria

Admission to the program is general admission plus R1/S2 (2MX) or real competence. If you do not have the required mathematics background, you can apply under the condition that you take the summer courses (R1) in mathematics offered by the university college, which starts a few weeks before the ordinary studies.

Course Structure

As a student in the Bachelor's degree in game programming, you will gain general computer science skills, which characterizes any skilled programmer. It is important to have a comprehensive understanding of the computer environment a game works within, from understanding the hardware and data networks to end users and game experience. The program is built up with elements of both basic computer science courses and games specific topics. The last part of the program heavily specialises in games programming.

The program will therefore have a particular focus on:

  •  Programming:  Basics and language-independent skills in structured and object-oriented programming.
  •  Graphics:  Theory and techniques in 2D and 3D graphics and modeling.
  •  AI:  Understanding how computers control agents in virtual worlds.

Many course use projects to embed theory in practical implementation. The program ends with a major game development project (bachelor thesis) which can be in association with industry or can be used as the basis for forming a new company. The college offers modern laboratories tailored to the needs of the individual topics. You will engage with lecturers from around the world in this highly skilled professional community. In addition, you will be involved in research activities under the direction of the department's professors. You will experience an inspiring and active study environment with students from various IT and media programs.

Some topics are shared with Computer Science and Engineering. This includes topics such as Computer Architecture and Operating Systems, which provides understanding of the underlying technological platform of different systems. Programming skills are built up gradually throughout the study in the topics Basic programming, Object-oriented programming and algorithmic methods courses. Other topics are game specific including Game Design, Mathematics for game programming, Graphics Programming, Game Programming and Artificial Intelligence.

20 credits are elective courses. Students will also be able to choose among a wide range of science topics from other IMT studies.

Table of subjects

Bachelor of Science in Game Engineering, 1st year 2010/2011

Coursecode Course name C/E *) ECTS each. semester
  S1(A) S2(S) S3(A) S4(S) S5(A) S6(S)
IMT1361 Game Design C 10          
REA1101 Mathematics for computer science C 10          
IMT1031 Fundamental Programming C 10          
IMT1082 Object-Oriented Programming C   10        
IMT2431 Data Communication and Network Security C   10        
REA2061 Mathematics for Game Programming C   10        
Sum: 30 30 0 0 0 0
*) C - Compulsory course, E - Elective course

Bachelor of Science in Game Engineering, 2nd year 2011/2012

Coursecode Course name C/E *) ECTS each. semester
  S1(A) S2(S) S3(A) S4(S) S5(A) S6(S)
IMT2531 Graphics Programming C     10      
IMT2021 Algorithmic Methods C     10      
IMT2072 Ergonomics in digital media C     10      
IMT2243 Software Engineering C       10    
IMT2282 Operating Systems C       10    
IMT3591 Artificial Intelligence C       10    
Sum: 0 0 30 30 0 0
*) C - Compulsory course, E - Elective course

Bachelor of Science in Game Engineering, 3rd year 2012/2013

Coursecode Course name C/E *) ECTS each. semester
  S1(A) S2(S) S3(A) S4(S) S5(A) S6(S)
IMT2571 Data Modelling and Database Systems C         10  
IMT3601 Game Programming C         10  
Elective course, 10 ECTS E         10  
Elective course, 10 ECTS E           10
IMT3912 Bachelor's thesis C           20
Sum: 0 0 0 0 30 30
*) C - Compulsory course, E - Elective course


Coursecode Course name C/E *) ECTS each. semester
  S1(A) S2(S)
IMT3662 Mobile Development Theory E 5  
IMT3672 Mobile Development Project E 5  
IMT3102 Object-Oriented Software Development E 10  
IMT3281 Software Development E 10  
IMT3861 Mainframes E 10  
IMT2581 Rapid Prototyping and Innovation E 2,5 2,5
IMT2291 Web Technology E   10
IMT3511 Discrete Mathematics E   10
Sum: 0 0
*) C - Compulsory course, E - Elective course