Projekte entdecken

Zuletzt aktualisiert am 07.02.2025

Inverted Classroom in Software-Grundlagen-Lehrveranstaltungen

Projektname des bereits eingereichten Projekts:

Ars Docendi Kategorie

Lehre und Digitale Transformation

Gruppengröße

< 20

Kurzzusammenfassung des Projekts

Die Lehrveranstaltungen Einführung Programmierung und Algorithmen und Datenstrukturen sind Pflichtveranstaltungen in den ersten beiden Semestern des Bachelorstudiums MultiMediaTechnlogy. Um der großen Heterogenität der Vorerfahrungen im Programmieren unter den Studienanfänger*innen gerecht zu werden und die Flexibilität zu erhöhen, wurde in beiden Veranstaltungen der Vorlesungsteil (Großgruppe) auf ein Inverted Classroom-Modell umgestellt.

Zur Vorbereitung auf jede Einheit standen den Studierenden themenspezifische Videos und Arbeitsblätter zur Lernkontrolle zur Verfügung. Innerhalb der Präsenzphasen wurde die Unterrichtszeit mit der Klärung von Verständnisfragen und vertiefenden praktischen Übungen gefüllt. Diese Übungen bestanden zum Teil aus selbst entwickelten Lernspielen, um Konzepte wie binäre Suche, Hashing oder Baum-Datenstrukturen an einem realitätsnahen Beispiel zu erlernen.

Neben den Einheiten in der Großgruppe gibt es für beide Vorlesungen einen Übungsteil, in dem die zuvor theoretisch erworbenen Kompetenzen durch Programmierung an größeren Beispielen gefestigt werden sollen. Um den Studierenden zeitnah ein Feedback über die funktionale Korrektheit ihrer Lösung geben zu können, wurden die Continiuous Delivery Fähigkeiten der Gitlab Plattform genutzt. Bei der Einreichung der studentischen Lösung über Git wurde der Code in einem automatisierten Prozess kompiliert, mit ersten Testfällen überprüft und das Ergebnis zur Rückmeldung an die Studierenden gegeben.

Kurzzusammenfassung des Projekts in englischer Sprache

The courses Introduction to Programming and Algorithms and Data Structures are compulsory courses in the first two semesters of the Bachelor's programme MultiMediaTechnlogy. In order to do justice to the great heterogeneity of previous experience in programming among the first-year students and to increase flexibility, the lecture part (large group) was changed to an inverted classroom model in both courses.

To prepare for each unit, the students were provided with topic-specific videos and worksheets for learning control. Within the classroom phases, the teaching time was filled with answering questions of understanding and in-depth practical exercises. These exercises partly consisted of self-developed learning games to learn concepts such as binary search, hashing or tree data structures on a reality-based example.

In addition to the units in the large group, there is an exercise part for both lectures in which the previously theoretically acquired competences are to be strengthened by programming on larger examples. In order to be able to give the students timely feedback on the functional correctness of their solution, the continuous delivery capabilities of the Gitlab platform were used. When the student solution was submitted via Git, the code was compiled in an automated process, checked with initial test cases and the result given to the students for feedback.

Nähere Beschreibung des Projekts

Ab dem Wintersemester 2021 wurde die Lehrveranstaltung Einführung Programmierung auf ein Inverted Classroom Format umgestellt. Die Veranstaltung besteht zum einen aus einem Großgruppenteil (alle Studierenden sind gleichzeitig anwesend) und einem Kleingruppenteil in dem die gesamte Kohorte in drei Übungsgruppen geteilt wird.

Der theoretische Input (z.B. was sind Schleifen und wie funktionieren sie) für die Großgruppe wurden insgesamt 13 zirka 15-minütige Videos verpackt und den Studierenden zu Beginn des Semesters zur Verfügung gestellt. Zusätzlich wurden pro Themenvideo ein Arbeitsblatt mit Lösungen zur Lernzielkontrolle bereitgestellt. In den Präsenzphasen konnten einerseits Verständnisfragen zum aktuellen Thema gestellt werden, andererseits wurde diese Zeit mit praktischen Übungen zur Vertiefung genutzt.

