Inhalte: Studierende lösen weitgehend selbständig und mit vielen Freiheitsgraden bei Auswahl und inhaltlicher Ausgestaltung zahlreiche kleine Lernaufgaben. Die Aufgaben liegen z. B. in den Bereichen Fortgeschrittene Konstrukte der Programmiersprache, Auswahl und Einsatz von Bibliotheken, Datenbanken und SQL, automatisierte Tests, Arbeiten mit Bestandscode oder Umgang mit Werkzeugen wie Versionsverwaltung, Paketmanager, IDEs, Testwerkzeuge. Dabei erarbeiten sie sich einige komplexe Konzepte (z.B. zu Team-Workflows), erlernen zahlreiche Einzelheiten und diskutieren das Gelernte durch Reflexion der Ergebnisse.