Search our site
Search our site

Computer Science (Games Programming) BSc(Hons)

Attendance UCAS code/apply Year of entry
3 years full time G625 2017
4 years full time including sandwich year G611 2017
4 years full time including foundation year G624 2017
6 years part time Apply direct to the University 2017

Why choose this course?

This course is designed for future computer scientists who wish to learn about the development of computer games from a technical (rather than artistic) angle. Having an enthusiasm for playing computer games is a good start but you will need to want to find out what is involved in coding and creating a game.


This course is accredited by BCS, The Chartered Institute for IT.

What you will study

This course provides a broad foundation in computer science with a games specialism, and is accredited by BCS, The Chartered Institute of IT. Year 1 of the course is common with Games Technology. It is possible to switch from a games course into Computer Science or Information Systems at the end of Year 1 (although not the other way around).

During Year 1, you will look at the stages of system development, from finding out what the client needs, to building and maintaining a system. You will cover programming skills and concepts complemented by practical design and testing techniques using both C++ and Java. You will have the opportunity to work both individually and in groups. Two specialist modules cover 2D and introductory 3D games programming using a game engine, together with the necessary mathematics and physics required for game development.

Year 2 modules build on these foundations, taking further the basic computing concepts of databases, networking and operating systems. One field-specific module
concentrates on games programming. High-level Game Development teaches 3D game programming using various game libraries and engines. This module includes elements of artificial intelligence – for example, how to create computer opponents in a game. In addition, you will enhance your object-oriented skills by practical work in the programming language C++, which is in particular demand by the games industry.

In Year 3, you will study a specialist module on game creation processes, focusing on teamworking to emulate the games industry. In addition to the final-year
project, which is likely to have a games theme, you will be able to choose from a number of option modules.

Games laboratory

Our games lab seats around 60 students working together in teams. Three pairs of large projector screens in the laboratory allow students to view the lecture material and the game being developed at the same time. The lab includes Sony PlayStation consoles, Microsoft consoles and supports software including Microsoft Visual Studio, Unity 3D Pro, Unreal and Maya.


Join one of our games courses and you could work at the inKUbator with groups of illustrators, games developers and experts from the field to create commercially viable games.

PlayStation FirstKingston University is an educational partner of Sony through PlayStation First.

Module listing

Please note that this is an indicative list of modules and is not intended as a definitive list. Those listed here may also be a mixture of core and optional modules.

Year 1

  • Most modern software applications are developed using the object-oriented (OO) software development paradigm, particularly games. Thus, this module aims to provide a strong and broad theoretical and practical programming skills and techniques necessary to build high-quality advanced software systems with an object-oriented focus. The second half of this module will have a particular focus on OO programming in C++, the main programming language for games developers.

  • The module gives essential background in applied mathematics and physics for computer games developers. This will be done with a strong focus on practical engineering aspects and all the theoretical concepts will be introduced as elements of solutions of real problems typically encountered during the games development process.

  • This module provides an introduction to computer games hardware and software. It encompasses computer and games systems, games development tools and environments, games testing and games design. A variety of actual games will be evaluated and discussed and current trends in computer games design and development explored. You will be introduced to the design and the development of a simple 2D and 3D game as part of the assessment.

  • The module focuses on the principles, methods, techniques and tools commonly used in the analysis and early design stages of the software development lifecycle. You will work on a software design project in organised teams throughout the year to:

    • elicit, analyse and document requirements;
    • model early process and data requirements;
    • design the user interface of an interactive system with an emphasis on human-computer interaction;
    • produce, evaluate, and demonstrate its first medium fidelity prototype; and
    • deliver written reports.

Year 2

  • This module teaches games programming with an emphasis on engines and middleware. It covers the components needed to implement computer games using the techniques which would be used in industry. The module is core to taking games development degrees and stresses the importance of portfolio building to aid employability, and also the requirement to develop software in a rigourous, professional way. The module is taught via a mixture of lectures and workshops. The module links with the games inKUbator where students have the opportunity to work together to create games, emulating the industry environment.

  • This module aims to enhance students' 'know-how' knowledge in modern computer systems from several classic perspectives such as computer organisations and architecture, operating systems, networking and parallel programming. The module builds upon basic concepts in computer architectures and computer networking and how modern operating systems work with developing an understand of operating systems, the importance of network protocols, distinguish OSI and TCP/IP models, as well as develop the skills of requirement analysis and network design.

    On successful completion of the module, you will be able to:

    • Describe and differentiate between the essential features and operations of modern computer architectures.
    • Explain the principles and major functions of modern operating systems.
    • Develop an understanding of multi-processing techniques, concurrent programming and synchronisation.
    • Describe the basic concepts of data communications, networking and standard networking models, and to plan and design a computer network for specific usage scenarios.
    • Develop an understanding of client server applications, protocols and network programming.
    • Describe the devices and services that are used to support communications across a network.
  • Requirements and process modelling will be taken through the design stage with the development of different UML design models through to the implementation phase. The development of conceptual data models will be covered in more depth and developed for database design and implementation. Throughout, the module will focus on object-oriented analysis and design.

  • Choose one from the following:

    • This module aims to provide core knowledge of the computer graphics methods of geometric modelling, projection, rendering and shading and to prepare students for writing their own computer graphics applications using industry-standard specialised software. It explores lower level games programming with an emphasis on C++, 3D graphics libraries and the mathematical concepts underpinning them.

      On successful completion of the module, you will be able to:

      • Write game code for creating special effects.
      • Implement a basic 3D graphics visualisation using a shader language.
      • Apply and use mathematical concepts for manipulating 3D game data.
      • Describe the elements in the graphics pipeline.
      • Apply and use relevant concepts from physics to 3D game data.
      • Implement well formed, documented and tested game code in response to a brief.
    • This module provides skills in project development and management in a controlled environment; bringing together the different elements learnt to date to be put into practice in a project. To integrate connections between various languages and frameworks, as well as develop skills in designing larger systems where 'trade-offs' between conflicting requirements must be made. Teamwork is of paramount importance.

      On successful completion of the module, you will be able to:

      • Describe the factors involved in the conception and planning of a project, in order to deliver a product to time, cost and quality standards.
      • Outline a business and project management plan for a project proposal and apply basic project management tools and techniques.
      • Work with other team members to identify, distribute and undertake tasks necessary to complete a project.
      • Develop familiarity with various IT development environments and tools.
      • Apply techniques from analysis and design methodologies, such as SSADM, UML, to specify the client's requirements and design a range of solutions.
      • Choose selected development tools, techniques and project methodologies to deliver a working software prototype, providing individual students with sufficient confidence to start a final year project on their own.

