Master Game Engineering and Simulation Technology: Curriculum

1. Semester

Name ECTS
SWS
AI Concepts and Algorithms (M12)
German / iMod
5.00
-
AI Concepts and Algorithms (AIE)
German / ILV
5.00
3.00

Course description

In the course, concepts and algorithms of Artificial Intelligence (AI) are taught.

Methodology

lectures and tutorials

Learning outcomes

After passing this course successfully students are able to ...

  • understand AI algorithms and their application
  • understand the pros and cons of algorithms based on data and assignments
  • solve practical AI tasks (regression, classification, clustering, dimension reduction) using Python (Numpy, Pandas, Matplotlib, Scikit-Learn).
  • get a feeling for the abilities and limitations of AI

Course contents

  • Random forest
  • Naïve Bayes
  • Logistic regression
  • Neural Networks
  • t-SNE
  • db-scan
  • Ridge, Lasso regression
  • Multiple regression
  • SVM
  • Boosting

Prerequisites

Python, Basic knowledge of statistics and mathematics, Basic knowledge of machine learning

Literature

  • James G., Witten D., Hastie T., Tibshirani R. (2017): An Introduction to Statistical Learning. – Springer.
  • Marsland S. (2015): Machine Learning, An Algorithmic Perspective. – CRC Press.
  • Géron A. (2017): Hands-On Machine Learning with Scikit-Learn & TensorFlow. – O’Reilly.

Assessment methods

  • 80% exam
  • 20% assignments
Adjustment Module (M11)
German / iMod
5.00
-
Computer Graphics Basics (CGB)
German / ILV
5.00
3.00

Course description

Introduction to computer graphics

Methodology

Integrated course

Learning outcomes

After passing this course successfully students are able to ...

  • describe theoretical aspects of computer graphics.
  • interpret the structure of OpenGL and the rendering pipeline.
  • implement transformations using matrices.

Course contents

  • Overview of Transforms, Rendering Pipeline, Hardware, Viewing & Projections, Geometry, Color & Light, Textures, Matrices, Vectors, Rendering techniques, Low-level data structures, OpenGL basics

Prerequisites

C or C++, or C# or Java Know How

Literature

  • Tomas Akenine-Möller et al, Real-Time Rendering, 4th edition, CRC Press LLC, 2018 (Ebook)
  • OpenGL Programming Guide: The Official Guide to Learning Opengl, Version 4.5

Assessment methods

  • 10% port of an OpenGL example
  • 20% 1. Code Review
  • 70% 2. Code Review + oral exam

Anmerkungen

None

Machine Learning Basics (MLB)
German / ILV
5.00
3.00

Course description

In this course the theoretical and applied basics of machine learning shall be taught.

Methodology

A combination of lectures and tutorials

Learning outcomes

After passing this course successfully students are able to ...

  • self implement selected algorithms
  • explore data and perform analysis
  • analysis according to principles of machine learning (e.g. Cross Validation, Parameter Tuning)
  • applied tasks of machine learning (regression, classification, clustering)
  • possibilities and limitations of machine learning

Course contents

  • Basic principles: Classification, Regression, Clustering, Over/-Underfitting, Cross Validation & Performance Evaluation, Parameter Tuning;
  • Data handling: Data Cleaning, Handling Missing Values, Data Normalization, Class Balancing, Feature Selection, Dimensionality Reduction;
  • Algorithms: kNN, Linear Regression, K-Means, Hierarchical Clustering, Trees, principal component analysis;

Prerequisites

Python and basics of statistics and mathematics

Literature

  • James G., Witten D., Hastie T., Tibshirani R. (2017): An Introduction to Statistical Learning. – Springer.
  • Marsland S. (2015): Machine Learning, An Algorithmic Perspective. – CRC Press.
  • Géron A. (2017): Hands-On Machine Learning with Scikit-Learn & TensorFlow. – O’Reilly.

Assessment methods

  • 80% exam
  • 20% assignments
Programming Basics (PRGB)
German / ILV
5.00
3.00

Course description

Compensation module to refresh and deepen efficient object oriented programming in C++ as well as functional programming aspects

Methodology

Integrated course

Course contents

  • C++ refresh (variables, arrays, pointers, references)
  • OOP (Virtual functions, Inheritance, Operators)
  • Templates (Policy-Based Design, Specializations, Traits)
  • Memory Management
  • Clean Code in C++
  • Functional aspects
  • Design Patterns

Prerequisites

Programming skills in an object oriented programming language

