Projekte entdecken

Zuletzt aktualisiert am 07.02.2025

Formen des kompetenzorientierten Feedbacks zur Lernerfolgsförderung der Studierenden der Lehrveranstaltung „Prozedurale Sprachen“

Projektname des bereits eingereichten Projekts:

Ars Docendi Kategorie

Lernergebnisorientierte Lehr- und Prüfungskultur

Gruppengröße

< 20

Kurzzusammenfassung des Projekts

Die Lehrveranstaltung „Prozedurale Sprachen“ setzt in allen Phasen der Durchführung auf starke Praxisorientierung und verwendet dabei unterschiedliche Feedbackmechanismen, um Studierende bei der Entwicklung grundlegender Programmierkompetenzen zu unterstützen.

 

Im Rahmen des Inverted Classroom Modells (ICM) erarbeiten Studierende im Eigenstudium die theoretische Basis. Dieses neu erworbene Wissen transferieren sie durch Selbstchecks auf einfache Programmierbeispiele, und erhalten hierzu automatisch generiertes Feedback. Auf diese Weise sammeln sie schnell erste Erfahrungen während sie gleichzeitig ein Gefühl für die Materie und mögliche damit verbundene Fragestellungen entwickeln.

 

In den Präsenzphasen helfen die Ergebnisse der Selbstchecks, erstellte Fragensammlungen, sowie aktivierende Student Response Systeme den Lehrenden, den Wissensstand der Studierenden festzustellen. Durch das ICM ist es einfacher, sich auf die aus diesem Feedback gewonnenen Fragenstellungen zu fokussieren und diese mittels Diskussionen und gemeinsamen Programmiersessions zu explorieren und aufzuarbeiten.

 

Im Zuge der Leistungsüberprüfungen in Form von anwendungsbezogenen Programmieraufgaben werden zusätzliche Feedbackformen wie Peer Reviews und Code Reviews eingesetzt, um die automatisierten Bewertungen um qualitative Aspekte zu ergänzen. Außerdem werden dadurch der Wissensaustausch und eine konstruktive Feedbackkultur zwischen den Studierenden gefördert.

Kurzzusammenfassung des Projekts in englischer Sprache

The course „Procedural Languages“ emphasizes practical experience in all of its phases und uses different feedback mechanisms in order to help students with developing basic programming competences.

 

It employs the inverted classroom model (ICM), and thus requires students to gather the basic theoretical knowledge during self-study phases. Students may perform self-checks, in which they apply the newly gained knowledge to simple programming tasks and receive automated feedback. As a result they quickly gather hands-on experience and develop an understanding for possible associated questions and challenges.

 

During classes, the results of the self-checks, the collected questions and introductory quizzes help lecturers with getting an overview of the students’ knowledge and possible open questions. The structure of ICM allows them to put focus on clarifying these questions by means of discussion and by exploring them within mob-programming sessions.

 

The tests in this course are practical programming tasks and incorporate additional forms of feedback like peer reviews and code reviews. This enriches the automated feedback with qualitative aspects, promotes sharing of knowledge between students and builds a positive feedback culture within the class.

Nähere Beschreibung des Projekts

