Brain-Games: associated programming project for the lecture Software Engineering
Lab: Neural Interfaces and Brain Signal DecodingAlexander Blöck
Group leader / Postdoc
Lab: Neural Interfaces and Brain Signal DecodingSebastian Nagel
Lab: Neural Interfaces and Brain Signal DecodingChristian Niethammer
|Type of course||Programmierprojekt|
|Entry in course catalog||Alma|
In this project, Brain-Computer Interfaces (BCI) approaches are taught. BCIs allow controlling computer programs or hardware by pure brain activity. In this process, signals are derived by means of electrodes on the surface of the head, which allow conclusions to be drawn about the neuronal activity in the brain. Brain-Computer Interfaces are particularly used in medicine, e.g. for communication with paralyzed persons or the control of exoskeletons. However, these systems can also be used in other areas, such as controlling computer games.
The project offers insights into an interdisciplinary field between computer science and neuroscience with broad application areas such as medicine, psychology, entertainment etc.. Furthermore, basic methods for the classification of neurophysiological signals are developed, which can help to control a computer program.
The programming project is implemented using the Scrum project management model. We will use Git to structure and work on the project. For this, an introduction to both, project management using Scrum and how to edit and structure small to large team projects using Git, will be given.
Typical concepts of a BCI will be taught and it will be shown which neurophysiological signals can be used to control a computer system. The implementation of the project consists of three parts, which are to be implemented modularly according to the Model View Controller (MVC) scheme:
- a selected controller shall be implemented and used to play turn-based computer games (e.g. chess, 4-game, mill, etc.). Besides a BCI controller, a keyboard/mouse controller shall also be implemented.
- In addition to the control unit, the game mechanics (data model) of the game must be implemented. 3.
- Furthermore, the graphical user interface (presentation) of corresponding game has to be implemented.
In advance it has to be considered how the connection of these three components has to look like. At the end of the project it should be possible to play the game using a keyboard and BCI control.
Python is predominantly used as the programming language. In addition, an interest in statistics / machine learning and neuroscience is an advantage.