About the Programme:
This programme is designed to produce graduates with an in-depth knowledge of the critical aspects of games design and development. They will acquire the necessary knowledge to cope with the changing nature of the games industry throughout their careers. Students will be taught techniques for analysis, design and development of games for platforms such as mobiles, handheld consoled, PC’s, games consoles, interactive TV and online games in a variety of computer languages.
Students will develop problem specifications and their respective solutions related to games design and development. In addition, participants will be required to complete a substantial project under the guidance of an ICT Specialist. Graduates can expect to take up employment in industries ranging from small or medium-sized entertainment media enterprises to large multinationals.
Further Study and Career Opportunities:
Students who successfully complete this programme will be eligible for a wide range of taught and research Level 9 Masters Programmes in Ireland and abroad.
Games Design and Development provides graduates with exciting career opportunities in a rapidly changing sector of the computing industry. Graduates will be able to gain employment in different areas of entertainment media enterprises such as Games Development, Mobile Application Design and Development, Design, Interactive TV, e-Learning and Online entertainment applications. Graduates of this programme will possess attributes making them suitable for employment in a range of positions that might include:
* Games Programmer
* Game Testers
* Level Designers
* Game Designers
* Games Middleware Engine Developer
* Games Developer Tools Designer
* Graphics & Audio Software Production
* Project Manager

