Beschreibung der Lehr- und Lernformen
The weekly tutorial contains a teaching component, supervised discussions among the students and time for supervised work on the project. The teaching component will be larger in the beginning of the semester in order to introduce core concepts. In the first few weeks, students will receive necessary background information about
- the employed programming language, depending on the level of experience of the students,
- software carpentry techniques & tools,
- the topic of the software project.
This involves lectures/computer demonstrations by the lecturer as well as smaller assignments, which are solved partially in class, partially as homework and serve as building blocks for a first prototype or a simpler version of the final project (depending on the topic).
Building on the introductory tutorials, students will plan and execute their own larger software projects. Depending on the complexity of their proposed projects, working in small groups is encouraged. The different projects are supervised by the tutor. Part of the work on the projects is done during the tutorials, during which students can get assistance from the tutor, but a substantial part of of the work is done outside of class.
Throughout the course, strong emphasis is put on discussions among students. Both reading other students' code and giving feedback as well as receiving feedback from others are essential to improve their coding style.