Die Lehrveranstaltung (LV) „Prozedurale Sprachen“ hat das Ziel, allen Studierenden des ersten Semesters die Grundlagen der Programmierung näherzubringen. Nach erfolgreichem Abschluss sind sie in der Lage, mäßig komplexe Programmieraufgaben mithilfe der Programmiersprache „C“ selbstständig zu lösen. Die genaue Beschreibung der zu erreichenden Lernergebnisse und davon abgeleiteten Lehrinhalte sind im Informatik Curriculum der FH Technikum Wien nachzulesen (https://www.technikum-wien.at/bachelor/informatik/informatik-curriculum/, 1. Sem.).

 

Wichtig hierbei ist die Beschreibung der Methodik zur Erreichung der Lernergebnisse:

„Programmierfähigkeiten erlangt man hauptsächlich durch laufende Anwendung gelernter Mechanismen in zunehmend komplexeren Aufgabenstellungen. Daher liegt der Schwerpunkt auf der Ausarbeitung von praktischen Übungsbeispielen. Die notwendigen theoretischen Grundlagen werden im Eigenstudium erarbeitet und dann in der folgenden Präsenzphase diskutiert, vertieft und auf praktische Beispiele transferiert. Die auf diesem Wissen aufbauenden Übungsbeispiele werden teilweise in der Präsenzphase, teilweise im Eigenstudium gelöst. Automatisierte Überprüfungen und regelmäßige Code Reviews liefern individuelles Feedback zum Lernfortschritt.“ (Informatik Curriculum der FHTW WS 2020/21)

 

Die LV ist als eng verknüpfte Abfolge von je 25 abwechselnden Eigenstudiums- und Präsenzphasen aufgebaut und mit 5 ECTS bemessen. Die Abfolge sowie die Inhalte jeder einzelnen Phase sind in einem Moodle Kurs abgebildet. In den ersten 10 Unterrichtswochen des Semesters finden pro Woche zwei Präsenzeinheiten statt, in den letzten fünf Wochen ist es eine pro Woche. Daraus resultiert speziell in den ersten zehn Wochen ein sehr kurzes zeitliches Intervall für die dazwischenliegenden Eigenstudiumsphasen, was wir in der Planung und Dimensionierung dieser Phasen berücksichtigen.

 

# Formen des Feedbacks im Eigenstudium

 

Ziel einer jeden Eigenstudiumsphase ist es, ein neues Programmierelement einzuführen. Die Studierenden benötigen 30 – 60 Minuten, um das Basismaterial in Form eines Folienskriptums und die zugehörigen Selbstchecks durchzuarbeiten. Zusätzlich gibt es auch immer ein Video und ein Textbuch, um unterschiedliche Lernvorlieben zu bedienen und alternative Sichtweisen und Detaillierungsgrade anzubieten. Das Folienskriptum aktiviert vorhandenes Wissen und beschreibt darauf aufbauend das neue Element. Es enthält nicht nur die theoretische Beschreibung, sondern demonstriert mittels kurzer Codebeispiele die Anwendung des neuen Elements. Jedem dieser Codebeispiele folgt eine Aufforderung an die Studierenden, einen zugehörigen Selbstcheck in Moodle durchzuführen.

 

Im Sinne der Praxisorientierung verlangt ein Selbstcheck nicht die Reproduktion theoretischer Inhalte, sondern leitet sich aus den theoriegeleiteten demonstrierten Codebeispielen ab. Konkret besteht er aus einer Problemstellung, welche die Studierenden durch eine minimale Änderung des Codebeispiels aus dem Folienskriptum in fünf bis fünfzehn Minuten lösen können. Er prüft somit das Verständnis, demonstriert nochmals die Funktionsweise und gibt den Studierenden die Möglichkeit, mit dem neuen Element zu experimentieren.

 

Für die Studierendenzentrierung ist es wichtig, dass Studierende für diese kleinen, schnell lösbaren Selbstchecks ebenso schnell Feedback erhalten. Hierfür verwenden wir Moodle CodeRunner zur automatisierten Programmcode Bewertung. Darin geben die Studierenden den Programmcode ein und CodeRunner prüft ihn automatisch anhand vordefinierter Testszenarios. Pro Szenario definieren die Lehrenden beispielsweise simulierte Eingabefolgen mit erwarteten zugehörigen Programmoutputs, oder strukturelle Anforderungen an das Programm. Die Studierenden erhalten innerhalb weniger Sekunden nach Eingabe des Programmcodes Feedback, ob die gelieferte Lösung diese Testszenarios erfüllt. Die Möglichkeit, diese Tests beliebig oft durchzuführen, und so wiederholt Feedback zu erhalten, ermutigt die Studierenden, unterschiedliche Lösungen zu probieren und fördert somit das Verständnis. Eventuell aufkommende Fragen können sie im Moodle Kurs in einer geteilten Fragensammlung festhalten oder im Forum diskutieren.

 

Auch die Lehrenden profitieren von diesem Einsatz neuer digitaler Mittel im Eigenstudium. Über das Forum können sie Studierende schon während der Eigenstudiumsphase unterstützen und somit eine wertschätzende Feedback-Kultur vorleben. Zusätzlich erhalten Sie eine automatisch erstellte Zusammenfassung aller durchgeführten Selbstchecks und können diese gemeinsam mit dem Feedback aus dem Forum und der Fragensammlung für eine gezielte Vorbereitung auf die nächste Präsenzphase nutzen. Dadurch kann die Studierendenzentrierung im vollen Umfang gewährleistet und Studierendenkohorten bei ihren individuellen Herausforderungen vor allem in den nächsten Präsenzterminen unterstützt werden.

 

# Formen des Feedbacks in der Präsenzphase

 

Die meisten Präsenzphasen bestehen aus drei fließend ineinandergreifenden Subphasen: der Aktivierungsphase, der Vertiefungsphase und der Anwendungsphase.

 

In der *Aktivierungsphase* helfen Student Response Systeme wie Kahoot Quizzes, in lockerer Atmosphäre die Studierenden aktiv in die Präsenz zu involvieren, deren Wissensstand zu prüfen und eine Überleitung in die Vertiefungsphase zu schaffen. Die Quizzes bestehen aus maximal fünf bis zehn Fragen, der erste Teil umfasst dabei typischerweise theoretische Inhalte, um Feedback über die Kenntnis der Begrifflichkeiten zu erhalten. Der zweite Teil fördert den Transfer des Gelernten auf neue Problemstellungen, indem er die Analyse kleiner Programmcodestücke erfordert und oftmals typische Fallstricke aus der Programmierpraxis skizziert. Die Erfahrung hat gezeigt, dass die dadurch entstehenden Diskussionen der Lehrperson helfen, den Lehrstoff in der Realität zu verankern. Im Rahmen der Live-Analyse der Quizergebnisse wird sehr darauf geachtet, die nicht eindeutigen Ergebnisse immer zu besprechen und als Anlass für weiterführende Erklärungen, Vertiefungen etc. zu nützen.

 

Die diskutierten Codestücke bilden außerdem den Übergang in die *Vertiefungsphasen* in Form einer Mob Programming Session. Hier greift die Lehrperson üblicherweise die Programmcodestücke aus dem Quiz auf und baut sie gemeinsam mit den Studierenden zu kleineren Programmen aus . Der konkrete Ausgang dieser Session ist nicht vorgegeben, sondern wird durch das gesammelte Feedback aus dem Eigenstudium und dem Input der Studierenden aus der aktuellen Präsenzphase gesteuert. Auftretende Fragen werden gemeinsam untersucht, und mit Hilfe professioneller Entwicklungstools werden interne Vorgänge eines Programms nachvollzogen und visualisiert. Die Studierenden lernen dadurch auch, diese Tools im Eigenstudium und in anderen Programmierprojekten einzusetzen.

 

Schließlich gibt die *Anwendungsphase* den Studierenden die Möglichkeit, das Gelernte auf komplexere Aufgaben zu transferieren und bildet gleichzeitig die Überleitung in das nächste Eigenstudium. Je nach Gesamtfortschritt in der LV bespricht die Lehrperson an dieser Stelle entweder zu den aktuellen Themen passende Übungsbeispiele oder eröffnet einen der vier Zwischentests (siehe unten). Die Studierenden können danach in der verbleibenden Zeit betreut an diesen Aufgaben arbeiten.

 

# Studierendenzentrierung und -feedback in Leistungsüberprüfungen

 

Im Verlauf der LV gibt es drei Arten von Leistungsüberprüfungen, alle in Form von unterschiedlich komplexen anwendungsbezogenen Programmieraufgaben mit unterschiedlichem Zeitrahmen: Übungsbeispiele, Zwischentests und den Abschlusstest. Die Übungsbeispiele und Zwischentests sind größtenteils im Eigenstudium zu absolvieren, die Präsenzphasen dienen wie zuvor beschrieben hauptsächlich als Kick-Off und zur Klärung eventuell auftretender Fragen. Die Verlagerung ins Eigenstudium ermöglicht zeitliche Flexibilität in der Leistungserbringung.

 

Durch die *Zwischentests* können die Studierenden ungefähr ein Drittel der maximalen Gesamtpunktezahl erreichen, der Abschlusstest macht die übrigen zwei Drittel aus. Für einen positiven Abschluss müssen die Studierenden mit der Summe der Punkte aus diesen beiden Leistungsüberprüfungen 55 Prozent der maximalen Gesamtpunktezahl erreichen. Die Note aus Zwischentests und Abschlusstest – sofern positiv - können die Studierenden durch Bonuspunkte aus korrekt gelösten Übungsbeispielen verbessern. Dieses Bewertungsschema hat zum Ziel, die Studierenden zu motivieren, über das gesamte Semester hinweg den Lehrstoff praktisch in Programmierbeispielen anzuwenden und so graduell Kompetenz aufzubauen.

 

Außerdem gibt es den Studierenden die Freiheit, selbstständig Schwerpunkte bei der Leistungserbringung zu setzen oder schwächere Leistungen auszugleichen. Studierende, die konstante Leistungserbringung vorziehen, können mit guten Zwischentests den Druck aus dem höher gewichteten Abschlusstest nehmen, weil sie die dort zu erreichende Minimalpunktzahl für eine positive Note senken. Andererseits ist das Gewicht des Abschlusstests so gewählt, dass auch diejenigen, die während des Semesters weniger konstant waren, mit einer guten Abschlussarbeit noch immer einen positiven Abschluss schaffen können. Im Hinblick auf das erwähnte potenziell heterogene Vorwissen können wir dadurch die Gefahr bannen, dass Studierende, die länger benötigen, um sich in den Lehrstoff einzufinden, verfrüht die Chance auf einen erfolgreichen Abschluss verlieren.

 

Es gibt insgesamt 25 *Übungsbeispiele*, und alle sind von Beginn der LV verfügbar. Sie sind jeweils innerhalb von 15 bis 120 Minuten zu lösen und haben je nach Schwierigkeitsgrad unterschiedliche späteste Abgabetermine. Der Moodle Kurs gibt Hinweise darauf, welche technischen Kompetenzen für die jeweiligen Beispiele gefordert sind, sodass die Studierenden eigenständig einen für sie sinnvollen Startzeitpunkt wählen können. Die Beispiele sind freiwillig und liefern lediglich Bonuspunkte. Sie sollen die Studierenden in erster Linie dazu motivieren, auch außerhalb der regulären Leistungsüberprüfungen möglichst viel Programmierpraxis zu sammeln. CodeRunner liefert durch die Auswertung von Testszenarios automatisiertes Feedback und automatisierte Beispielbewertung.

 

Die Zwischentests werden vier Mal innerhalb eines Semesters durchgeführt. Die Studierenden haben dabei von Testeröffnung bis Testschließung jeweils eine Woche Zeit, eine definierte Aufgabe zu lösen, der tatsächliche Aufwand pro Test ist auf vier bis acht Stunden bemessen. Auch hier liefert CodeRunner laufendes Feedback und die Basis für die Bewertung. Während das Tool sehr gut geeignet ist, um funktionale Kriterien zu prüfen, ist es damit nur eingeschränkt möglich, Feedback für nicht-funktionale (qualitative) Kriterien zu liefern. Aus diesem Grund führen Zwischentests Code Reviews in zwei Ausprägungen ein, einmal in Form von Peer Reviews, einmal in Form von Gesprächen mit der Lehrperson.

 

Für die Peer Reviews verwenden wir Moodle Workshops, um jede Abgabe anonym zwei Studierenden zuzuteilen, die dann wiederum geleitet von einem auszufüllenden Review Formular wertschätzendes Feedback geben. Die Fragenstellungen des Review Formulars fördern eine qualitative Analyse und helfen den Reviewenden ihre eigene Lösung zu reflektieren und das Gelernte auf das analysierte Programm umzulegen. Zusätzlich schulen die Peer Reviews eine konstruktive Feedbackkultur und unterstützen den Wissensaustausch zwischen Studierenden. Die gereviewten Personen profitieren vom zusätzlichen qualitativen Feedback für jeden Zwischentest.

 

Für zumindest einen der Zwischentests erhält jede*r Studierende Feedback in einem Code Review mit der Lehrperson. Je nach Neigung der/des jeweiligen Studierenden kann dieses Code Review als Vieraugengespräch oder unter Einbindung der gesamten Gruppe stattfinden. Hierbei erklärt und argumentiert die/der Studierende die erarbeitete Lösung, während die Lehrperson praxisrelevante Verständnisfragen stellt und qualitatives Feedback gibt. Mit guter Argumentation haben die Studierenden außerdem die Chance, mögliche Punktabzüge durch CodeRunner zu verbessern. Als Nebeneffekt dient diese Form der Leistungsbeurteilung nicht nur der Ausbildung technischer, sondern auch metafachlicher Kompetenzen, die in der Berufspraxis immer wichtiger werden.

 

Der *Abschlusstest* unterscheidet sich von den Zwischentests vor allem durch den zeitlichen Rahmen. Hier müssen die Studierenden innerhalb von neunzig Minuten ein entsprechend bemessenes Programmierbeispiel lösen. Diese Prüfung ist Open Book, sie dürfen unter anderem ihre Lösungen aus dem gesamten Semester sowie vorbereitete Programmstücke mitbringen. Die Hauptaufgabe in einem Abschlusstest ist es somit, das gestellte Problem zu analysieren und auf bekannte, lösbare Teilaufgaben herunterzubrechen. Auch hier liefert Code Runner die Basis für die Bewertung, ein zugehöriges Code Review mit der Lehrperson beeinflusst diese Bewertung jedoch.

Nutzen und Mehrwert

Durch das langfristig geplante Konzept war es möglich die fachliche und didaktische Expertise an der FHTW zu bündeln und neben dem transparenten, curricular verankerten Common Body of Competencies, das LV Konzept für andere Studiengänge mit erforderlichen Programmierkompetenzen übertragbar zu machen. Die/der Lehrende können dadurch anfangs keine Zeitersparnis verbuchen, jedoch soll das LV-Konzept nach einem kontinuierlichen Verbesserungsprozess an Qualität gewinnen und vor allem einen Fragen- und Aufgabenstellungspool entwickeln, der die Skalierbarkeit des Kurses auf viele Parallelgruppen ermöglicht. Eine Skalierbarkeit auf eine große Anzahl an Studierenden wäre zwar in den Eigenstudiumsphasen schon möglich und machbar – widerspricht jedoch dem hier angedachten Konzept der qualitäts- bzw. gehaltvollen interaktiven Präsenzphase.

 

Der Mehrwert der Studierenden entsteht – laut Rückmeldung derselbigen, vor allem durch die stetige Möglichkeit für Assessment (im formativen Sinne des „for learnings“) und der unmittelbaren Rückmeldung durch automatisierte Systeme, den Lehrenden und/oder Peers. Das Peer-Feedback zeigt in zweierlei Hinsicht einen Mehrwert auf. Die Studierenden erhalten die Möglichkeit, die Perspektiven zu wechseln um durch den Blick der Rückmeldung im Sinne der Leistungsbeurteilung eine zusätzliche Lernerfahrung zu machen.

 

Des Weiteren schätzen Studierende die Fülle an Übungsmöglichkeiten, welche ihnen in großer Anzahl fakultativ zur Verfügung stehen – jedoch trotzdem gefeedbackt werden.

 

Die Covid-19 Krise hat aufgezeigt, dass dieses, durch vielfältige Formen des Selbststudiums geplante und durchgeführte Lehrveranstaltungskonzept jederzeit ohne großen Aufwand auf reine Fernlehre umgestellt werden kann, und das Inverted Classroom Modell auch in virtuellen Präsenzphasen durch die gute Vorbereitung der Studierenden funktioniert.