Die thematisch darauf aufbauende Veranstaltung Algorithmen und Datenstrukturen war vom Prinzip her gleich aufgebaut. Hier erfolgte die thematische Gliederung nach einzelnen Algorithmen (z.B. binäre Suche) oder Datenstrukturen (z.B. AVL-Bäume). Für diese Lehrveranstaltung wurden 21 Videos (15 Minuten) mit entsprechenden Arbeitsblättern erstellt.

Die Videos und Arbeitsblätter stehen den Studierenden über die Lernplattform Moodle permanent zur Verfügung, so dass eine Vorbereitung auf die Vorlesung zeit- und ortsunabhängig erfolgen kann.

In den Präsenzphasen der Großgruppe wurden neben der Klärung von Verständnisfragen in Anlehnung an das EIS-Prinzip (vgl. Bruner 1966) auch mit praktischen Übungen angereichert. So wurden im Zuge der Kursvorbereitung Lernspiele entwickelt (vgl. Bilke 2019), um die Prinzipien von Algorithmen/Datenstrukturen nicht nur theoretisch oder "am Quelltext" zu erlernen, sondern auch über andere Zugangsformen. So konnten über ein Kartenspiel mit aufgedruckten Namen und einem gruppenbasierten Spielsetting die Prinzipien von binärer Suche, Hashing und Inverted Lists nachvollzogen werden. Durch diese Erfahrung im Spiel konnte zusätzlich das Konzept der Laufzeit verstanden werden.

Das oben erwähnte Lernspiel sah ein Beispiel aus der Lebenswelt der Studierenden vor. Sie stellten sich vor, Server eines sozialen Netzwerks zu sein und Suchanfragen beantworten zu müssen. Die Runde begann mit einem unsortierten Stapel Spielkarten mit zufällig generierten Vor- und Nachnamen (insgesamt über 140). Gewonnen hat die Gruppe, die die meisten Namen aus dem Kartenstapel herausfinden konnte. In Vorbereitung auf die zweite Runde wurde den Gruppen Zeit gegeben, eine bessere Suchtaktik zu entwickeln. In der zweiten Runde mit dem gleichen Modus wurden entsprechend mehr Karten gefunden, da die Studierenden die Karten für Suchanfragen vorbereitet hatten. In der dritten Runde wurde der Suchmodus unangekündigt geändert, so dass die Sortierung der Karten nicht mehr geeignet war, um schnell Namen zu finden. Zum Abschluss wurde den Studierenden nochmals Zeit gegeben, ihr System anzupassen und in einer letzten Runde wurde überprüft, ob das neue System geeignet ist, die Suchanfragen schnell zu bearbeiten. Ziel des Spiels ist es, dass die Studierenden zum einen erste Algorithmen entwerfen und zum anderen lernen, welche Auswirkungen "schlechte" Suchsysteme auf die Laufzeit haben.

In den Übungseinheiten der Kleingruppe wurden den Studierenden wöchentlich Programmieraufgaben zum aktuellen Themenkomplex gestellt. Diese konnten dann selbstständig bearbeitet werden. Um den Studierenden ein zeitnahes Feedback zu geben, wurde aufbauend auf den Continuous-Delivery-Fähigkeiten der Code-Hosting-Plattform Gitlab ein System entwickelt, um die studentischen Beiträge automatisiert zu testen und somit ein schnelles erstes Feedback zur Korrektheit ihrer Lösung rückzumelden.

Die Studierenden luden ihre Lösung (pro Aufgabe) mit Hilfe des Versionsverwaltungssystems git auf die Code-Hosting-Plattform hoch. Die Verwendung von git für die Zusammenarbeit an Software-Quellcode ist ein Industriestandard und ermöglicht das frühestmögliche Erlernen dieser Kompetenz in der Softwareentwicklung.

Bei der Abgabe über die Plattform wird der Testzyklus für die jeweilige Aufgabe automatisch gestartet und auch auf dem Server ausgeführt. Die Schritte umfassen zum einen das Kompilieren und anschließende Ausführen von vordefinierten Testfällen (z.B. ob die Sortierung bei einem Sortieralgorithmus korrekt funktioniert). Das Ergebnis dieses automatischen Tests wird den Studierenden anschließend zur Verfügung gestellt.

