IT I / Datenbanken

Umgesetztes Projekt

Ziele

Die Lehrveranstaltungen IT I und Datenbanken sind Pflichtfächer im dritten bzw. vierten Semester des Bachelorstudiums Industrielogistik an der Montanuniversität Leoben. IT I ist im wesentlichen ein Programmierkurs in Java, aufbauend auf der für alle Studierenden der Montanuniversität im ersten Semester abgehaltenen Lehrveranstaltung "Computeranwendung und Programmierung". Die Lehrveranstaltungen zu Datenbanken geben sowohl eine praktische Einführung in SQL als auch einen eher theoretischen Teil zu relationalen Datenbanken und Datenbank-Normalisierung.

 

Für beide Lehrveranstaltungen gibt es eine zweistündige Vorlesung sowie eine begleitende Übung. Die Abhaltung der beiden Lehrveranstaltungen wurde von mir im Jahr 2010 vollständig übernommen, vorher wurden teilweise die Übungen von mir (sowie einem Kollegen) abgehalten. Insbesondere die IT I Lehrveranstaltungen galten als sehr schwierig, typischerweise schafften weniger als 50% der für die Übungen inskribierten Studierenden einen positiven Abschluss. Mein Ziel war es, den Stoff für die Studierenden zugänglicher zu gestalten, ohne die Anforderungen zu senken, und so auch langfristig die Abschlussquoten zu steigern.

Kurzzusammenfassung (dt.)

Dieses Projekt beschreibt, wie mithilfe einer Reihe kleiner, teilweise gradueller Änderungen die Abschlussquoten in den als schwierig geltenden IT-Lehrveranstaltungen im Industrielogistik-Studium an der Montanuniversität Leoben gesteigert werden konnten. Die getroffenen Maßnahmen sind im Einklang mit Erkenntnissen aus dem Gebiet des Maschinellen Lernens und haben im wesentlichen folgende Ziele:

 

(1) Erhöhung des Feedbacks durch laufende Überprüfungen mit ausführlicher Nachbesprechung

 

(2) spezielle Betreuung Studierender, die die Lehrveranstaltung wiederholen, u.a. durch neue Übungsbeispiele

 

(3) laufende Adaptierung der in Vorlesung und Übung verwendeten Beispiele

 

Die Statistiken zeigen, dass in der Projektlaufzeit nicht nur die Abschlussquoten sondern auch die Zufriedenheit der Studierenden gesteigert werden konnten.

Kurzzusammenfassung (engl.)

The computer science lectures in the "Industrial Logistics" curriculum are known to be difficult. This project describes how the success rate of attending students has been increased implementing small and partly gradual changes made in accordance with results in Machine Learning. In particular, it was tried to

 

(1) increase the feedback for students by regular tests with an extensive debriefing,

 

(2) give students who had to do the courses a second time special support such as special exercise sheets with new examples,

 

(3) continually adapt examples used in the lectures and for exercises.

 

Statistics show that not only the success rate but also the satisfaction of students has been increased in the course of the project.

Nähere Beschreibung

Einleitung:

 

In meiner Forschung beschäftige ich mich mit Maschinellem Lernen. Auch wenn ich nicht versucht habe, Erkenntnisse aus der Forschung an Algorithmen, die aus gegebenen Daten/Beispielen lernen, direkt in der Lehre anzuwenden, so lassen sich meiner Ansicht nach durchaus einige (hier stark vereinfacht wiedergegebene) Ergebnisse für lernende Algorithmen auch auf das menschliche Lernen anwenden:

 

(1) Je mehr Feedback, umso größer ist der Lernerfolg.

 

(2) Aus bereits bekannten Beispielen lässt sich weniger lernen als aus neuen Beispielen.

 

(3) Aus gut gewählten Beispiele lernt es sich effizienter.

 

 

Die folgenden Maßnahmen lassen sich in diesem Sinne interpretieren.

 

 

(1) Erhöhung des Feedbacks

 

Vor meiner Übernahme erfolgte die Beurteilung der Übungen über drei Tests, die gleichmäßig über das Semester verteilt waren. Mein Eindruck war, dass viele Studierende zum Zeitpunkt des ersten Tests bereits den Anschluss verloren hatten. Übungsbeispiele wurden oft von anderen Studierenden kopiert, und eine komplexe Fähigkeit wie Programmieren lässt sich nicht binnen weniger Tage in Vorbereitung auf den Test erlernen. Auch schafft es kaum jemand, den versäumten Stoff bis zum nächsten Test aufzuholen.

 

Entsprechend war die erste gesetzte Maßnahme, zusätzlich wöchentliche Tests durchzuführen. Diese waren als Programmieraufgaben kleineren Umfangs zu einem/dem Hauptthema der letztwöchig zu bearbeitenden Übungsaufgaben konzipiert. Die Korrekturen wurden bis zur nächsten Vorlesungseinheit durchgeführt, wo auch häufige Fehler nachbesprochen wurden. Im Anschluss an die Vorlesung bzw. in der nächsten Übungseinheit erfolgte zusätzlich eine individuelle Nachbesprechung der Tests. Dadurch dass die Einsichtnahme in die Korrekturen direkt nach der Vorlesung bzw. in den Übungen durchgeführt wurde und die Studierenden dazu ermuntert wurden, sich die Korrekturen anzusehen, war die Hemmschwelle für die Studierenden wesentlich niedriger als bei typischen Einsichtnahmen. Durch die wöchentlichen Tests erhalten Studierende regelmäßig Rückmeldung über ihren aktuellen Wissensstand, die Nachbesprechung von Fehlern (sowohl allgemein als auch individuell) ergibt einen zusätzlichen Lerneffekt.

 

 

