Game Engines and the Principles of Programming


The module provides an introduction to computational thinking for students who want to work in the games industry. This module is for students who require knowledge of programming for their game design practice, but who are not primarily programmers and who have limited or no previous experience in programming.


The aim of this module is to introduce students to the core concepts of computer programming through practical examples within game engines.

Learning Outcomes

By the end of this module the student should be able to:

1.  Demonstrate the use of core programming concepts.

2.  Write computer programs for a specific purpose.

3.  Demonstrate an ability to develop and implement code within a game engine, and communicate this work to colleagues.

Indicative Content

1 Introduction

An introduction to fundamental concepts of programming.

2 Expressions, variables and statements

Use and syntax of basic programming mechanisms.

3 Conditionals

Checking conditions and changing the behaviour of a program accordingly.

4 Repetition and Loops

Repeating code within a program

5 Functions

Create functions to perform tasks and operations within a program

6 Data structures

Introduce the concept of organising the data within a program through the use of basic data structures such as lists (arrays) and dictionaries (associative arrays)

7 Classes

Write and use program components that encapsulate data and functionality together

8 Modules

Use independently developed modules (libraries) to create additional functionality within a program

9 Files

Create and use data stored in external files

10 Engines

Demonstrate an awareness of available game engines and their applications

Statement on Teaching, Learning and Assessment

The module is taught using a series of sessions combining short lecture segments with the practical exploration of concepts through the development of code within a game engine environment. During their independent study time, students gain further experience with the material through a range of problem-solving exercises. Students are also directed to additional resources relevant to the module. Students demonstrate their attainment of the learning outcomes through the presentation of a portfolio of completed game engine projects together with a final application encompassing the techniques studied in the module. Learning is supported through in-person and online interactions with teaching staff and laboratory assistants, and the use of web-based development and visualisation tools.

Teaching and Learning Work Loads

Total 200
Lecture 0
Tutorial/Seminar 12
Supervised Practical Activity 24
Unsupervised Practical Activity 0
Assessment 80
Independent 84

Guidance notes

Credit Value – The total value of SCQF credits for the module. 20 credits are the equivalent of 10 ECTS credits. A full-time student should normally register for 60 SCQF credits per semester.


We make every effort to ensure that the information on our website is accurate but it is possible that some changes may occur prior to the academic year of entry. The modules listed in this catalogue are offered subject to availability during academic year 2019/10 , and may be subject to change for future years.