Gute Programmierkenntnisse sind auch in Zeiten von generativen KI-Tools wichtig. Nur so kann man überprüfen, ob der generierte Code auch korrekt ist. Doch wie lernt man am besten Programmieren? - Durch Programmieren!
In TUWEL (Moodle) werden seit Jahren in verschiedenen Lehrveranstaltungen Tools zur automatisierten Auswertung von Programmieraufgaben eingesetzt. Die Tools unterstützen nicht nur Lehrende bei der automationsgestützten Korrektur der Programmieraufgaben, sondern bieten auch Studierenden die Möglichkeit im eigenen Tempo und möglichst unabhängig vom Endgerät programmieren zu üben. Das sofortige (bzw. zeitnahe) Feedback ist motivierend und wirkt sich positiv auf die Lernerfahrung aus.
Neben Übungen (Peer Programming) können Programmier-Tools auch bei Prüfungen eingesetzt werden und erleichtern damit die Auswertung der Prüfungsergebnisse.
Für unterschiedliche Anforderungen sind in TUWEL verschiedene Tools integriert.
1. MATLAB Grader
Was ist das? Der MATLAB Grader ist ein Produkt von MathWorks, mit dem MATLAB Aufgaben erstellt, geteilt und automatisch bewertet werden können. Durch die automatische Bewertung erhalten Studierende sofort Feedback zu Ihrer Lösung. Des Weiteren kann auch MATLAB Code, welcher in den Vorlesungen präsentiert wurde, über den MATLAB Grader zur Verfügung gestellt werden. Dadurch können Studierende schnell und unkompliziert auf Inhalte der Lehrveranstaltung zugreifen.
2. Jupyter as a Service
Was ist das? Jupyter as a Service bietet Lehrenden und Studierenden eine in TUWEL integrierte Umgebung für Data Science, maschinelles Lernen und Programmierkurse. Jede Lehrveranstaltung erhält ihren eigenen, vollständig angepassten „JupyterHub“ mit leistungsstarken Hardware-Ressourcen, die für die Lösung der gestellten Aufgaben notwendig sind. Das Service ermöglicht die Verteilung und Benotung von Übungen und umfasst unter anderem einen individuellen Software-Stack sowie einen virtuellen Desktop für GUI-Anwendungen. Weitere Details zum Service finden Sie im Weblink.
3. CodeRunner
Was ist das? CodeRunner ist ein Fragetyp-Plugin für den Moodle-Test, mit dem Studierende Programmcode in einer Vielzahl von Programmiersprachen ausführen können. Der Fokus liegt hier vor allem auf Peer Programming und den Einsatz als Übungsaufgabe, beispielsweise als Self-Assessment für Studierende. Der Einsatz ist auch bei digitalen Prüfungen (online oder in Prüfungsräumen) möglich. Da die Erstellung von CodeRunner-Fragen komplex ist, haben wir als Unterstützungsangebot einen CodeRunner Demo-Kurs für Sie bereitgestellt (einmalige Einschreibung notwendig). Bei der Entwicklung von CodeRunner-Fragen können einerseits die Community-Seiten helfen, andererseits unterstützt Sie unser Fachbereich gerne beim Vernetzen mit Lehrenden, die CodeRunner bereits einsetzen.
4. Externer Server
Was ist das? Der Externe Server eignet sich für nicht-iteratives fallbasiertes Programmieren, um beispielsweise Skripte zu validieren. Der Externe Server ist eine TUWEL-Aktivität, bei der eine studentische Abgabe (Datei, Skript etc.) durch ein vom Institut bereitgestelltes Service (Externer Server) ausgewertet und mit Feedback versehen wird. Studierende laden dabei eine Datei direkt in TUWEL hoch, diese wird an den externen Server übermittelt, ausgewertet und das Auswertungsergebnis wird wieder an TUWEL übermittelt.
Wichtig für den Lernerfolg ist, dass Lernende möglichst zeitnah Fragen stellen können (z.B. in einem betreuten bzw. anonymen TUWEL-Forum). Zu den häufigsten Fragen bzw. Fehlern können so gezielt Unterstützungsangebote auf TUWEL oder im Unterricht bereitgestellt werden.
Da anwendungsbasierte Programmieraufgaben oft auch mit generativen KI-Tools gelöst werden können, empfiehlt sich die Anpassung des Assessment-Formats, z.B. durch Verknüpfung von anwendungsbasierten Lernergebnissen mit Lernergebnissen auf höheren Ebenen (z.B. Analysieren). Das kann beispielsweise durch begleitende Reflexionsfragen erfolgen, in denen Studierende die Lösung und ihre Gedankengänge dazu erklären (Russell, Caton & Becker, 2023).
Detaillierte Informationen zu den beschriebenen Tools:
Beiträge zum Thema Programmieraufgaben in der Lehre: