What you will study
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
In Year 1 you will develop game programming skills using the industry standard C++. Specialist modules cover 2D and introductory 3D games programming using a C++ game engine, together with the maths and physics required for game development. You will also broaden your knowledge in computing, including requirements analysis and design.
Core modules
Programming I Thinking Like a Programmer
30 credits
This module is taken by all first year undergraduate students undertaking a degree in the computing subject area. Previous experience of programming is not assumed. The module seeks to introduce a foundation for programming that can be built on in subsequent years and that accommodates specialist practice within computing eg games, software engineering, media, UX etc.
Teaching and learning is split between a variety of different units to ensure the module is flexible enough to accommodate each cohort and student's needs. As befits a practical discipline like programming, a hands-on approach is used that facilitates self-paced and self-directed learning. Students are encouraged to engage with, develop and experiment with programs in a constructivist fashion inspired by bricolage (Stiller, 2009; Stiller, 2017).
The intent is to build students' confidence as they learn to program, and provide a foundation that can be built on so that in later years they can go beyond simple solutions to problems and be ready to engage in full-fledged application development.
Game Science
30 credits
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.
Games Programming
30 credits
This module provides an introduction to the development process of computer games. It encompasses the introduction to conceptual game design, games programming as well as testing. The structure and functionality of games will be analysed. The use of game engines and game components, such as 2D sprites, 3D models, as well and sounds and text are introduced and applied. Students will be developing elementary 2D and 3D games as part of the assessment which should contribute to building of a portfolio
Requirements Analysis and Design
30 credits
This module focuses on the principles, methods, techniques and tools commonly used in the early analysis and design stages of the software development life cycle. Students work in teams on a software design project, in which they build application prototypes.
Projects are framed in an economic, commercial and business context, allowing students to be exposed to professional industry practices in a dynamic and changing environment. Teams will be expected to elicit, analyse and document requirements, applying a variety of software modelling and business modelling principles.
Students will be expected to make use of UX and service design principles to understand interactions and the structure of the services, people and processes of an organisation.
Prototypes will be designed, created, and demonstrated, in accordance with UX design best practices and requirements will be captured as artefacts via UML models, use cases, user stories, wireframes and other practises.
Year 2
In Year 2 you will create games using engines such as Unity and Unreal. You will further develop your C++, C# and 3D graphics and shader programming knowledge. You will learn how to incorporate artificial intelligence (AI) in your games including for real time strategy, racer and first person games as well as more serious and educational games. Underpinning this will be the computer science concepts of computer architecture, operating systems and parallel processing as well as network communications.
Core modules
Computing Systems
30 credits
The module aims to enhance your understanding of how modern computer systems are implemented from the perspectives of architecture, networking, operating system, parallel programming and algorithm complexity. You will explore the essential features and operations of modern computer architectures and acquire both theoretical and practical knowledge of the principles and major functions of modern operating systems. You will also develop knowledge of parallel programming and algorithm complexity so that you will be able to make use of new parallel computer architectures. Physical networks and their associated address schemes will also be explored.
3D Graphics Programming and Artificial Intelligence
30 credits
To provide you with core knowledge of the computer graphics methods of geometric modelling, projection, rendering and shading, as well as the state-of-the-art algorithms and solutions of artificial intelligence and to prepare you for writing your own computer games using industry-standard specialised software. It explores lower level games programming with an emphasis on C++ and shader programming, 3D graphics libraries, AI algorithms and the mathematical concepts underpinning them. The module is taught via a mixture of lectures and practical classes with strong lab support to simulate a game industry environment.
Professional Game Development Environments
30 credits
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 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 you have the opportunity to work together to create games, emulating the industry environment.
Optional modules
Introductory Digital Media and Computer Generated Imagery
30 credits
You will learn the underlying principles of digital imaging in both its static and moving forms. The theory will be supported by workshops using professional imaging, and video editing software, as well as software tools for manipulating audio.
The CGI Foundation part introduces you to the use of a professional 3D computer graphics and animation application. You will learn how to build 3D models, shade them using assorted textures, illuminate them and render them out as images. You will learn how to make an efficient use of data, and appreciate the underlying topology of the geometry that makes up that model. Assessment will mostly be by the creation of 3D computer generated assets and presenting these as rendered images.
Database Driven Application Development
30 credits
This module seeks to establish the skills required to build full-stack database-driven web applications. You will learn how to design, build and query databases according to user information needs using logical data models and structured query language (SQL). You will also learn how to design and build scalable interactive applications that are delivered over the web and integrated with a backend database.
User Centred Design
30 credits
This is an optional module intended for undergraduate students who are studying computing-related subjects. HCI is the core academic discipline that examines the relationship and interface between human and computer. It informs and provides the theoretical and methodological foundation for user experience, the professional discipline which is practically applied. Although this module forms part of the user experience guided pathway it can be taken as a standalone module.
You will explore major themes in HCI from both a theoretical and a practical perspective. The module will establish an understanding of key concepts within HCI theory and methods, and examines techniques for HCI design and evaluation. It offers students a practical domain in which to apply knowledge and skills, including those from other modules, to the design, implementation and analysis of interfaces between people and computer systems. You will undertake practical exercises in which you will evaluate real-world problems to identify user experience issues. You will utilise the synthesis of data from methods which explore user needs and requirements and also users' cognitive models to build a suite of artefacts eg. personas, user journeys, empathy maps etc which will inform a prototyping phase. This process involves iteratively building on low, medium and high fidelity prototypes of increasing complexity and levels of iteration. Thus you will synthesise theory and empirical data to build prototypes of a redesign solution to usability issues. These artefacts will iteratively and incrementally inform a user centred design.
Digital Motion Graphics and Compositing
30 credits
This module builds on the foundations of the Level 4 modules, in particular TS4001 and develops knowledge and skills in creating and manipulating motion graphics assets, managing the editing process and compositing multi layered as well as multi nodal visual effects. This includes still images, video, audio, paint, and video based animation and effects.
These skills are further developed to a high level of appreciation, in particular for the flow of work for digital editing and contemporary composting in 2D and 3D spaces. You will acquire knowledge, develop skills and synthesis media products for self and tutor assessment. Professional level motion graphics, editing and compositing software will be employed. Furthermore studio based green/blue screen filming will be undertaken to create original material for visual effects project work.
Multimedia Authoring and Design
30 credits
The primary aim of this module is to develop a range of skills in the creation of multimedia products, through the study and production of sophisticated content driven interactive material using industry standard multimedia authoring software. You will also be taught to write computer code (script) to a high level using a scripting language in order to generate interactive content, animation, navigation and data storage/retrieval.
Optional sandwich year
Core modules
Industrial Placement
60 credits
This module is an essential course programme component for students on the sandwich route of an honours degree "with professional placement". It is a key element in providing an extended period in industry gaining real world employability skills. Students are supported both before and through their placement by the SEC Placement team. Students that successfully complete their placement year will graduate with a 4 year sandwich degree.
Year 3/4
In Year 3 you used an agile team-work to develop a game from initial concept to publishing stage with the aim of releasing a game on platforms such as the Google Play store or itch.io in a multidisciplinary team. You will develop skills in real-time C++ console and multiplayer game programming. In addition to the capstone project, which has a games theme, you may choose from a range of option modules.
Core modules
Multiplayer and Game Console Programming
30 credits
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. The module is taught as "learning by doing" and comprises both theory taught in class and applied work in the laboratory.
Individual Project
30 credits
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 an artefact or artefacts which demonstrate creativity and technical competence as well as a technical report.
Game and Media Creation Processes
30 credits
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 will have the opportunity to work with others to create games, emulating the industry environment.
Optional modules
Modelling and Animation
30 credits
Students taking this module will have already developed proficiency in the use of a professional 3D Modelling and Animation software application, and so will understand the principles of modelling, lighting, texturing and rendering. This module will enable them to strengthen these skills and build a portfolio of 3D computer assets and 3D animation. They will acquire additional skills such as the use of 3D sculpting software, rendering using techniques such as global illumination and image-based lighting with a high understanding and skill. Students will be able to show their modelled work as a turntable animation using different rendering techniques.
The principles of animation are introduced and students will learn how to apply these principles to 3D computer animation. This is a practical module where the majority of a student's time is spent working at a computer. Similarly, assessment is practically based with multiple choice tests to show they understand both basic and advanced theoretical techniques. Taught in common with CI5003 and cannot be taken if CI5003 has already been taken.
User Experience Design Thinking
30 credits
This is an optional module intended for undergraduate students who are studying Computing-related subjects. Although it forms part of the User Experience guided pathway it can be taken as a standalone module and previous experience of UX is not assumed. This module will focus upon the skills, methods and tools required in careers such as UX Architect, UX Designer, Service Designer, Information Architect or Digital Product Designer. The curriculum is finely balanced between theory and practice. Students are directly immersed in organisational practices and skills used in industry and will make use of academic theory in this practical context. Students will learn to develop investigative, analytical, technical, communication and advocacy skills to help them shape interactive technologies that augment people's abilities, enhance their creativity, connect them to others and protect their interests. They will also become aware of the impact of levels of digital literacy, availability of and access to technology, economic and business drivers, regulations, and regional/cultural norms. The module will also develop methods and skills required to understand current users, to investigate non-use, and to imagine future users.
Advanced Data Modelling
30 credits
This module will consolidate and build on previously acquired knowledge of databases by analysing and evaluating important issues in the database area. In addition, advanced aspects of data warehousing and data mining will be studied, encompassing the principles and commercial application of the technologies.
Mobile Application Development
30 credits
While this module provides a foundation for careers in mobile application development, mobile is becoming increasingly ubiquitous and the skills taught also have applications in UX, web development and software engineering in general. Although there are no prerequisites, it is assumed that students have acquired a general familiarity with programming and software development principles through their previous study.
The module is divided into two phases. In the first phase of the module students will be introduced to software development for the two major mobile platforms. This will cover development environments for these platforms, UI conventions, building and deploying simple applications. Students will then be introduced to cross platform development environments for mobile development.
Finally, standard frameworks for mobile web development will be introduced. The second phase of the module is organised around a practical project. Students will choose one of the platforms on which to build a mobile application of their choice. This project students gives students the opportunity to specialise and explore their chosen platform in greater depth, acquiring the knowledge and proficiency to be able to design and build complex mobile apps. Students will be encouraged to publish their apps in one or both (in the case of a cross-platform app) of the two major app stores, thus providing an introduction to mobile application delivery and distribution.
Digital Entrepreneurship
30 credits
Entrepreneurship is a major driving force in creating economic growth and this module illustrates how to work in an entrepreneurial fashion. At the heart of entrepreneurship is innovation which can come in many forms. Sometimes this can be an incremental but generally gives significant improvement to the customer or alternatively as a new breakthrough or transformational innovation. Incremental innovation is aimed at increasing the value of a product or service, to add more value and thereby creating new and superior value chains. Breakthrough innovation often creates new categories of product or transforms the historical ways of doing things.
From this foundation, the module proceeds to explain how to develop a strategy not only to satisfy the critical needs that organizations have, but also aims to explore the application and use of improved value chains using the concepts of corporate venturing (spin-out/intrapreneurship) and Entrepreneurship (new venture creation). However it is not simple to start a new company. Especially the Tech branch is characterized by fast developments, shifts of focus and low barriers to entry, where holding back from "bleeding edge" is essential and is one of the important differentiating factors between Tech Entrepreneurship and other forms of entrepreneurship. This means that one can no longer count on "good luck", but insight, understanding, knowledge and a systematic approach all have to be learnt.
This module will equip participants with the concepts needed for roles in analysis, consultancy and management in technology environments, plus the necessary knowledge to work successfully in an innovative company, as well as providing a good background for new venture creation (Entrepreneurship) for those considering self-employment or founding new technology firms
Software Development Practice
30 credits
This module aims to provide a strong theoretical and practical background necessary for you to build high quality scalable software and to operate effectively as an industry professional. It examines software quality concepts necessary to build high quality software architecture. The module introduces you to the concept of software architecture and architectural patterns as part of software design and reuse which can be viewed as components and interfaces. At a lower level, programming models and paradigms are explored, as well as design patterns and anti-patterns. Testing strategies and other software quality principles will also be covered, and you will explore these principles in the context of practical projects which expose you to industry tools, practices and management methodologies.