Literature

  • Moderne C++ Programmierung - Schneeweiß Ralf (2012) 2. Auflage
  • Effective Modern C++: 42 specific ways to improve your use of C++11 and C++14 - Scott Meyers

Assessment methods

  • Course immanent assessment method and end exam

Anmerkungen

None

Advanced Programming (M13)
German / iMod
5.00
-
Advanced Programming (APRG)
German / ILV
5.00
3.00

Course description

This course is about modern topics of advanced programming

Methodology

Theory, Examples, Excercises

Learning outcomes

After passing this course successfully students are able to ...

  • learn the O-Notation, efficiency
  • know how to create pseudo-random number generators
  • know how to use heuristic algorithms (A*, CSP)
  • know how to define computational geometry, convex hull
  • knopw how to create and use spatial data structures, collision detection
  • learn modern C++ (lambda, monad)
  • know how to create parallel programs in MPIch / OpenMPI
  • create parallel algorithms
  • know how to use OpenCL

Course contents

  • efficient programming
  • safe programming
  • parallel programmin
  • non-linear programming
  • functional programming

Prerequisites

C / C++ Algorithms and data-structures

Assessment methods

  • continuous assesment in course
Mathematics (M15)
German / iMod
5.00
-
Numerical Methods (NUM)
German / ILV
3.00
2.00

Course description

Numerical methods and their theoretical foundations are a mathematical discipline based on concepts and tools from analysis (differential and integral calculus in one or several variables) and linear algebra. At the begin of the course, the most important mathematical tools are introduced, including Fourier analysis and complex arithmetic – this is basic for the understanding of particular methods. Numerical algorithms work in floating point arithmetic. The properties and pitfalls of this kind of computations are discussed. In the main sections on numerical methods, basic techniques like polynomial interpolation and trigonometric interpolation (discrete Fourier transform) are discussed first, since these prerequisites for designing more advanced methods like integration or solving differential equations. Then the course focuses on basic techniques for computer graphics and methods for the solution of dynamic (differential) equations for (virtual) objects and their simulation on the computer. In the section on numerical linear algebra it is shown how solution algorithms for systems of linear equations and related problems are implemented and how to use the respective software. The typical matrix-oriented terminology is illustrated by means of for instance Matlab as a standard software tool. Practical exercises focus on the solution of smaller application-oriented problems on the digital computer. Basic algorithms can be programmed by the students, and for more advanced computations we use a standard tool, e.g., Matlab. This also enables the visualization of solutions and simulations.

Methodology

