Skip to main content
Undergraduate study
Computer Games Programming

Computer Games Programming
MComp (Hons)



Course overview

The combination of cutting-edge research with current industry practice prepares you for a career as a games AI specialist or to undertake advanced research in the area.

The fourth year extends the three-year BSc (Hons) Computer Games Programming to study and apply advanced techniques following two topics illustrative of the most current industrial trends in the area of games development.

Advanced AI Applications for Interactive Entertainment will cover the application of AI planning to interactive entertainment applications, such as interactive storytelling; aspects of symbolic AI relevant to games, including modelling for constraint programming, and other logical formalisms and advanced techniques in natural language processing. Intelligent Multimodal Interaction will cover advanced topics in human-computer interaction relating to adaptive, intelligent and multimodal interface design and implementation, and their current and potential future use as part of games technology.

Each module applies a research informed teaching approach to present advanced AI techniques applied to current computer games. It is particularly suitable if you want to study AI to a more advanced level to develop particular expertise within game development.

Professional accreditation

bcs Accredited Degree This degree has been accredited by BCS (British Computer Society), The Chartered Institute for IT.

Accreditation is a mark of assurance that the degree meets the standards set by BCS. An accredited degree entitles you to professional membership of BCS, which is an important part of the criteria for achieving Chartered IT Professional (CITP) status through the Institute. Some employers recruit preferentially from accredited degrees, and an accredited degree is likely to be recognised by other countries that are signatories to international accords.


Course details

Course structure

Year 1 core modules

Algorithms for Games

Complex coding and scripting for a computer game requires an understanding of problem solving, data structures and algorithms needed to define the contents and behaviour of a virtual 3D world. You are introduced to these topics using an informal yet rigorous approach. The algorithms range from simple to advanced, widely used in AAA games. Recreational problems, like games and puzzles, are used to convey the important algorithmic concepts.

C++ Programming

You are introduced to C++ programming, focusing on the learning, development and application of algorithms and data structures within computer games, and the basics of class-based object-oriented programming using C++ language.
You demonstrate conceptual understanding and practical competence of programming by designing and implementing solutions to specific programming problems.

You study standard C++ libraries, and where appropriate one or more 3rd party libraries. You are required to demonstrate an understanding of professional practices and appropriate codes of conduct.

Games Development with C++

You study advanced aspects of C++ language and its continual evolvement, focusing on game development.

You develop your knowledge and practical application of object-oriented programming, including exception handling, polymorphism, design patterns and templates, and the standard library for containers and algorithms.

You are required to demonstrate an understanding of professional practices and appropriate codes of conduct.

Maths for Games

Knowledge of advanced mathematical concepts for building a games engine is essential for a games programmer. You learn basic and advanced mathematics in an applied context.

Systems and Game Technology

The production of a successful, robust, user-friendly system or application begins with the analysis of the stakeholders’ requirements and a detailed design. This module introduces you to the concepts and techniques of systems analysis and design, enabling you to break down and simplify complex systems and represent these visually using industry standard approaches such as Unified Modelling Language (UML). In industry, the resulting models are used to communicate designs to the developers and to the stakeholders prior to implementation.

Games Technology is explored in the context of games development, with reference to the interconnection of hardware and the developmental processes involved in games' creation. You consider the development process and appreciate the various technologies, in both software and hardware that must be brought together in the creation of a computer game.

Visual Scripting

This module develops your introductory level skills in visual scripting using a contemporary game engine.

You consider the fundamentals of visual scripting including variables, functions and operators along with more advanced aspects such as player controllers and game modes. You use these concepts to implement gameplay functionality and interaction using a contemporary game engine.


Year 2 core modules

3D Graphics Programming

Essential algorithms and models used within interactive 3D computer graphics and animation are introduced in this module. It is useful for those interested in programming interactive visualisation applications such as computer games.

You will be able to design and implement applications capable of the visualisation and animation of a virtual 3D environment using C++, a graphics library such as OpenGL or Direct3D, and a shading language such as GLSL or HLSL.

Algorithms for Games

Complex coding and scripting for a computer game requires an understanding of problem solving, data structures and algorithms needed to define the contents and behaviour of a virtual 3D world. You are introduced to these topics using an informal yet rigorous approach. The algorithms range from simple to advanced, widely used in AAA games. Recreational problems, like games and puzzles, are used to convey the important algorithmic concepts.