Streams |
Year 1 |
Year 2 |
Year 3 |
Year 4 |
Programming |
Introduction to Computer Programming
(5 ECTS)
Introduction
to OO Programming
(5 ECTS) |
Procedural Programming
(5 ECTS)
Data Structures
(5 ECTS) |
Enterprise Client Server Programming
(5 ECTS)
Computer Graphics
(5 ECTS)
Advanced OO Programming
(5 ECTS) |
Programming Games Engines
(5 ECTS)
Concurrent Programming
(5 ECTS)
Platform Games Development
(5 ECTS) |
Software Development |
Introduction to Systems Analysis
& Design
(5 ECTS)
Introduction to OO Design
(5 ECTS) |
Human Computer Interface Design
(5 ECTS) |
Software Security & Testing
(5 ECTS) |
Advance Methods in Systems Design
(5 ECTS)
Games Design
(5 ECTS) |
Hardware |
Computer Architecture
(5 ECTS)
Computer Organisation
(5 ECTS) |
Electronics for Computing
(5 ECTS)
Computer Systems Hardware
(5 ECTS) |
Introduction
to Embedded Systems
(5 ECTS) |
Graphics
& Audio
(5 ECTS) |
Analytical Skills |
Mathematics for Computing
(5 ECTS)
Mathematical Methods
(5 ECTS) |
Statistical Data Analysis
(5 ECTS) |
Algorithms
(5 ECTS)
Artificial Intelligence
(5 ECTS) |
Game Physics
(5 ECTS)
Games Artificial Intelligence
(5 ECTS) |
Systems |
Operating System Fundamentals
(5 ECTS) |
Operating System Management
(5 ECTS)
Internetworking (5 ECTS) |
Network Services & Applications
(5 ECTS) |
Networked Games
(5 ECTS) |
Personal Development |
Developing your Potential
(5 ECTS) |
Professional Development & Employment Placement
(10 ECTS) |
Team & Self Management
(5 ECTS) |
Games & Modern Culture
(5 ECTS) |
Information Management Development |
Organisations & Business Processes
(5 ECTS) |
Database Planning & Design
(5 ECTS)
Database Systems Implementation
(5 ECTS) |
Management & Control
(5 ECTS)
Project
(10 ECTS) |
Games Project
(10 ECTS) |
Courses are divided into modules or self-contained units of learning.
An elective module is one you choose from a number of options.
ECTS is the abbreviation used for the European Credit Transfer System. Each module is given a value between 1 and 60 to describe the amount of work required to complete it. These reflect the quantity of work the module requires in relation to the total amount necessary to complete a full year of academic study. A value of 60 credits represents the workload involved in one year of study. TI course modules are generally allocated 5, 10 or 15 credits.
|
Semester 1 (Year 1) |
Introduction to Computer Programming |
Introduces students to the theory and practice of computer programming concepts. It also introduces students to basic program design concepts. The module enables students to write computer programs consisting of up to several hundred lines of well designed code in a modular fashion. |
Introduction to Systems Analysis and Design |
The overall aim of this module is to introduce the student to techniques used in systems analysis and design. The software development lifecycle is examined and the student is also introduced to a range of skills needed to facilitate problem solving. |
Computer Architecture |
In this module, students are introduced to the components of a computer system. They learn how data is manipulated and stored in a digital computer and they are introduced to the main memory technologies. The ‘8086 family of microprocessor is used to provide students with knowledge of the inner workings of a PC. In the laboratory, students write simple programs for the D6 educational computer. |
Mathematics for Computing |
In this module students are introduced to some of the fundamental mathematical concepts which a computer science student will need. The aim of the module is to develop the mathematical ability of the students in the areas of geometry, algebra, matrices, vectors and set theory. The principles will be reinforced with practical examples and also through the use of a mathematical software package. |
Operating System Fundamentals |
This module introduces the fundamentals of memory, virtual memory, and processor management. Students study the algorithms used to control processor scheduling, memory management, and strategies designed to provide a secure computing environment. The course explores techniques for modelling, detecting, and recovering from deadlock. Students gain practical experience by installing, executing DOS commands, and using the Windows operating system. |
Organisations & Business Process |
This module introduces students to fundamental business concepts such as sales, management, personnel and production. Students will learn how organisations are structured and how they operate. From this module, students will gain an appreciation of how information systems link the parts of an organisation together and the challenges that modern IT specialist face in designing and managing systems in the real world. |
Semester 2 (Year 1) |
Introduction to Object Oriented Programming |
The module provides an introduction to the concepts behind object-oriented programming. Students gain a thorough understanding of incremental programming, type-safety, polymorphism, encapsulation, and inheritance and apply these concepts through a variety of programming projects. The module also develops students programming and problem solving skills. |
Introduction to Object-Oriented Design |
The module examines the concepts used in Object-Oriented Software Development and the Object-Oriented Development Lifecycle. The student is provided with an understanding of the concepts and advantages of the object-oriented approach to system development and how such systems may be implemented. |
Computer Organisation |
Students learn the basics of Assembly Language programming in this module. They are taught the basic rules of Boolean Algebra and they learn how digital logic can be applied to the design of various arithmetic, memory and logic circuits. They also study the operation of some of the most widely used peripheral devices. |
Mathematical Methods |
The focus of this mathematics module is in the areas of functions and calculus which are necessary for tackling a wide range of real world problems. The properties of many of the standard mathematical functions will be analysed before moving on to differentiation and integration. Practical examples will be used to demonstrate the concepts and where appropriate mathematical packages will be used. |
Data Communications |
This module introduces students to the concept of computing devices communicating with each other, over wired and wireless media. It covers in detail the media employed and the major issues relating to connecting the devices to a shared communications system. There is a nice balance between theoretical content and practical laboratories. |
Developing Your Potential |
This module is designed to equip participants with an understanding of their own skills and capacities. It will include an exploration of learning styles, identifying and learning how to articulate their own strengths and capacities. The module allows participants the opportunity to develop their own interpersonal skills and capacities and the skills to articulate a message to others using effective presentation techniques. |
|
Semester 3 (Year 2) |
Procedural Programming |
This module builds on the programming skills learned in semester 1 and introduces more advanced concepts that are widely used when developing practical procedural programs. For practical examples the module focuses on programming stand-alone devices such as a microprocessor or microcontroller. |
Electronics for Computing |
Design and building of useful and interesting circuits are integral to the course. A range of practical skills are introduced (for example: circuit simulation using CAD, circuit building using discrete components and breadboards, circuit testing using oscilloscopes and multimeters). Knowledge developed is tailored in such a way as to complement subjects such as Embedded Systems and Games Technology. In this way, useful skills for realising hardware-style projects are developed. |
Statistical Data Analysis |
This module aims to familiarize the student with some of the basic statistical concepts which they will require. The topics covered will include the summarisation, analysis and presentation of data, designing a survey or questionnaire, calculating probability for uncertain events and the properties of a number of widely used probability distributions. Mathematical software will be used to reinforce the concepts. |
Operating Systems Management |
This module introduces the fundamentals of device and file management, and the UNIX operating system. Students study disk scheduling algorithms, the management of data on secondary storage, and file protection strategies. They learn to compare and evaluate operating systems. Students install the UNIX operating system, combine simple commands to create powerful pipelines, and use a UNIX editor to create simple programs. |
Professional Development & Employment Placement |
This module consists of both a taught and work experience element. In the work placement element participants will get relevant practical work experience in companies and organisations in Ireland and overseas over a three month period. The placement is a partnership between the employer, the student and the college, ensuring proper supervision, evaluation and relevancy to the degree programme.
The taught element of the programme is designed to improved the employability skills of participants through the developing an understanding of the skills required to be successful in the work environment including CV and interview preparation and the skills of working effectively with others. |
Database Planning & Design |
Database Planning and Design introduces database technologies focusing on the importance of controlled management, deployment and development of database systems. It aims to develop a variety of design skills including the ability to analyse requirements and to produce a well-structured relational database schema. A number of mainstream database platform are introduced as are a number of systems management concepts including database security and multiuser contention. |
| |
Semester 4 (Year 2) |
Data Structures |
This module deals with the fundamentals of organising and manipulating data efficiently using clean conceptual models. Students study many of the important conceptual data types and their realisation through implementation. The module also reinforces students programming skills and further develops student’s problem solving skills. |
Human Computer Interface Design |
This modules aims to teach students the principles involved in designing interfaces for computer systems that are easy to use and understand. The student learns usability principles and implements these principles in a practical setting by developing web pages that adhere to best practice. |
Computer Systems Hardware |
This module introduces the Motorola 68000, thus further developing the students’ Assembly programming skills and deepening their knowledge of microprocessor architecture. Students also learn to evaluate some popular CPUs. They are then introduced to the features of a microcontroller and write programs to control hardware components such as push buttons. |
Internetworking |
Internetworking Protocol, or as it is more commonly called IP, is ubiquitous. All forms of communication service, including TV, Phones, CCTV, Telemetry, Radio and Mail, have converged and are increasingly being delivered over IP-based networks, namely the Internet. The need for experts in the structure and management of this system is essential and this module fills this need. |
Database Systems Implementation |
The Database Systems Implementation module aims to equip students with the skills to code and implement a relational database design and to query a database. The module also introduces secure data access and the planning and documentation of a Data Access Strategy. The learner is also exposed to the usage of SQL to manage data access through the creation of roles and users and the granting and revoking of permissions thereto. |
|
Semester 5 (Year 3) |
Enterprise Client Server Programming |
This module strengthens software development skills and students will be exposed to the analysis, design and development of large scale enterprise applications. They will have an insight into how enterprise applications are developed using frameworks. They will also integrated applications with business objects and persistence systems. |
Software Security and Testing |
The aim of this module is to introduce the student to the different approaches and guidelines associated with the development of secure software. The student is also given an overview of standards, techniques and tools used in software testing. |
Algorithms |
An algorithm is a set of step by step instructions to carry out a particular task. Tasks performed by computer programs often fall into certain categories that have well known solutions. This module examines solutions to frequently occurring programming tasks and develops methods for evaluating their efficiency. |
Network Services and Applications |
The uses of the Internet, and the applications developed to harness its power, are varied and continually developing. This module concentrates on the technologies that allow us deliver this power to the end-user and therefore the knowledge and skills learned are essential for the modern day technologist. |
Computer Graphics |
This module introduces the basic concepts of computer graphics and raster based methods. It also provides the necessary theoretical background for computer graphics and demonstrates the application of computer science to graphics. It also offers the opportunity for students to formulate and implement applications of computer graphics. |
| |
Semester 6 (Year 3) |
Advanced OO Programming |
This module aims to advance students programming abilities with a primary focus on OO Programming. The core elements include applied case study based system analysis design and development using practical OO design patterns. On completion of this module students will appreciate how to model a solution using OO techniques and implement the solution in an OO programming language. |
Embedded Systems |
The approach taken for this course is practical and hands-on and focuses on real-world examples. To achieve this, the core and peripheral features of a specific microcontroller architecture are studied in detail. Hardware interfacing techniques (keypads, liquid crystal displays, external memory etc) and associated software routines (assembler and C) are dealt with in a practical sense to allow for the development of creative projects. Other architectures and devices (such as rfID, rfPIC etc) are also touched on, to also ensure a broad overview perspective of the subject. |
Artificial Intelligence |
Artificial Intelligence is the field of study devoted to using computers (‘artificial’) to emulate intelligent thought or behaviour (‘intelligence’). This module looks at various techniques that are used to achieve this aim and the types of problems that are thought suitable for this approach. Applications of AI include speech recognition, personal identification systems and medical diagnosis. |
Team & Self Management |
The focus of this module will be on developing an understanding of, and the skills associated with the challenge of working in a team environment. This will build on the skills developed during work placement and will look at the challenges faced in managing effective teams. In addition this module is designed to develop the skills of participants in the work environment such as setting and achieving goals, career planning, motivation of self and others. |
Management & Control |
This module enables students to understand the theory and practice of management and control of organisations. The students will develop skills in a variety of costing techniques and the understanding of budgeting and standard costing and variance analysis as an essential tool for planning and controlling business costs. The student will also be introduced to key issues in the study of management. |
Project |
This module aims to provide students with the opportunity to plan, design, implement, test and document a significant computing project that draws from all areas of study completed to date. Furthermore, students will be expected to extend their existing knowledge by researching project specific knowledge where appropriate. |
|
Semester 7 (Year 4) |
Programming Games Engines |
The aim of this module is to give students the knowledge required to select appropriate software development paradigms used by the game industry. Students will explore game concept, design techniques, planning and programming techniques used in the design, development, testing, distribution and maintenance of today’s games engines. |
Advanced Methods in Systems Design |
This module introduces the student to advanced aspects of systems design. Design patterns are examined in detail and how they may be applied to real-world situations. The student is introduced to further design techniques used for different problem domains. |
Graphics and Audio |
This module introduces students introduce the architectures of graphics and audio processor units. Students will explore graphics and audio concepts in the areas of vector, raster graphics and audio effects. They will also implement effects using graphics and audio Application Programming Interfaces. |
Game Physics |
This module introduces the application of physical laws to the creation of computer games with physics-based realism. Students will learn and apply key physics concepts, algorithms and techniques used for modelling and synthesising computer game environments. The module covers physics models for solving important game environment problems that require physics based solutions. |
Concurrent Programming |
Concurrent Programming teaches the student how to write computer programmes that can do many things at the same time. For example, how to write a program that can check the spelling of a piece of text while, at the same time, read new text being typed in by the user. The effect would be a programme that can check spelling while you type, as opposed to having to type everything first and then check the spelling. |
| |
Semester 8 (Year 4) |
Platform Games Development |
This module will introduce students to platform games development architectures and programming concepts. Students will be exposed to games design and scene development on mobile, handheld console, PC and games console platforms. |
Games Design |
The core elements include game genres, games design, and ethical boundaries illustrating the need for a professional discipline and effective management throughout the games development lifecycle. Students will have an appreciation for effective games design communication, technology selection, games production and distribution. This module prepares students for game industry design or for further study at postgraduate level. |
Games Artificial Intelligence |
This module looks at contemporary computer games and explores techniques for implementing the AI (from the perspective of the game industry) and study opportunities to use AI (from the research perspective) to enhance the game playing experience. |
Networked Games |
Networked Games teaches students how to design and develop computer games that can be played over a computer network, such as the internet. Designing and developing networked games poses many challenges such as ensuring that all player moves are communicated to all other players who are playing the same game but on a different computer and possible in another parts of the world. |
Games and Modern Culture |
Explore the sociological and cultural foundations of electronic games in this module while learning the core motivations that attract and hold attention through various stages of game play. Several engaging readings set the stage for classroom discussion about censorship, age restrictions and legal implications arising after games developers launched products rife with controversy. |
Project |
The student is given the opportunity to research, specify, design and implement a medium-to-large scale games project. The project is the culmination of the student’s work throughout the programme. |
Graduate Profile:
David Brennan
Network Programmer, Activision (DemonWare)
After graduating I returned to work in DemonWare where I had just completed a summer internship. My role in DemonWare relied heavily on the skills and training I received in Tipperary Institute in programming, algorithms, networks, design patterns and hardware systems.
While at Tipperary Institute I was involved in the TippSoc Gaming society. Through the activities of this group I picked up extra skills and met people from the games industry which helped me get the job I have today. TI is an excellent place to study with lecturers you can interact with and its societies provide invaluable experiences and contacts.