(2) Neue Übungsbeispiele für Studierende, die die Übung zum zweiten Mal machen

 

Aus den Abschlussstatistiken ist ersichtlich, dass das Risiko, die Übung nicht zu schaffen, für Studierende, die die Übung bereits im Vorjahr nicht geschafft haben, höher ist als für Studierende, die die Übung zum ersten Mal machen. Ein Grund dafür ist sicherlich, dass der Lerneffekt beim Absolvieren eines neuen Beispiels größer ist als bei einem bereits bekannten Beispiel. Bleiben die Übungsbeispiele von einem Jahr aufs nächste im wesentlichen unverändert, ergibt sich das Problem, dass Studierende, die die Übung wiederholen keine Beispiele zur Verfügung haben, aus denen sie effektiv lernen können. Entsprechend bin ich in den letzten Jahren dazu übergegangen, für Studierende, die die Übung wiederholen, vollständig neue Beispiele auszuarbeiten. Ein positiver Nebeneffekt ist, dass dieses zusätzliche Material auch in den regulären Übungsbetrieb eingearbeitet werden kann (siehe auch nachstehenden Punkt 3b).

 

 

(3) Auswahl der Beispiele

 

Ein Programmierkurs ist im wesentlichen darauf ausgerichtet, den Studierenden die Fähigkeit zu vermitteln, neue Aufgabenstellungen selbständig lösen zu können. Dazu müssen schrittweise zur Verfügung stehende Basistechniken vermittelt werden, die dann in weiterer Folge kombiniert werden, um komplexere Problemstellungen bearbeiten zu können.

 

(a) Beispiele in der Vorlesung

Die erwähnten Basistechniken müssen anhand von Beispielen zunächst in der Vorlesung vorgestellt werden. Aus meiner Erfahrung ist es hier wichtig, möglichst einfache Beispiele zu präsentieren, die sich auf das Wesentliche konzentrieren. Komplexere (und somit auch praktischere) Beispiele, die mehrere Techniken kombinieren sind oft überfordernd, wenn man mit neuen Themen konfrontiert ist. Entsprechend sollten schwierigere Beispiele von den Studierenden in Übungsbeispielen selbst erarbeitet werden.

 

(b) Übungsbeispiele

Auch bei den Übungsbeispielen ist es natürlich wichtig, mit einfachen Beispielen zu beginnen, die sich zunächst noch auf Anwendung von Basistechniken in möglichst reiner Form beschränken. Weitere Beispiele steigern den Schwierigkeitsgrad graduell durch Kombination mehrerer Themen und Techniken.

 

Sowohl für in der Vorlesung präsentierte Programme als auch für Übungsaufgaben gilt es, über direktes und indirektes Feedback der Studierenden herauszufinden, wie instruktiv die Beispiele sind. Manchmal gibt es unerwartete Verständnisprobleme, die zur Modifikation oder zum Austausch eines Beispiels führen. Letzteres empfiehlt sich auch in Hinsicht darauf, dass gelöste Beispiele oft schnell im Internet kursieren. In der Übung zu Datenbanken, wo Beispiele automatisch ausgewertet werden können, bekommen Studierende entsprechend zu jedem Themenbereich individuelle, zufällig aus einem Pool gewählte Übungsbeispiele zugeteilt.

 

(c) Prüfungsbeispiele

Neben der Wahl der Übungsbeispiele ist auch die Wahl der Prüfungsbeispiele ein wichtiger Punkt, der immer wieder (z.B. durch Diskussion mit Kollegen) kritisch hinterfragt werden sollte. Besonders originelle Prüfungsbeispiele, in denen eine spezielle Einsicht nötig ist, die mit den zu vermittelnden Programmiertechniken nicht direkt in Verbindung steht, sind meist nicht für Prüfungen geeignet. Solche Beispiele mögen zwar den sehr guten Studierenden ein Erfolgserlebnis bescheren, sind gegenüber anderen Studierenden aber oft unfair und besser als zusätzliche Übungsaufgaben geeignet.

 

Auch die Formulierung von Beispielen macht in Programmieraufgaben Studierenden oft Probleme. Das Erfassen von Problemstellungen wird zwar auch durch die Übungsaufgaben geübt, und ist selbst ein wichtiger Teil des Kurses, oft ist aber in Prüfungsbeispielen nicht so sehr das Programmieren selbst das Problem sondern das Verständnis für die Problemstellung. Diese beiden Aspekte lassen sich aber erfahrungsgemäß nicht vollständig voneinander trennen, manche Verständnisprobleme sind schwer vorherzusagen, sodass die Auswahl guter Prüfungsbeispiele für den Lehrenden trotz jahrelanger Erfahrung ein schwieriges Problem bleibt.

Positionierung des Lehrangebots

Bachelor

Das Beispiel wurde für den Ars Docendi Staatspreis für exzellente Lehre 2019 nominiert.