Games Engine Construction

You will gain an in-depth view into the design of core computer game architectures and implementation using an Application Programming Interface and object oriented programming. You will develop your own computer game engine, which involves implementing and integrating computer game engine core systems eg graphics, simulation. Subsequently you will extend your existing C++ software engineering skills by integrating design patterns commonly used in game engine development.

You will be required to implement efficient C++ algorithms, both in terms of performance and memory use, and use profiling tools to inform your design choices and demonstrate knowledge of the underlying architecture.


You work in a team to produce a game experience within a current game engine. This provides you with experience of working within a production environment, and also with an opportunity to target specific production skills within your chosen field of study.

Network and Concurrency

You explore the area of networking protocols, their quality of services, and related APIs. You are also introduced to concurrent and distributed programming paradigms.

You tackle issues faced when developing a concurrent or distributed application, including security and synchronization. You explore suitable abstractions, such as design patterns, distributed objects models and architectures.

Case studies are used to illustrate the theory of this module with appropriate technologies, for example, distributed architectures for online games, cloud, AJAX.


Year 3 core modules

AI for Games Engines

You consider artificial intelligence (AI) and its application in computer games and explore advanced AI techniques.

Beta Arcade

You gain experience of working as a member of a games development team that is as close to industrial practice as possible. Beta Arcade simulates the working criteria and mix of development skills that are required to produce a polished prototype of a computer game concept which would be suitable for publication.

Game Programming Project

You undertake a large scale piece of work, supervised by a member of academic staff. You also produce a substantial computing artefact and compile a report and a viva with a presentation, demonstration and discussion of the artefact. You develop work-discipline and a professional outlook. You are responsible for the planning and execution and consider legal, social, ethical and professional issues. You explore a chosen subject and analyse, synthesise, and creatively apply what you have studied on the programme, demonstrating critical and evaluative skills and professional awareness.

Mobile and Gaming Devices

You expand your knowledge and skills of games programming, computer architecture and software development to include native development on mobile or gaming hardware. You build upon existing programming skills in C/C++ and knowledge of computing architecture and expand your games software programming skills, focusing on developing, analysing and optimising code for limited gaming devices.

Physics Simulation

You explore the physical laws and numerical methods necessary for the development and enhancement of physical realism in 3D games, and are introduced to new concepts such as rigid bodies, moment of inertia and soft body dynamics, with an emphasis on physics realism versus computation speed, stability and accuracy.


Year 4 core modules

Advanced Game Prototyping

You build upon fundamental concepts involved in the creation of a game prototype as part of a small team, and examine the contrast between the creation of a strong core mechanic, which is immediately tactile, and how it can be expanded upon through player learning, subtractive design and variety to provide longevity – ultimately providing an accessible, engaging and substantial gameplay experience informed by playtesting.
You enhance your skills both inside and outside of a contemporary game engine. Inspired by the structure of relevant titles, you are encouraged to rigorously plan tasks from a macro and micro perspective prior to development.

AI for Games

Integrating AI into game engines can be difficult due to the fact that game engines typically do not use symbolic or declarative representations of characters, settings, or actions.

You cover the wide variety of software technologies applied to the integration of AI techniques within the context of industry standard game engines, as well as forthcoming technologies developed within AI-based research (such as interactive storytelling systems). You explore the design and implementation of AI-based systems applied to the wide variety of game engines technologies and applications, including multi-platforms specifics desktop-based and immersive virtual reality systems, as well as web-based and mobile gaming platforms.

Game Group Project

You concentrate on the prototyping aspects of computer games development within a contemporary game engine and focus on the principles of design and programming. A variety of methods of how to create, design and develop interactive content specific to modern gaming platforms is covered.

This module consists of studio based practical sessions, seminars, and teamwork. You work in small teams to develop a working game from concept through to fully demonstrable prototype.

MComp / MArt Project

You undertake a major, in-depth, individual study in an aspect of your course. Normally projects are drawn from industry-based problem areas. The project involves you researching and investigating aspects of your area of study and then producing a major deliverable. You also critically evaluates your major deliverable, including obtaining third party evaluation where appropriate.

Real-time Graphics

