Software Engineering

 In the software engineering course you learn how to start software projects in a professional manner and build them up modularly via the "library" concept. You will learn what requirements a software library must meet to be usable by other developers and how you can easily test this library.

You will also learn how to collaborate with other developers within a software project.

The main topics of the course are:

Build process: How can you automate the build process? For this it is necessary to understand how software libraries are combined into an executable program. You will also learn how to define dependencies (necessary other libraries) when creating a project.

Version control: Version control is necessary when developing software. In this part of the course you will learn how to correctly make the source code of a project centrally available and how to introduce new code into the system. You will also learn how the typical software process works in a game company.

Unit testing: Unit testing is a third necessary component of the software process. Techniques such as test driven development can help to force the software process in the correct direction. When the inevitable bugs occur in a project, it is also a good idea to include the bug in the test cases. Furthermore, it can be a good idea to check in a software process whether there is any dead code in the project (the so-called code coverage test).