Module details

Year one | Year two | Year three

Year one

Introduction to C++ Programming
This module provides an introduction into the basic aspects of writing computer programs in the C++ language. The module covers three areas: input/output through console and files, storage of data in computer memory through primitive variables, arrays, pointers and vectors and algorithm design strategies and implementation of algorithms.

Introduction to Object Oriented Programming in C++
This module provides an introduction into the core concepts of Object Oriented Programming (OOP) through the C++ language. These core concepts include the class, the object, inheritance and association. The module then explores a contemporary OOP library which provides the functionality required for building games and simulations such as windowing, graphics, event handling and audio. An overview of good software development and testing practice is also given.Outline content: Classes and objects, association, inheritance, windows and rendering, event handling, basic audio and basic animation.

Computer Ethics
The module introduces students to the ethical theories affecting cyber security, software engineering, computer science and digital forensics. It requires them to develop critical analytical skills in applying ethical theories to technological outcomes regarding cyber security, software engineering, computer science and digital forensics.

Computer Law and Cyber Security
The module introduces students to the legal and professional context of cyber security, software engineering, computer science and digital forensics, it addresses legal framework, legal and professional responsibilities of the software engineer, systems manager, computer forensic and security practitioner. The module will address computer ethics, data protection law, UK and international law affecting cyber security, digital engineering, systems management and digital forensics.

Computer Systems
This module provides a foundation in computer architecture and operating systems with a specific emphasis on their security. Students will learn about computer hardware, software, operating systems, and demonstrate practical knowledge of these during lab sessions.
Studying this module student will be able to relate the abstract concepts of logic and number systems to their concrete representation on real machines and identify the security risks in common configurations of computer operating systems and suggest appropriate mitigations. In the practical lab sessions students will also learn to develop shell scripts.

Computer Networks
This module provides a foundation in modern computer networks with a specific emphasis on their security. Students studying this module will be able to explain how modern computer networks functions and be able to demonstrate a practical knowledge of computer networking. Students will be able to identify security risks in common configurations of computer networks and suggest appropriate mitigations.

Game Architecture and Design
This module covers the basic elements involved in the architecture and design of computer games software from a high-level perspective. It describes the building blocks of a typical game and introduces a range of design aspects which contribute to an effective global game experience. The module also involves the students inimplementing their designs by developing simple games which illustrate a range of design features. The module includes discussion of the global sociological, cultural, age and gender issues and emphasises the ethical implications and consequences of content choice and player behaviour. Since this is an introductory level 1 module, it is considered crucial to create an appropriate level of responsibility in the games designer which can be carried through to more advanced modules in the area.

Game Prototype Development
This module is concerned with using industry standard tools to prototype basic game ideas and functionality. For this purpose, a high-level games development system will be used and students will learn how to add extra functionality using an associated script-programming language. To support this development, the module introduces some key development management methods such as team management and simple project management in order to reflect the way computer games are developed across an international industry. The students will understand the processes used in industry in the production of a game and ethical aspects that are within the workplace.

Year two

Introduction to 3D Modelling 
gives you an introduction to the principles, practice and context of interactive 3D modelling, rendering and animation. This will be done via presentation of the theoretical basis and through practical work using an industry-standard graphics tools such as Maya, 3DSMAX, Blender and Z-Brush.

Mobile Games Development 
enhances your understanding of the mobile games industry. You will develop and deploy a mobile game from concept to deployment, using the game engine Unity3D. The emphasis is on meeting quality benchmarks, understanding the need for portability across devices and the issues arising from a reduction in resources.

Game Engine Scripting
covers the basics of OO Programming inside a Game Engine architecture. The module will focus on C#, Python and JavaScript. You will understand the basics of programming inside Unity3D and Unreal, where a preset array of methods exist for Shader Programming, Physics and Interaction Events.

Advanced 3D Modelling 
covers Modelling specifically for Games and bringing 3D Models from 3D Modelling Softwares into Games Engines. You will learn about Normal Mapping and Shader Programming inside Unity3D and Unreal, using their preset methods, as well as exporting Models in FBX and OBJ formats, for use in Games Engines. There will also be a focus on the broader context for use of 3D Modeling Softwares: such as Maya, 3DSMAX, Blender and Z-Brush and the editing and Rendering Softwares: Adobe Animate, AfterEffects, Nuke and RenderSlave.

AI for Simulation 
covers the native pathfinding system in Unity3D, known as the NavMesh navigation system, as well as generic AI algorithms and concepts. You will understand how AI forms the basis of a user’s interaction with the non-scripted interaction events and the ‘mob’ and ‘swarming’ behavior in a game, as well as how AI is used to govern the behavior of non-PC characters and to enhance the user’s experience of immersion in games.

Progessive Games
introduces you to the Unreal IDE in terms of interface and prototyping, with a brief overview of Blueprints and C++ Programming. You will also develop the crucial skill of moving quickly between Unity3D and Unreal. 

Game Engine Group Project
gives you the opportunity to make a short game using an engine of your choice in a team. This will allow you to experience the games development pipeline, producing a working game at the end which can be added into your portfolio.

Year three

Advanced Game Engines
gives you a more advanced overview of Unreal, covering  Blueprints and C++ Programming to give you the skills you need to create and evaluate games made in Unreal. You will learn to discern when to make changes to the architecture of the engine, without unnecessary programming. You will also explore Normal Mapping and Materials and Lighting.

Quality Assurance for Games
covers the basics of testing, debugging and releasing games. You will be taught how to maintain a good game loop, from the unit-testing step, to the final debugging protocols and how to effectively communicate with programming specialists involved in the unit-testing step of the production pipeline.

Games Platforms
looks at cross-platform and platform-specific Development. You will explore Development and multi-modality considerations for Games Engines that have VR components, for example, Nintendo Switch, and investigate Mobile, general VR, AR and Android platforms.

Audio for Games
gives you an understanding of how sound design effects, such as reverberation, distance from source and echoing, work in practice, as well as the best ways to use such effects in a game, to enhance immersion and interactivity for a prospective user.

3D Set Design, Architecture and Lighting
is a shared module with the Leicester Media School. You will learn how to make Games more cinematic, by focusing on in-game cinematics and leveraging the increasingly cinematic influence on games design, in terms of lighting, mood and mis-en-scene.

Final Year Project
gives you the opportunity to make a short game using an engine of your choice, such as Unity3D, Unreal, CryEngine or GODOT.