You extend your understanding and abilities in graphics programming to include efficient high-speed rendering of high-quality imagery. Your emphasis is on the rendering of 3d virtual environments, particularly useful if you are interested in creating interactive, high-quality graphical applications such as computer games.
After completing the module you are able to research and select appropriate algorithms and techniques to solve a problem and then construct an implementation using C++, a graphics library such as OpenGL or Direct3D, and a shading language such as GLSL or HLSL.


Modules offered may vary.


How you learn

It is essential for you to gain experience in being a programmer. Your modules use a combination of lecture sessions to study the theory, computer lab sessions to put theory into practice with tutor guidance, and controlled studio environments to practice your professional and teamwork skills.

How you are assessed

Our course focuses on the application of the knowledge and skills you acquire. Most of your modules require you to design and develop software to demonstrate your new abilities. Your assignments are set by your tutor and you work on them throughout the academic year whilst receiving valuable feedback to guide your work.

Our Disability Services team provide an inclusive and empowering learning environment and have specialist staff to support disabled students access any additional tailored resources needed. If you have a specific learning difficulty, mental health condition, autism, sensory impairment, chronic health condition or any other disability please contact a Disability Services as early as possible.
Find out more about our disability services

Find out more about financial support
Find out more about our course related costs


Entry requirements

Entry requirements

Typical offer
112-128 points

Find out how many points your qualifications are worth using the UCAS tariff calculator. If your qualifications are not listed, contact our admissions team as we may accept alternatives.

We may also be able to help you meet the entry requirements through our Summer University modules.

Maths and English
Acceptable qualifications in maths and English include:
• GCSE grade 4 (or higher)
• Level 2 Key Skills (Communication and Application of Number)
• Level 2 Functional Skills.

We also accept alternative equivalent or higher level qualifications.

For additional information please see our entry requirements

International applicants can find out what qualifications they need by visiting Your Country

You can gain considerable knowledge from work, volunteering and life. Under recognition of prior learning (RPL) you may be awarded credit for this which can be credited towards the course you want to study.
Find out more about RPL



Career opportunities

You are ideally suited for employment in the games development industry and similar creative industries. There are a variety of programming roles within these industries such as gameplay programmer, tools programmer, middleware developer and mobile application programmer. The course gives you a strong foundation in computer programming, also allowing for a career in mainstream software development.

Professional placement
Being able to include work experience on your CV makes you a much more attractive applicant. You have a much higher chance of improving your degree classification and the boost in confidence will give you the edge in job interviews.

98% of our students who complete a work placement achieve a high level degree classification and are offered a graduate job within six months of graduating.

We have established excellent long-term relationships with businesses giving you the opportunity to apply for summer, year-long and graduate placements with key organisations such as: Microsoft, Rare, Team 17, ZeroLight, R8 Games, Hammerhead VR, Dojo Arcade, Schlumberger, Sumo Digital and Coastsink.

Student selection is carried out by the employers through competitive interviews and often skills tests. Placements are not compulsory but are assessed and contribute to your final degree award.

Our placements team gives you help and support throughout the placement process, including guidance on applications and interviews, to help you get a placement that suits you.


Information for international applicants


International applicants - find out what qualifications you need by selecting your country below.

Select your country:


Useful information

Visit our international pages for useful information for non-UK students and applicants.

Talk to us

Talk to an international student enrolment adviser



Entry to 2020/21 academic year

Fee for UK/EU applicants
£9,250 a year

The final year is discounted from £9,250 to £6,500

More details about our fees

Fee for international applicants
£13,000 a year

The final year is £12,045

More details about our fees for international applicants

What is included in your tuition fee?

  • Length: 4 or 5 years dependent on whether you undertake the placement year.
  • UCAS code: IGK6 MComp/CGP
  • Enrolment date: September
  • Semester dates
  • Typical offer: 112-128 points

Apply online (full-time) through UCAS



2020/21 entry

Fee for UK/EU applicants
£4,500 (120 credits)

More details about our fees

  • Length: Up to 6 years
  • Attendance: Daytime
  • Enrolment date: September
  • Semester dates

Apply online (part-time)



ExpoTalent is a unique opportunity to meet businesses to secure placements, internships and future employment opportunities.


Choose Teesside


Are you eligible for an iPad, keyboard and £300 credit for learning resources?



Live in affordable accommodation right on-campus



Study in our town-centre campus with over £270m of recent investment


Industry ready

Benefit from work placements, live projects, accredited courses


Get in touch


Open days