Zusätzlich wird den Studierenden ein formatives Feedback hinsichtlich der Codequalität gegeben, da diese neben der rein funktionalen Korrektheit ein wichtiges Qualitätsmerkmal darstellt. Durch die Lehrveranstaltungsleitung kann im Anschluss (auch auf der Code-Hosting-Plattform) direkt Feedback auf Quelltextebene gegeben werden. In den beiden Lehrveranstaltungen wurde sich seit dem Wintersemester 2022 dafür entschieden Code-Abgaben in den Kleingruppen nicht mehr zu bewerten. Systeme wie ChatGPT oder noch spezialisiertere Anwendungen wie Github Copilot sind sehr leistungsfähig und können (gerade in dein Einführungsveranstaltungen) die gestellten Aufgaben in der Regel problemlos lösen. Auf eine Anhebung des erwarteten Niveaus bei den Abgaben wurde verzichtet, weil sonst gerade Studierende mit keiner Vorerfahrung die Aufgaben nicht mehr ohne Tool-Unterstützung lösen könnten.

Die Verwendung von Inverted Classroom als Unterrichtsmodell erlaubt hauptsächlich die orts- und zeitunabhängige Vorbereitung auf die Lehrveranstaltung. Um der inneren Differenzierung der Studierenden gerecht zu werden, wurde zusätzlich ein freiwilliges Additivum für leistungsstärkere Studierende vorgesehen. So konnten die Studierenden zum Beispiel am Advent of Code (https://adventofcode.com) teilnehmen um zusätzlich anspruchsvolle Aufgaben zu lösen.

  • Bilke, A. (2019). Informatik ohne Computer -- Algorithmen und Datenstrukturen. Bachelorarbeit, Universität Salzburg.
  • Bruner, J. S. (1966). Toward a theory of instruction. Harvard University Press.

Nutzen und Mehrwert

Der Mehrwert der Umsetzung liegt auf verschiedenen Ebenen.

Zum einen ermöglicht das Inverted Classroom Modell eine zeit- und ortsunabhängige Vorbereitung auf die Lehrveranstaltung und ist somit für unterschiedliche Lebenssituationen der Studierenden geeignet. Die Zeit im Hörsaal kann nun von der Lehrveranstaltungsleitung produktiver genutzt werden, da der Stoff nicht (über Jahre) wiederholt werden muss, sondern auf Verständnisprobleme und vertiefende Übungen fokussiert werden kann.

Die automatisierte Überprüfung der studentischen Code-Abgaben ermöglicht es, den Studierenden zeitnah ein erstes Feedback zu geben. Dadurch bleibt dem Lehrenden mehr Zeit für die formative Beurteilung, da die Prüfung auf funktionale Korrektheit deutlich weniger Aufwand verursacht. Falls die automatisierte Bewertung für eine Leistungsbeurteilung herangezogen wird, ist diese Bewertung gerechter unter den Studierenden, da es keine subjektive Komponente durch eine LV-Leitung gibt.

Das automatisierte Auslesen einer möglichen Bewertungen aus dem Gitlab-System beschleunigt die Verwaltung der vergebenen Punkte und reduziert den Verwaltungsaufwand weiter.

Institutionelle Unterstützung

Das Projekt wurde anfangs durch eine Reduktion der Lehrverpflichtung auf Studiengangsebene unterstützt. Ab dem Wintersemester 2022 erfolgt die Förderung über den Zukunftsfonds der FH Salzburg. Dabei handelt es sich um einen FH-weiten Fördertopf zur Erprobung innovativer Konzepte in der Lehre. Die Förderung erfolgt über eine Reduktion der Lehrverpflichtung und die Anstellung von zwei Studierenden als Assistenz.

Die für die Videoaufnahme notwendige Technik (Kamera, Laptop, Greenscreen-Raum) steht am Studiengang für alle Mitarbeiter*innen zur Verfügung.