Bachelor-Praktikum Moderne Softwareentwicklung (64-141)
Summer Semester 2023, 64-141 Praktikum Moderne Softwareentwicklung
Content
In this practical course the acquired knowledge from the modules Software Development 1 and 2 is extended and deepened by practical tasks.
In the first part of the course, necessary contents are taught by means of concrete tasks (similar to SE1+2). The contents of the first part are finally applied in small groups in the development of an application in the second part of the practical course.
The necessary knowledge for the development of complex software includes both the use of collaboration tools such as Git and the associated planning or ticket system (e.g. Gitlab, Jira), the use of common data formats such as JSON, YAML and XML for data exchange,
the use of advanced programming language features such as functional programming with closures, futures and promises or concurrency in general, advanced concepts on unit and integration testing, as well as general technical knowledge regarding the integration of external libraries and frameworks (e.g. Spring), dependency management and build systems (e.g. Maven, Gradle).
Practical construction of concrete software is a necessary prerequisite for learning software engineering. Cooperative teamwork as a subject of software engineering also imparts general job-empowering skills. In addition it becomes clear how the methods of the software technology are linked with specialized contents of further computer science teaching areas. The methods learned in the practical course are an important prerequisite for the project modules.
Learning Objectives
The students possess basic skills and abilities for the practical construction of concrete software. They are able to use advanced programming paradigms as well as integrated functions of modern programming languages.
They are able to plan and coordinate the concrete work steps of software development in a team and to carry them out using suitable collaborative version control systems.
Thus, students possess general job-ready competencies.
Approach
The course will take place as a block course from 11.09-29.09.2023, from Monday through Friday.
- Days 1-8/9 will take place on-site with mandatory attendance
- Days 9-14 can be conducted independently, either in attendance or in a decentralized manner
- On day 15 (29.09) the final presentations will take place in plenum on site.
Notes on Grading
To pass this practical course, you will need:
- Running prototype
- Source code incl. documentation
- Short description of the application
- Presentation of the application