Theoretical foundations: `frontal' wih emphasis on geometric visualization of contents as far as possible. Practical exercises: focus on implementation of practically oriented projects. Feedback on two levels: (i) in course of presentation of the results by the students in the classroom, (ii) via inspection of the project documentation to be composed after this presentation and appropriate feedback.

Learning outcomes

After passing this course successfully students are able to ...

  • explain and manupulate analytic/numerical models of geometric objects (curves, manifolds)
  • apply basic numerical methods in applied linear algebra and analysis and evaluate their accuracy
  • simulate kinetic processes on the basis of mathematical models, in particular ordinary differential equations
  • efficiently apply standard numerical software tools

Course contents

  • Mathematical foundations I: Analysis
  • Mathematical foundations II: Linear algebra
  • Floating point arithmetic
  • Iterative techniques; differential equations and simulation
  • Interpolation and approximation
  • Numerical linear algebra

Prerequisites

Undergraduate mathematics at computer science/bachelor level Computer architecture, in particular internal number representation - Programming in a standard language, e.g., C

Literature

  • Birmelin, J., Hupfer, C. (2008): Elementare Numerik für Techniker, Vieweg/Teubner Studium
  • Huckle T., Schneider, S. (2006): Numerische Methoden, Springer-Verlag

Assessment methods

  • Course-immanent assessment method and end exam
  • Presentation of practical problems by the students
  • Assessment of written protocols, with feedback
  • Overall examination at the end of course (oral or written): Focus on theory, but also referring to he material covered by the practical exercises

Anmerkungen

Lecture notes are available in pdf format.

Probabilistic Methods (PROB)
German / ILV
2.00
1.00
Software Engineering (M14)
German / iMod
5.00
-
Software Engineering (SWE)
German / ILV
5.00
3.00

Course description

This course gives an introduction to relevant areas of software engineering for machine learning. The main goal is to familiarize students with the current methods and tools and to understand the basic principles of software techniques.

Methodology

Mixture between lecture, practical development and independent application of methods and tools.

Learning outcomes

After passing this course successfully students are able to ...

  • Train and apply a ML model
  • Design and provide REST API
  • Apply Docker containers
  • Understand principals of Kubernetes
  • Work with MicroServices

Prerequisites

C# or Java

Assessment methods

  • Active participation
  • Submission of the tasks
  • Presentation
Specialization 1 (M16)
German / iMod
5.00
-
Advanced Game Design (AGD)
German / ILV
5.00
3.00

Course description

Advanced Game Design introduces and develops the theory & practice of designing videogames - drawing on experiences from industry veterans.

Methodology

Lectures, Workshops, and Coursework.

Course contents

  • Formal and Dramatic Elements of Games
  • History of Games
  • Design Tools and Methods
  • World and Level Design
  • Paper Prototyping

Literature

  • Theory of Fun for Game Design by Raph Koster
  • Game Design Workshop by Tracy Fullerton
  • Rules of Play: Game Design Fundamentals by by Katie Salen and Eric Zimmerman

Assessment methods

  • Paper Prototype Workshop
  • High Concept Coursework
Knowledge Representation and Symbolic AI (SYMB)
German / ILV
5.00
3.00

Course description

The course consists of two thematic blocks: Part A: Knowledge Representation and Reasoning (4 units, lecturer: Christoph Redl) Part B: Evolutionary Algorithms (6 units, lecturer: Lars Mehnen)

Methodology

Lecture course and exercises

Learning outcomes

After passing this course successfully students are able to ...

  • apply concepts of knowledge reasoning and logic
  • apply evolutionary algorithms and strategies

Course contents

  • Knowledge Representation and Reasoning
  • Foundations of Logics
  • Knowledge-based Systems and Answer Set Semantics
  • Knowledge Representation Formalisms and Applications
  • Introduction to EA / What is an EA
  • Genetic Algorithms
  • Evolutionary Strategies
  • Evolutionary Programming
  • Parameter Control
  • Memetic Algorithms

Prerequisites

Part B: able to program in C/C++

Assessment methods

  • Part A: Exercises (application of theoretical concepts, knowledge modelling): 25%
  • Part A: Logic programming group exercise (group size: 3): 25%
  • Part B: 4 assignments (group size 3) (10%,10%;10%;20%)

2. Semester

Name ECTS
SWS
Development Project 1 (M23)
German / iMod
5.00
-
Development Project 1 (DEVP1)
German / PRJ
5.00
2.00
Engine Architecture and Design (M22)
German / iMod
5.00
-
Engine Architecture and Design (EAD)
German / ILV
5.00
3.00
Scientific Working and Ethics (M24)
German / iMod
5.00
-
Ethics (ETHIC)
German / ILV
2.00
1.00
Scientific Working (SCIW)
German / ILV
3.00
2.00
Specialization 2 (M25)
German / iMod
5.00
-
Content Creation and Design Aspects (CONT)
German / ILV
5.00
3.00
Interactive AI (AIAPP)
German / ILV
5.00
3.00
Specialization 3 (M26)
German / iMod
5.00
-
Multiplayer and Realtime Networking (MRN)
German / ILV
5.00
3.00
Special Topics of AI (SGAI)
German / ILV
5.00
3.00
Visual Computing & Neural Rendering (M21)
German / iMod
5.00
-
Visual Computing & Neural Rendering (VC)
German / ILV
5.00
3.00

3. Semester

Name ECTS
SWS
Development Project 2 (M33)
German / iMod
5.00
-
Development Project 2 (DEVP2)
German / PRJ
5.00
1.00
Entrepreneurship (M35)
German / iMod
5.00
-
Business Model Innovation (INNOV)
German / ILV
3.00
2.00
Law (LAW)
German / ILV
2.00
1.00
Master Thesis Project (M34)
German / iMod
5.00
-
Master Thesis Project (MPRJ)
German / PRJ
5.00
1.00
Mixed Reality and Simulation (M31)
German / iMod
5.00
-
Mixed Reality and Simulation (ARXR)
German / ILV
5.00
3.00
Reinforcement Learning (M32)
German / iMod
5.00
-
Reinforcement Learning (REIL)
German / ILV
5.00
3.00
Specialization 4 (M36)
German / iMod
5.00
-
Deep Learning Engineering (DEEPL)
German / ILV
5.00
3.00
Multiplatform Development (MMD)
German / ILV
5.00
3.00

4. Semester

Name ECTS
SWS
Master Thesis Module (M41)
German / iMod
30.00
-
Master Thesis (MT)
German / SO
27.00
1.00
Master Thesis Seminar (MTSEM)
German / SE
3.00
1.00