As well as traditional lectures students will undertake various laboratory exercises implementing various algorithms.
They will be expected to participate in class on the materials covered.
A term papers will involve a more in-depth study of the issues raised.
Combination of lecture and laboratory sessions. Lectures will provide traditional theory. Laboratory sessions will employ formative practical assessment and learning concurrent and functional programming. Project work will be based on programming in C++11, C++14, Erlang and Haskell languages
Module Aim:
Analyse, evaluate and implement concurrent algorithms which allow computational processes to be executed efficiently within digital games.
Design and develop programs to perform tasks in parallel on single, multi−core and distributed CPU's and GPU's
Learning Outcomes
On successful completion of this module the learner should be able to:
LO1
Evaluate methods for synchronising concurrent processes and assess effects of concurrency in specific domains, applied to games development and title execution environments
LO2
Design algorithms that execute on multiple processes with core or processor affinity
LO3
Develop functional programs that express the logic of a computation (without defining flow) and integrate into a digital game
Pre-requisite learning
Module Recommendations
This is prior learning (or a practical skill) that is recommended before enrolment in this module.
No recommendations listed
Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module.
No incompatible modules listed
Co-requisite Modules
No Co-requisite modules listed
Requirements
This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed.