Teaching Responsibility

LJMU Schools involved in Delivery:

Computer Science and Mathematics

Learning Methods

Workshop

Module Offerings

5210COMP-SEP-CTY

Aims

To practically apply the concepts Object-Oriented Design and Programming to games software such as Software Design Patterns To explain the models, tools and techniques of the software development process for game software. For students to critically evaluate the phases of the Software Development Lifecycle and different methodologies that are used in the games industry. To explain formal principles of game software modelling. To provide skills in using software APIs relevant for the computer games industry. To manage the software development lifecycle using industry-standard approaches to Software Configuration Management (SCM) using Version Control Systems (VCS) To practically apply the principles of Agile Development to the design and development of a non-trivial game application.

Module Content

Outline Syllabus:Games Software Engineering characteristics and Software Engineering paradigms. The Software Development Lifecycle as applied to Games Software Software Planning and Project Management – Software Configuration Management as a standard. The Agile Manifesto and its application to games development. Object-Oriented Design Techniques and UML Modelling. The syntax and semantics of class specification and Object creation. Encapsulation Association, Aggregation and Composition and the language concepts which facilitate these. Inheritance, Sub-Typing, Polymorphism and the role of Dynamic Dispatch. Language constructs and Standard Libraries for Memory Management Software Architectures: SOLID Principles, Cohesion and Coupling Data-Driven games development Quality Assurance and Testing. Introduction to Parametric Polymorphism. Game Object representation and Object Models Software Design Patterns for Games Architectures. Program Structures and Execution Models CPU vs GPU Software Engineering Introduction to Concurrent Programming. Common Optimisation Techniques Test Driven Development.
Module Overview:
In this module, you will build upon your foundational programming skills by introducing in both a practical and theoretical manner some of the fundamental ideas of software engineering, enabling you to develop and communicate designs for small scale games software systems. As a group, you will apply the Agile Development methodology and its associated design techniques using Object-Oriented principles to produce solutions for games development scenarios using Object-Oriented Programming. You will gain experience of Software Engineering techniques for the design, development and testing of game software and understand the impact of these techniques on the architecture of modern games application, using industry-led tools and techniques.
Additional Information:In this module, students will build upon their foundational programming skills by introducing – in both a practical and theoretical manner – some of the fundamental ideas of software engineering, enabling students to develop and communicate designs for small scale games software systems. As a group, students will apply the Agile Development methodology and its associated design techniques using Object-Oriented principles to produce solutions for games development scenarios using Object-Oriented Programming. Students will gain experience of Software Engineering techniques for the design, development and testing of game software and understand the impact of these techniques on the architecture of modern games application, using industry-led tools and techniques.

Assessments

Technology
Centralised Exam