Optional sandwich year

Year 3/4

  • The module provides an in-depth real-world simulation of the business of making computer games in teams using industry-standard production management techniques and simulating a professional environment of collaboration to deliver a product on time. The module links with the games inKUbator where you have the opportunity to work together to create games, emulating the industry environment.

  • The goal of the module is to further develop skills in organisation, timekeeping, research literature, developing and critically analysing results as well as reporting work verbally and in a written format. The end result will be some form of artefact which demonstrates creativity in computer games development together with a report which will form a key part of your portfolio.

  • Options include:

    • This module covers two important specialisms in computer games programming: low level device programming (such as for game consoles or mobile devices) and programming for networked games. It is a specialist option for the games degrees. The module is taught as 'learning by doing' and comprises both theory taught in class and applied work in the laboratory.

    • This module covers two important specialisms in computer games programming the development of novel game controllers (such as the KinectTM) together with the use of artificial intelligence (AI) methods commonly integrated in games. The module takes you through a number of methods in these areas, from interpreting 2D and 3D scenes and 3D physics models to finite state machines and face recognition. The module is taught as 'learning by doing' and comprises both theory taught in class and applied work in the laboratory.

  • Choose one from the following:

    • This module will consolidate and build on previously acquired knowledge of databases by analysing and evaluating important issues in the database area. In addition it will provide a sound understanding of the dynamic content within world wide web pages.

      On successful completion of the module, you will be able to:

      • Develop knowledge of database design in order to critically analyse and evaluate database modelling and development methods.
      • Gain a detailed insight into the practical and theoretical aspects of advanced topics in databases, such as object-relational databases, data warehouses and distributed databases.
      • Create, implement and critically test and evaluate an advanced database design.
      • Understand the significance of the World Wide Web in modern commerce.
      • Be competent in using at least one server-side technology (eg PHP) and at least one client-side technology (eg JavaScript) to create dynamic web content.
      • Use a database server in conjunction with a web-based application.
    • With regard to the dependence of society on computer systems, this module investigates the limits of system dependability and the challenges encompassed. The module considers approaches to system development as ways of managing those limits.

      On successful completion of the module, you will be able to:

      • Apply the principles of current design methods to software development.
      • Compare and contrast different architectures for software implementation.
      • Consider software quality approaches and evaluate their effectiveness in producing quality systems.
      • Undertake a significant software project incorporating all aspects of software engineering.
      • Apply metrics to software production and compare the effectiveness of different approaches.
    • This module explores the major challenges to computer security and covers ways of protecting systems and data.

      On successful completion of the module, you will be able to:

      • Demonstrate understanding of a range of problems of security by identifying common types of threats and vulnerabilities of computer, network and information security systems, as well as available security-related algorithms and protocols.
      • Analyse and implement a range of controls to minimise risks of security breaches.
      • Apply the basic methodology of computer security in order to assess and improve the security in a range of scenarios.
      • Comprehend, implement and use a range of controls to achieve the main computer security goals of confidentiality, integrity and availability.

You will have the opportunity to study a foreign language, free of charge, during your time at the University on a not-for-credit basis as part of the Kingston Language Scheme. Options currently include: Arabic, French, German, Italian, Japanese, Mandarin, Portuguese, Russian and Spanish.

Study abroad as part if your degreeMost of our undergraduate courses support studying or working abroad through the University's Study Abroad or Erasmus programme.

Find out more about where you can study abroad:

If you are considering studying abroad, read what our students say about their experiences.

Key information set

The scrolling banner(s) below display some key factual data about this course (including different course combinations or delivery modes of this course where relevant).

We aim to ensure that all courses and modules advertised are delivered. However in some cases courses and modules may not be offered. For more information about why, and when you can expect to be notified, read our Changes to Academic Provision.

Contact us

Admissions team


This course is taught at Penrhyn Road

View Penrhyn Road on our Google Maps

Contact us

Admissions team


This course is taught at Penrhyn Road

View Penrhyn Road on our Google Maps
Favourite this course

Find a course

Course finder


Colossal Games joins forces with Kingston

Charles Burt

Colossal Games founder and managing director Charles Burt has joined Kingston University's Computing and Information Systems (CIS) Industrial Advisory Board alongside industry giants Google, Microsoft, IBM and EasyJet. Find out more.

Find us on Facebook

Undergraduate study
Site menu