Problemlösungstechniken mit MATLAB für Studenten der Geisteswissenschaften
Von Dr. Robert Talbert, Franklin College
Die Studenten, die in diesem Frühling den Kurs CMP 150: Computer Tools for Problem Solving am Franklin College besuchten, hätte man eigentlich gar nicht in einer MATLAB®-Vorlesung erwartet. Nur wenige von ihnen studieren ein technisch-wissenschaftliches Hauptfach, und noch weniger haben irgendwelche Programmiererfahrung. Die meisten sind Lehramtsstudenten und haben den Kurs belegt, weil er Voraussetzung für den Besuch der Vorlesung Calculus 3 ist.
Mit MATLAB umgehen zu können, scheint auf den ersten Blick für jemanden, der Geisteswissenschaften studiert, nicht zwingend notwendig zu sein – Probleme mit technischen Mitteln und durch kritisches Denken lösen zu können, ist es aber zweifellos. Die meisten Studenten des Kurses CMP 150 werden wohl im Laufe der Zeit Funktionsnamen, Befehle und andere Details vergessen, aber dies ist nicht wesentlich. Wichtig ist, dass sie anschließend in der Lage sind, Probleme in MATLAB selbstständig zu lösen.
Motivation für den Kurs
CMP 150 wurde eingerichtet, um Studienanfängern im ersten Jahr Programmiererfahrung zu vermitteln und damit eine der Voraussetzungen für das am Franklin College angebotene Ingenieurstudium mit Doppelabschluss zu erfüllen.
Für Mathematikstudenten am Franklin College war über viele Jahre ein Kurs in C++-Programmierung verpflichtend. Verschiedene ehemalige Studenten wiesen aber darauf hin, dass im Nachhinein ein praxisorientierterer Kurs für sie sinnvoller gewesen wäre. Viele dieser Absolventen merkten an, dass sie zwar nie Software in C++ schreiben, aber häufig kleine Funktionsblöcke benötigen, mit denen sie Probleme lösen oder Analysen durchführen können, die mit reiner Tabellenkalkulation nur schwer zu realisieren sind.
Die Aufnahme von CMP 150 in den Lehrplan für Mathematik war die Antwort auf diese Anregungen. Gleichzeitig fügt sich der Kurs in eines der Hauptziele der aktuellen Neuordnung des Studienplans am Franklin College ein: die Vermittlung von Programmiermethoden in eine Reihe zusätzlicher Kurse wie Lineare Algebra, Analysis 3 oder Numerische Methoden zu integrieren.
CMP 150 ist außerdem für diejenigen hilfreich, die den am Franklin College angebotenen Doppelabschluss in Ingenieurwesen anstreben. Dieses Programm wird zusammen mit der Purdue University School of Engineering and Technology in Indianapolis angeboten. Es erfordert ein dreijähriges Studium am Franklin College sowie zwei weitere Jahre an der University of Indiana – Purdue University – Indianapolis (IUPUI). Bislang belegten diese Studenten erst einen Pflichtkurs in MATLAB an der IUPUI. Im Zuge der Umgestaltung der Studienpläne beschloss man am Franklin College, selbst eine Version mit den prinzipiell gleichen Themen wie im Purdue-Kurs anzubieten, sie aber besser an den Rest des eigenen Lehrplans anzupassen.
Der umgekehrte Hörsaal
CMP 150 besteht lediglich aus einer einzelnen wöchentlichen Vorlesung von 75 Minuten. Um diese begrenzte Zeit optimal nutzen zu können, setzt der Kursleiter Dr. Talbert das Modell des „umgekehrten Hörsaals“ ein. Bei dieser Unterrichtsform sehen sich die Studierenden zu Hause Videos an, arbeiten Online-Tutorials durch und lesen die erforderlichen Unterrichtsmaterialien. Im Hörsaal dagegen finden praktische Übungen fast ohne jeden Vortragsanteil statt. Talbert hat dadurch die Zeit, sich seinen Studenten persönlich zu widmen, während sie ihre Wochenpläne in Zweier- oder Dreiergruppen bearbeiten (Abbildung 1). Anfangs mussten sich die Studierenden noch an diese Methode gewöhnen. Am Ende des Semesters hatten sie sich aber dadurch eine wertvolle Fähigkeit angeeignet: sich neue Konzepte selbstständig erarbeiten und anwenden zu können.
Die Videovorlesungen und Tutorials lassen sich leicht an die Studierendenzahl anpassen. Mit der Unterstützung studentischer Hilfskräfte kann die persönliche Kommunikation im Hörsaal problemlos auf mehrere Hundert Studenten erweitert werden.
MATLAB eignet sich ideal für diese Lehrmethode. Die Einstiegsvideos auf mathworks.de sind nach Meinung Talberts sehr gut gemacht und vermitteln ausgezeichnet die Grundlagen von MATLAB. Er bemerkt dazu, er habe auf mathworks.de keine Inhalte gefunden, die er noch hätte verbessern können und sie darum komplett übernommen. Für die anspruchsvolleren MathWorks-Tutorials hat Talbert eigene Screencasts zu neuen Konzepten für die jeweilige Woche verfasst, die sich die Studenten vor der Vorlesung ansehen. Darüber hinaus können sich die Kursteilnehmer direkt über die MATLAB-Befehlszeile mit dem doc
-Befehl jederzeit Informationen zu sämtlichen MATLAB-Funktionen einholen. Die Studenten wurden deutlich selbstständiger und selbstbewusster, als ihnen bewusst wurde, dass sie keine spezielle Anleitung benötigen – mit doc
können Sie sich erarbeiten, was immer sie wollen, und so ihre eigenen Erfahrungen sammeln.
Für Übungen und Beispiele nutzt Dr. Talbert Cleve Molers Online-Lehrbuch „Experiments with MATLAB“. Darüber hinaus gibt es kein vorgeschriebenes Lehrbuch für CMP 150. Stattdessen wird den Teilnehmern empfohlen, mit der Studentenversion von MATLAB und Simulink zu arbeiten. Dies geschieht mit dem ausdrücklichen Hinweis, dass sich diese Investition während der gesamten Studienzeit am Franklin College auszahlen wird.
Sanfter Einstieg in MATLAB
Studierende tun sich am Anfang in der Regel schwer mit den Konzepten der Computer-Programmierung. Der Kurs beginnt darum mit Themen, zu denen sie sofort einen Bezug haben, und arbeitet mit Daten aus der Praxis. Dadurch sind die Inhalte interessanter und fesselnder. Den Einstieg bilden die grafische Darstellung und Visualisierung von Daten, da dies eine der Stärken von MATLAB ist und die meisten Studenten bereits mit Diagrammen vertraut sind (Abbildung 2).
Die Studenten analysieren Daten, die sie vom Verkehrsministerium von Indiana oder anderen Onlinequellen herunterladen. In einer der Übungen arbeiten sie mit einem großen Datensatz, der den durchschnittlichen Benzinpreis für jeden Monat über einen Zeitraum von mehr als 25 Jahren enthält. Diese Daten sind in Form einer Matrix hinterlegt, deren Spalten die Monate und deren Zeilen die Jahre darstellen. Um daraus Diagramme zu erzeugen, müssen die Studenten lernen, wie man diese Daten manipuliert. Diese Übung ist eine hervorragende Einführung in die von MATLAB angebotenen Matrixoperationen. Die Teilnehmer schreiben ein MATLAB-Skript, das über die reshape
-Funktion auf die Daten verschiedener Monate zugreift und ein Diagramm der jeweiligen Preise generiert. Aus den erzeugten Grafiken sollen schließlich Schlussfolgerungen über die Daten gezogen werden.
Der anschließende Kursabschnitt beschäftigt sich mit statistischen Diagrammen, Regressionsanalysen und der Kurvenanpassung. Einige dieser Themen sind den Studierenden bereits aus dem Analysis-Kurs vertraut, in dem sie Regressionen auf der Basis von Tabellen durchgeführt haben. Ihnen wird schnell klar, dass MATLAB für solche Aufgaben viel besser geeignet ist als eine Tabellenkalkulation, weil es genauer rechnet und eine deutlich bessere Kontrolle über die Polynom-Koeffizienten ermöglicht.
Experimente und symbolische Mathematik
Sobald sich die Studenten in die MATLAB-Umgebung eingearbeitet und einige Erfahrung mit dem Erstellen von Diagrammen, dem Umgang mit Variablen und dem Ausführen von Skripten gesammelt haben, lernen sie grundlegende Programmierkonstrukte wie Bedingungen und Schleifen kennen. Obwohl viele dabei zum ersten Mal überhaupt programmieren, werden sie ausdrücklich ermutigt, selbst zu experimentieren. Fehler zu machen und sie selbstständig zu korrigieren, ist eine ausgezeichnete Methode, sich neue Fertigkeiten zu erarbeiten.
Bei einer Aufgabenstellung sollen die Teilnehmer ein einfaches Programm schreiben, das eine numerische Bewertungsnote in die in den USA übliche Buchstabennote umwandelt. Aus einer Note von 91 wird beispielsweise korrekt ein A-. Dabei ist der Lösungsweg völlig freigestellt, es gibt hierzu keine Vorgaben. Einige Studenten bevorzugen eine Folge aus if
-Bedingungen, andere entscheiden sich für eine switch
-Anweisung. Die Präsentation der Lösungen in der Vorlesung demonstriert anschaulich, dass es viele Möglichkeiten gibt, dasselbe Problem in MATLAB zu lösen.
Zum Ende des Kurses wird die algebraische Lösung von Problemen mit der Symbolic Math Toolbox™ behandelt. Im letzten Semester berichtete ein Kollege Dr. Talbert, einige seiner Studenten hätten Probleme mit unendlichen Reihen, worauf dieser den folgenden Wochenplan umstellte. Er zeigte in seinem Kurs, wie man die Partialsumme einer Reihe numerisch mit Hilfe eines MATLAB-Skripts berechnen kann. Anschließend sollten die Teilnehmer dieselbe Aufgabe symbolisch mit Hilfe der MuPAD Notebook-Schnittstelle aus der Symbolic Math Toolbox lösen. Diese Übung vermittelte nicht nur ein besseres Verständnis der mathematischen Konzepte, sondern war auch ein ausgezeichnetes Beispiel für die Anwendung von MATLAB und der Symbolic Math Toolbox außerhalb des CMP 150-Kurses.
Über die Abschlussprüfung hinaus
Während der Abschlussprüfung müssen die Studenten ihre Fähigkeiten in vier Bereichen unter Beweis stellen: Diagramme und Visualisierungen, Datenverarbeitung, mathematische Analyse und schließlich Programmierung. Sie haben zwei Stunden, um eine Aufgabe aus jedem dieser Bereiche mit MATLAB zu lösen. Eine der Programmieraufgaben bestand in der Erzeugung einer Funktion, die Näherungswerte für ex mithilfe eines Taylor-Polynoms berechnet. Alternativ konnten sie ein Skript schreiben, das die ersten N Ziffern der Fibonacci-Reihe generiert, wobei N als ganzzahlige Eingabe für das Skript dienen sollte. Die Kursteilnehmer schnitten insgesamt sehr erfreulich ab; sie hatten in nur 14 Wochen eine enorme Entwicklung durchlaufen.
MATLAB soll künftig auch in den Rest des Lehrplans am Franklin College stärker integriert werden. Es wird bereits in Analysis 3 genutzt. Weiterhin erarbeitet Dr. Talbert mit Kollegen aus den Wissenschafts- und Wirtschaftsfakultäten Wege, MATLAB in diesen Disziplinen verstärkt einzusetzen. Die Rückmeldungen der Studenten fielen positiv aus. Einige, die später einen Programmierkurs in C++ belegten, berichteten, wie sehr ihnen das Programmieren mit MATLAB fehlt. Viele der Teilnehmer stellen aber fest, dass der wertvollste Lerninhalt des Kurses für sie darin besteht, sich jetzt neue Konzepte eigenständig erarbeiten zu können. Sie haben gelernt, Dokumentationen oder weitere Informationsquellen zu nutzen und sich mit diesen zu beschäftigen, bis sie den Inhalt verstanden haben und anwenden können.
Die Fähigkeit zu kritischem Denken sowie das Finden und Verstehen von neuen Informationen sind unverzichtbares intellektuelles Rüstzeug für jede geisteswissenschaftliche Ausbildung. MATLAB stellt für Studierende eine hervorragende Umgebung dar, diese Fertigkeiten schon zu Beginn ihrer akademischen Laufbahn zu entwickeln und zu verfeinern.
Veröffentlicht 2011 - 91906v00