When studying Computer Science at university you mainly focus on concepts. This approach generally makes sense as these conceps are far more persistent and applicable in a broader sense than concrete details would be. Many details, however, which are important for concrete software development, are falling by the wayside. The course is supposed to reduce this deficit.
In it we mainly focus on concepts too, but always only on those which directly have to do with software development, and make sure to apply them precisely, personally in practice -- reflecting its use jointly (something which distinguisdes this course from most other software projects).
The concepts dealt with and practiced may be assigned to three different but closeky connected spheres:
software development and structuring (object-oriented) Softwareentwurf und -strukturierung (und zwar objektorientiert)
approaches (for example in the areas prototyping, automatisation, incremental improvement)
personality development (aspects like consistency, responsibility, communicational skills)
Important: Each participant needs to have a software project of his/her own, which has been started far in advance or the course (within a company, for founding a company or as an open source project), on which he/she works on a weekly basis for the entire duration of the course (mainly in a team) and which serves as training ground for the concepts.
This is a hard prerequisite for participation.
Main source as to the practices talked about is the website http://clean-code-developer.de
Essential prerequisite for participation is a software project as described above which is continued for the entire duration of the course with at least 6 hours per week time and effort for the covered topics.
Students who by intensive training wish to establish skills needed by good and professionally working software developers.
Classification & Credits
Wahlveranstaltung for the Master in Computer Science with 5 credits.