The School of Computing offers a stream in games programming starting in the third year of this four year honours degree. In years one, two and three you will learn core skills such as programming (in C, C++, Java and C#), computer hardware, computer technology, systems administration, databases and web development.

In year three, you can choose to enter the games programming stream of the degree. The aim of this stream is to expose students to a range of technologies and methods relevant to the production of modern computer games, with a view to equipping graduates to work in the computer games industry. The knowledge and skills learned on this stream will be applicable to problems in the creation of computer games but will also be transferable to a broad range of ICT domains.
The course is strongly oriented towards the provision of practical skills, with students gaining knowledge and experience of a range of tools, techniques, technologies and procedures employed by industry in the ICT sector, coupled with a strong theoretical appreciation and understanding of computer science and software engineering. Graduates will be adaptive to changing environments, both technical and organisational. Key to this is an ability to learn independently, and build upon fundamental and transferable skills acquired during the programme, as well as possessing the skills necessary to incorporate feedback and experience from prior work. Industry representatives are strongly involved in the running and assessment of the students in the course.
Here is a summary of the subjects that comprise the games programming stream:

DT228 Students take first prize in the 2009 XNA Ireland Challenge
Games Logic and Design
This is a third year core subject. This module aims to expose students to the important considerations in game logic and design by enabling students to create 2D computer games. Students will build a “plug-and-play” game engine that they can enhance and reuse to build a variety of games types. Students will learn the basics of game logic and design by understanding how to create a reusable game engine; capture keyboard, mouse, and joystick input; animate graphical objects with sprites; detect collisions between sprites; play digital sound effects and music and give game characters intelligent behaviour.
Work Placement
In year three of the programme an optional Work Placement module is available to all students. All students who are successful in all the year two exams are eligible to apply for the Work Placement module. Advanced entry students may be considered for Work Placement subject to approval by the Course Committee. The Course Committee may set a threshold on the numbers accepted for the module considering the prevailing market conditions. Students may, as one of the criteria, be selected based on previous performance.
The School of Computing has a Work Placement Co-ordinator whose responsibility is to place students in IT companies to allow them to complete the six month work placement. The student, while on work placement, will be required to maintain a diary/log detailing the nature of their work and their experiences.
Games Modding
This is one of the optional subjects students can take in semester two of third year as an alternative to work placement. This module aims to expose students to an industry standard gaming development environment. At the end of this module students will have developed a distributable modification of an existing game engine. The current version of this course uses the game Crysis.
Mobile Robotics
This is one of the optional subjects students can take in semester two of third year as an alternative to work placement. This module provides a broad introduction to the field of mobile robotics, from a software perspective. It covers the basics of mobile robot control, software architectures, navigation and localization algorithms, and surveys some common application areas. Through practical aspects of the course will give students experience in developing real robotic systems.
Computational Mathematics
This is one of the optional subjects students can take in semester two of third year as an alternative to work placement. This is a an advanced module in Mathematics, which will give the student the necessary mathematical skills and tools, to deal with specialised areas in computing, such as Graphics, Image processing, Games development and Cryptography.
The aim of this module is to give the student the necessary knowledge and competence to deal with specialised applications in computer science, such as graphics, image processing and cryptography. It will present the necessary mathematical tools and how they can be applied to various problem areas. It will present mathematics as an exact science, and a powerful tool to model and analyse problems.
Game Worlds

This is a fourth year core subject. The computer games industry had an estimated worldwide value of over fifty billion euro. The games industry is considered a strategic growth area for Ireland and many students enjoy computer games on PC, console and mobile platforms. The purpose of this module is to introduce students to the core concepts required to develop modern 3D games in a PC environment. This course combines a foundation in maths and physics programming for 3D games, with 3D graphics. This course has a strong practical and technical focus and gives students the opportunity to learn practical games development at a low level.
The aim of this module is that students learn how entities are positioned and moved in modern 3D games. Students will learn how this is achieved using mathematics, algorithms and standard API’s, such as DirectX and OpenGL.
Mobile and Online Gaming
This is a fourth year core subject. It introduces students to the issues involved in developing online and mobile games. Particular areas of focus will include the design considerations which apply to online and mobile games, the technologies used to develop online and mobile games and case studies of particular on-line and mobile games.
This module aims to expose students to the important considerations involved in creating on-line and mobile games as opposed to other game types. The module will cover topics such as the technologies used to develop on-line and mobile games, game design, quality of service and ethical issues and commercial issues. The on-line gaming section of the course will give particular focus to Massively Multi-Player On-line Role Playing Games (MMORPGs) a particularly widely played type of on-line game. The module will aim to give students practical experience of developing aspects of both on-line and mobile games through a mixture of writing small applications and using appropriate tools.
Artificial Intelligence 1
This is a fourth year core subject. The most important concepts in introducing artificial intelligence are representation and search. This course introduces the student to the problems of knowledge representation and to the design search strategies.
The module aim is provide the student with an understanding of the problems facing knowledge representation, the range of structures available for knowledge representation, the relationship between the representation structures and search strategies, the ability to compare a search strategies relative to their suitability to a given domain and the time and space complexity.
Game Behaviour
This is a fourth year core subject. The purpose of this module is to build on the skills learned in Programming Game Worlds so that students can learn how higher order behaviours are implemented in computer games. This course begins by exploring perception and path finding and continues with a comparison of techniques used to implement higher order NPC (Non Player Character) decision making. This course has a strong practical and technical focus and gives students the opportunity to learn practical games development at a low level.
Game Middleware
This is a fourth year core subject. This module will introduce students to the use of tools and middleware in the game development process, along with covering the areas of game hardware and some of the business aspects of game development.
The aim of this module is to give students a firm grounding in the use of tools and middleware in the game development process. The aspects of game development for which the use of tools and middleware will be considered include physics, AI, sound and graphics and the module aims to explore each of these areas before discussing the use of middleware for them. Students will be given practical experience in using middleware solutions through lab work and will also implement a simple tool for use in game development. The areas of game hardware and the business issues involved in developing games will also be covered within the module. Currently, this course makes use of the [Open Dynamics Engine] and the [FMOD] audio library.
Artificial Intelligence 2
This is a fourth year core subject. Building on and comparing with the logic based techniques presented in Artificial Intelligence 1 this module introduces the student to probabilistic techniques and machine learning.
The module aim is provide the student with an understanding of stochastic techniques for reasoning under uncertainty and symbolic and sub-symbolic machine learning techniques.
DT228 BSc in Computer Science
The School of Computing now offers a stream in games programming starting in the third year of this four year honours degree. In years one, two and three you will learn core skills such as programming (in C, C++, Java and C#), computer hardware, computer technology, systems administration, databases and web development.
In year three, you can choose to enter the games programming stream of the degree. The aim of this stream is to expose students to a range of technologies and methods relevant to the production of modern computer games, with a view to equipping graduates to work in the computer games industry. The knowledge and skills learned on this stream will be applicable to problems in the creation of computer games but will also be transferable to a broad range of ICT domains.
The course is strongly oriented towards the provision of practical skills, with students gaining knowledge and experience of a range of tools, techniques, technologies and procedures employed by industry in the ICT sector, coupled with a strong theoretical appreciation and understanding of computer science and software engineering. Graduates will be adaptive to changing environments, both technical and organisational. Key to this is an ability to learn independently, and build upon fundamental and transferable skills acquired during the programme, as well as possessing the skills necessary to incorporate feedback and experience from prior work. Industry representatives are strongly involved in the running and assessment of the students in the course.
Here is a summary of the subjects that comprise the games programming stream:
Games Logic and Design
This is a third year core subject. This module aims to expose students to the important considerations in game logic and design by enabling students to create 2D computer games. Students will build a “plug-and-play” game engine that they can enhance and reuse to build a variety of games types. Students will learn the basics of game logic and design by understanding how to create a reusable game engine; capture keyboard, mouse, and joystick input; animate graphical objects with sprites; detect collisions between sprites; play digital sound effects and music and give game characters intelligent behaviour.
Work Placement
In year three of the programme an optional Work Placement module is available to all students. All students who are successful in all the year two exams are eligible to apply for the Work Placement module. Advanced entry students may be considered for Work Placement subject to approval by the Course Committee. The Course Committee may set a threshold on the numbers accepted for the module considering the prevailing market conditions. Students may, as one of the criteria, be selected based on previous performance.
The School of Computing has a Work Placement Co-ordinator whose responsibility is to place students in IT companies to allow them to complete the six month work placement. The student, while on work placement, will be required to maintain a diary/log detailing the nature of their work and their experiences.
Games Modding
This is one of the optional subjects students can take in semester two of third year as an alternative to work placement. This module aims to expose students to an industry standard gaming development environment. At the end of this module students will have developed a distributable modification of an existing game engine. The current version of this course uses the game [Far Cry] and teach the [Sandbox] engine.
Mobile Robotics
This is one of the optional subjects students can take in semester two of third year as an alternative to work placement. This module provides a broad introduction to the field of mobile robotics, from a software perspective. It covers the basics of mobile robot control, software architectures, navigation and localization algorithms, and surveys some common application areas. Through practical aspects of the course will give students experience in developing real robotic systems.
Computational Mathematics
This is one of the optional subjects students can take in semester two of third year as an alternative to work placement. This is a an advanced module in Mathematics, which will give the student the necessary mathematical skills and tools, to deal with specialised areas in computing, such as Graphics, Image processing, Games development and Cryptography.
The aim of this module is to give the student the necessary knowledge and competence to deal with specialised applications in computer science, such as graphics, image processing and cryptography. It will present the necessary mathematical tools and how they can be applied to various problem areas. It will present mathematics as an exact science, and a powerful tool to model and analyse problems.
Game Worlds
This is a fourth year core subject. The computer games industry had an estimated worldwide value of over fifty billion euro. The games industry is considered a strategic growth area for Ireland and many students enjoy computer games on PC, console and mobile platforms. The purpose of this module is to introduce students to the core concepts required to develop modern 3D games in a PC environment. This course combines a foundation in maths and physics programming for 3D games, with 3D graphics. This course has a strong practical and technical focus and gives students the opportunity to learn practical games development at a low level.

The aim of this module is that students learn how entities are positioned and moved in modern 3D games. Students will learn how this is achieved using mathematics, algorithms and standard API’s, such as DirectX and OpenGL.
Mobile and Online Gaming
This is a fourth year core subject. It introduces students to the issues involved in developing online and mobile games. Particular areas of focus will include the design considerations which apply to online and mobile games, the technologies used to develop online and mobile games and case studies of particular on-line and mobile games.
This module aims to expose students to the important considerations involved in creating on-line and mobile games as opposed to other game types. The module will cover topics such as the technologies used to develop on-line and mobile games, game design, quality of service and ethical issues and commercial issues. The on-line gaming section of the course will give particular focus to Massively Multi-Player On-line Role Playing Games (MMORPGs) a particularly widely played type of on-line game. The module will aim to give students practical experience of developing aspects of both on-line and mobile games through a mixture of writing small applications and using appropriate tools.
Artificial Intelligence 1
This is a fourth year core subject. The most important concepts in introducing artificial intelligence are representation and search. This course introduces the student to the problems of knowledge representation and to the design search strategies.
The module aim is provide the student with an understanding of the problems facing knowledge representation, the range of structures available for knowledge representation, the relationship between the representation structures and search strategies, the ability to compare a search strategies relative to their suitability to a given domain and the time and space complexity.
Game Behaviour
This is a fourth year core subject. The purpose of this module is to build on the skills learned in Programming Game Worlds so that students can learn how higher order behaviours are implemented in computer games. This course begins by exploring perception and path finding and continues with a comparison of techniques used to implement higher order NPC (Non Player Character) decision making. This course has a strong practical and technical focus and gives students the opportunity to learn practical games development at a low level.
Game Middleware
This is a fourth year core subject. This module will introduce students to the use of tools and middleware in the game development process, along with covering the areas of game hardware and some of the business aspects of game development.

The aim of this module is to give students a firm grounding in the use of tools and middleware in the game development process. The aspects of game development for which the use of tools and middleware will be considered include physics, AI, sound and graphics and the module aims to explore each of these areas before discussing the use of middleware for them. Students will be given practical experience in using middleware solutions through lab work and will also implement a simple tool for use in game development. The areas of game hardware and the business issues involved in developing games will also be covered within the module. Currently, this course makes use of the [Open Dynamics Engine] and the [FMOD] audio library.
Artificial Intelligence 2
This is a fourth year core subject. Building on and comparing with the logic based techniques presented in Artificial Intelligence 1 this module introduces the student to probabilistic techniques and machine learning.
The module aim is provide the student with an understanding of stochastic techniques for reasoning under uncertainty and symbolic and sub-symbolic machine learning techniques.