Einsatz der fischertechnik Lernfabrik 4.0 für die Lehre des Programmierens

Kurzzusammenfassung:

Die fischertechnik Lernfabrik 4.0 besteht aus sechs verschiedenen Stationen, welche zusammen einen Beschaffungs- und Verarbeitungsprozess in der Industrie 4.0 abbilden. Die Stationen werden jeweils durch einen TXT-Controller gesteuert. Diese Controller können entweder kompilierte C-Programme ausführen, welche auf diesen deployed werden können (offline Modus), oder über ein Netzwerk live von einem anderen Computer gesteuert werden (online Modus). Studierende im Studiengang Wirtschaftsinformatik können mithilfe dieser Fabrik schrittweise an die Themengebiete „Programmierung“ und „Objekorientierung“ herangeführt werden. Durch den starken Bezug der Fabrik zu wirtschaftlichen Prozessen wird eine Identifikation der Studierenden mit diesen Themen erleichtert.


Übersicht

Ziele:

  • Schrittweise Einführung objektorientierter Konzepte in der Programmierung.
  • Identifikation der Studierenden mit den Themen der Programmierung.

Didaktische Funktion(en):

  • Wiederholung & Festigung
  • Transfer & Anwendung
  • Rückmeldung & Feedback

Hintergrund / didaktisch-methodische Einordnung:

Die fischertechnik Fabriken werden hauptsächlich für StudienanfängerInnen im Studiengang Wirtschaftsinformatik eingesetzt. Der Großteil hiervon hat noch keine Berührung mit dem Thema Programmieren gehabt. Es wird hierbei der Ansatz des Konstruktivismus verfolgt. Die physische Fabrik repräsentiert dabei die bekannte Welt und die Programmierung (virtuell) die unbekannte. Damit die Studierenden einen Anhaltspunkt haben, werden die Konzepte der Programmierung bzw. der Objektorientierung mit bestimmten Teilen bzw. Funktionalitäten der Fabrik verknüpft. Somit können die Studierenden auf etwas Bekanntem aufbauen.

Sozialform(en):

Einzelarbeit, Partnerarbeit, Kleingruppenarbeit (3-5)

Anzahl der Lernenden:

ab 1 Person


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson(en) benötigen sehr gute Kenntnisse in objektorientierter Programmierung. Lernende benötigen keine Vorkenntnisse.

Ausstattung & Medien:

Seminarraum je nach Anzahl der Lernenden, ein PC/Laptop pro Person/Gruppe, eine Station/eine Fabrik pro Person/Gruppe


Ablauf

Beispiele oder Materialien:

fischertechnik Lernfabrik 4.0
fischertechnik Lernfabrik 4.0 (https://www.fischertechnik.de/de-de/service/elearning/lehren/lernfabrik-4)

Beispielaufgabe:

Verwenden Sie den Vacuum Gripping Robot (VGR), um ein Produkt an eine andere Position zu bewegen. Führen Sie dabei die folgenden Schritte durch:

  1. Sauger an das Objekt heranbewegen
  2. Hydraulische Pumpe einschalten
  3. Roboterarm umpositionieren
  4. Hydraulische Pumpe ausschalten
  5. Roboterarm zurück in die Ausgangsstellung bewegen

Hinweise zur Vorbereitung:

Die Lehrperson muss die Übung vorbereitet haben. Die Studierenden müssen die grundsätzlichen Funktionen der Station(en) kennen, die in der nächsten Übung eingesetzt werden.

Hinweise zur Nachbereitung:

keine

Hinweise zur Dauer: 90 Min.


Kritische Einordnung

Vorteile und Stärken:

Sehr gut geeignet für Anfänger(innen), es unterstützt die Kommunikation und Interaktion zwischen den Studierenden.

Grenzen und Schwächen:

Die Erstellung und Wartung einer geeigneten API, welche die Studierenden zur Steuerung der Fabrik verwenden können ist zeitaufwändig. Die Anschaffung der Fabriken ist vergleichsweise teuer.

Sonstige Hinweise:

Die fischertechnik Fabrik 4.0 wird hier für Studierende des ersten Semesters eingesetzt, um grundlegende Prinzipien der objektorientierten Programmierung zu vermitteln. Aufbauend hierzu können in späteren Semestern Projekte durchgeführt werden, um komplexere Produktionsabläufe zu simulieren. Dabei könnten auch mehrere Fabriken interagieren.


Literatur und weiterführende Hinweise
  • Gensheimer, M.; Müller, E.; Hagel, G. (2020): A hands-on approach on software engineering education using fischertechnik hardware, In: Proceedings of the 4th European Conference on Software Engineering Education (ECSEE ’20).
  • Reich, K. (2004): Konstruktivistische Didaktik auf dem Weg, die Didaktik neu zu erfinden. LernLust und EigenSinn. Systemisch-konstruktivistische Lernwelten. (2004), 179–190.
  • fischertechnik: Lernfabrik 4.0, https://www.fischertechnik.de/de-de/service/elearning/lehren/lernfabrik-4, Zugriff: 15.11.2019

Einsatz von LEGO: Erste Schritte programmieren für SchülerInnen

Kurzzusammenfassung:

Bei diesem Lehr-Lern-Arrangement wurden LEGO MINDSTORMS Roboter eingesetzt, um SchülerInnen einen Einblick in die Programmierung zu geben, um ihnen informatiknahe Studiengänge vorzustellen. Die Roboter bestehen aus einem EV3-Controller (Brick) und können mit Motoren und Sensoren ausgestattet werden, welche über diesen Controller gesteuert werden. Um dem Roboter eine Form zu geben (z.B. Karosserie) stehen statische LEGO-Teile zur Verfügung. Die SchülerInnen lernen in einem 1-Tages-Workhshop die Grundlagen der Programmierung anhand von LEGO MINDSTORMS kennen mit der beigefügten visuellen Programmiersprache für diese Roboter. Einerseits wird ein roter Faden von den Lehrpersonen vorgegeben, wodurch sie die Möglichkeiten mit dem Roboter erlernen. Andererseits sind die SchülerInnen sehr frei in der Bearbeitung der Aufgaben und haben gegen Ende der Veranstaltung einige Zeit, um ihrer Kreativität freien Lauf zu lassen.


Übersicht

Ziele:

  • Die SchülerInnen machen erste Erfahrungen mit Programmierung.
  • Die SchülerInnen erkennen, dass Schulmathematik Anwendung in der Praxis findet.

Didaktische Funktion(en):

  • Informationsaneignung
  • Transfer & Anwendung

Hintergrund / didaktisch-methodische Einordnung:

Diese Form des Spiels kann den sogenannten Serious Games zugeordnet werden. Darunter werden Spiele verstanden, welche neben dem Unterhaltungswert einen übergeordneten Zweck erfüllen (vgl. Bartel 2019, S.17ff.). Der Einsatz von LEGO® als eine Form des Serious Game wird neben dem Schulkontext auch in der Hochschullehre diskutiert und untersucht und es existieren zahlreiche Anregungen dazu (siehe z.B. LEGO® in Higher Education). Aus pädagogischer Perspektive geht es bei diesem Lehr-Lern-Arrangement darum, spielerisch und in der Komplexität maximal reduziert SchülerInnen ein erstes eigenes Handeln mit Konzepten der Informatik zu ermöglichen. Das bedeutet, dass die Teilnehmenden in kürzester Zeit sowohl eine eigene Hardware (Lego Roboter selbst bauen) als auch Software (ein kleines Programm selbst schreiben) hierfür selbst in einem kreativen Prozess gestalten können und somit komplexe Themen stark vereinfacht kennenlernen und motiviert werden sich mit informatiknahen Themen weiter zu beschäftigen.

Sozialform(en):

Einzelarbeit, Partnerarbeit, Kleingruppenarbeit (3-5)

Anzahl der Lernenden:

4 bis 20 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrpersonen müssen Kindern abstrakte Konzepte verständlich vermitteln können. Lehrpersonen brauchen gute Kenntnisse zur Programmierung von LEGO MINDSTORMS Robotern.

Ausstattung & Medien:

Großer Raum mit genug freier Bodenfläche für die Roboter, Tablets, LEGO MINDSTORMS Roboter, PC, 1 Beamer


Ablauf

Beispiele oder Materialien:

Beispielaufgabe: Programmierung eines Parkroboters:

Stellt zwei Stühle auf, wobei der eine um 90° zum anderen gedreht ist und links
vorne vor dem anderen steht. Die zwei Stühle sollen als Garage für den Roboter
dienen. Erstellt dann ein Programm, das dafür sorgt, dass der Roboter von einer
Garage in die andere fährt, anhält, rückwärts ausparkt und wieder in die
Ursprungsgarage fährt.
Beispiele für gebaute Roboter

Hinweise zur Vorbereitung:

Erstellung von Präsentationsunterlagen und Übungen, die sinnvoll aufeinander aufbauen, um den SchülerInnen die Konzepte der Programmierung von LEGO MINDSTORMS Robotern beizubringen. Die LEGO MINDSTORMS Roboter müssen in ihrer Basisform zusammengebaut werden und das LEGO MINDSTORMS Entwicklungsprogramm muss auf allen Schülergeräten vorinstalliert sein. Verpflegung bereitstellen.

Hinweise zur Nachbereitung:

Aufräumarbeiten

Hinweise zur Dauer: Ein ganzer Tag.


Kritische Einordnung

Vorteile und Stärken:

Hat die Chance unentdeckte Interessen für die Softwareentwicklung zu wecken, „Programmierung zum Anfassen“.

Grenzen und Schwächen:

Sehr zeitaufwändig. Es werden viele Geräte und LEGO Hardware benötigt. Es werden mehrere Betreuer für einen ganzen Tag beansprucht.

Sonstige Hinweise:

Das Lehr-Lern-Arrangement wurde i.d.R. mit Schülergruppen um die 20 SchülerInnen durchgeführt, wobei diese in Partnerarbeit arbeiteten und dabei von 4-5 Personen betreut wurden.


Literatur und weiterführende Hinweise
  • Bartel, Alexander (2019): Konzeption und Entwicklung eines DSM-basierten Gamification Authoring Systems zur Unterstützung hochschulischer Lehre. Dissertation. Universität Regensburg.
  • Bartel, Alexander; Figas, Paula; Hagel, Georg (2014): Mobile Game-Based Learning in University Education. In: Feller, Sebastian; Yengin, Ilker (Hrsg.): Educating in Dialog: Constructing meaning and building knowledge with dialogic technology, Benjamins Publishing Company, S. 159–180.

Just-in-Time Teaching in Übungen für das Fach Game Physik

Kurzzusammenfassung:

Bei dem hier vorgestellten Ansatz von Just-in-Time Teaching (JiTT) in vorlesungsbegleiteten Übungen im Fach Game Physik wird die gemeinsame Präsenzphase anhand von formativem Feedback der Studierenden gestaltet, welche die Lehrperson aufgrund von bearbeiteten Aufgaben der Studierenden erhält. Die Studierenden liefern hierbei Lösungsvorschläge in Form von Programmcode, aber auch Lösungen in textueller Form im Falle von theoretischen Aufgaben. Diese werden dann von der Lehrperson vor der Übung evaluiert. Die Ergebnisse werden klassifiziert und Beispiele daraus herausgegriffen. Im Anschluss daran werden die aufbereiteten Ergebnisse in der Übungen mit allen Beteiligten besprochen.


Übersicht

Ziele:

  • Die Studierenden können Programmcode zu Anwendungen einer Game Physik Engine lesen und verstehen.
  • Die Studierenden verstehen die Ursache von fehlerhaftem Systemverhalten bei einer Game Physik Engine.
  • Die Studierenden können die Qualität ihrer Lösung beurteilen.

Didaktische Funktion(en):

  • Wiederholung & Festigung
  • Beurteilung
  • Rückmeldung & Feedback

Hintergrund / didaktisch-methodische Einordnung:

Das hier vorgestellte Lehr-Lern-Arrangement für das Fach Game Physik basiert, wie bereits aufgezeigt, auf der Methode Just-in-Time Teaching, kurz JiTT, welche in den 90er Jahren entwickelt wurde (vgl. Novak 1999). Der Grundgedanke hiervon ist, dass sich Studierende in einer Selbstlernphase Wissen aneignen und der Lehrperson vor der gemeinsamen Präsenzveranstaltung eine Rückmeldung zu ihrem Lernstand geben. Durch diese Form des formativen Feedbacks erfahren Lehrende wie es Studierenden mit dem bisherigen Stoff geht, ob Unklarheiten und offene Fragen bestehen. Die Präsenzveranstaltung wird daraufhin anhand dieser Rückmeldungen konzipiert und kann beispielsweise dazu genutzt werden „interaktiv Fehlvorstellungen zu korrigieren, Fragen zu klären und weiterführende Inhalte zu behandeln“ (Hoechstetter 2013). Auf diese Weise wird das selbstständige Lernen unterstützt und der Lehr-Lern-Prozess interaktiv gestaltet. Das Lehrkonzept versteht die Lernenden nicht als passive Konsumenten von Bildung, sondern als zentrale Akteure, welche den Lehr-Lern-Prozess aktiv mitgestalten (vgl. Novak 1999). Andere Lehr-Lern-Arrangements, welche auf der Methode JiTT basieren, sind zum Beispiel für Gruppen mit maximal 30 Studierenden dokumentiert.

Sozialform(en):

Einzelarbeit, Plenum

Anzahl der Lernenden:

ab 2 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson(en) benötigen sehr gute Kenntnisse im Programmieren. Lernende benötigen je nach Aufgabentyp Vorkenntnisse im Bereich Programmieren.

Ausstattung & Medien:

Server, bei dem Studierende Lösungsvorschläge einreichen können; Seminarraum je nach Anzahl der Lernenden, PC, 1 Beamer


Ablauf

Beispiele oder Materialien:

Beispielaufgabe - Theorie:

Wie in der Vorlesung behandelt, reduzieren wir die Geschwindigkeit für Teilchen, damit wir sie noch fliegen sehen. Was müssen wir tun, damit die Teilchen trotz geringerer Geschwindigkeit auf einer ähnlichen Bahn fliegen, wie sie mit ursprünglicher Geschwindigkeit geflogen wären? (ohne Luftwiderstand)

Aufbereitung durch Lehrperson:
Kategorie 1 (falsch): Masse des Teilchens verändern
* Die Masse des Particles muss erhöht werden
* Man kann ja die Masse des Teilchens proportional zu Geschwindigkeit erhöhen
* ...

Kategorie 2 (falsch): Die Kugelgröße muss verändert werden
* Man muss die Kugel größer machen, damit sie mehr gebremst wird.
* ...

Kategorie 3 (richtig): Schwerkraft verändern
Kategorie 3a: zu ungenau
* Die Gravitationskraft muss geändert werden
* Der Gravitationskraftgenerator muss eine kleiner Gravitationskraft wirken

Kategorie 3b: richtig
* Die neue Gravitationskraft muss gemäß der Formel:
"g_neu = (g_alt * v_alt) / v_neu" aktualisiert werden.

In der Übung:
* 2-3 Beispiele aus den falschen Kategorien 1, 2 und 3a
* 1 Beispiel aus der richtigen Kategorie 3b

Hinweise zur Vorbereitung:

Die Lehrperson muss alle abgegebenen Lösungsvorschläge evaluieren und ähnliche Lösungsvorschläge kategorisieren. Es muss mindestens eine korrekte Lösung vorbereitet werden.

Hinweise zur Nachbereitung:

Ergebnisse der Diskussion in der Übung werden ggf. gespeichert und den Lernenden zur Verfügung gestellt.

Hinweise zur Dauer: Insgesamt ca. 60 Min.


Kritische Einordnung

Vorteile und Stärken:

Es unterstützt Studierende, eigenen und fremden Programmcode zu beurteilen. Es unterstützt Studierende, Fehler in ihrer eigenen Programmierhaltung zu erkennen.

Grenzen und Schwächen:

Sehr zeitaufwändig

Sonstige Hinweise:

Das Lehr-Lern-Arrangement „JiTT“ ist sehr allgemein gehalten und lässt sich deswegen auf beliebige andere Bereiche übertragen. Essenziell sind in diesem Kontext die vorherige Abgabe von Lösungsvorschlägen durch Studierende, die Aufbereitung dieser Lösungen durch die Lehrperson (vor der Übung) und die anschließende Besprechung mit allen Beteiligten.


Literatur und weiterführende Hinweise
  • Bartel, A., Hagel, G. (2016): Gamified Just-in-Time Teaching – A Conceptual Approach Based on Best Practices. In: Proceedings of the European Conference of Software Engineering Education. Aachen: Shaker, S. 1-17.
  • Hagel, Georg; Mottok, Jürgen; Müller-Amthor, Martina (2013): Drei Feedback-Zyklen in der Software Engineering-Ausbildung durch erweitertes Just-in-Time-Teaching. In: Spillner, Andreas; Lichter, Horst (Hrsg.): Software Engineering im Unterricht der Hochschulen SEUH 2013, Aachen. S. 17-26.
  • Hoechstetter, Karsten (2013): Just-in-Time Teaching: Vorbereitete Studierende, maßgeschneiderte Lehre – geht das? In: MINTTENDRIN Lehre erleben – Tagungsband zum 1. HDMINT Symposium, S. 80-88.
  • Novak, G. M., Patterson, E. T., Gavrin, A. D., Christian, W. (1999): Just-in-Time Teaching: Blending active Learning and Web Technology. Upper Saddle River, NJ, U.S.A.: Prentice Hall.
  • Tao, Y. et al. (2014): Just-in-Time Teaching in software engineering: A Chinese-German empirical case study. IEEE: Global Engineering Education Conference EDUCON, Istanbul. S. 983-986.

Lernaufgabe: „Input-Providing Tasks“ für die Lehre des Programmierens

Kurzzusammenfassung:

Bei Input-Providing Tasks im Programmiersprachenlernen geht es darum, dass Studierende angeleitet werden Programmcode wie eine Fremdsprache zu lesen, um auf diese Weise zentrale Konzepte des Programmierens besser verstehen zu können. Die Studierenden erhalten zunächst Code und sollen beschreiben, was hierbei passiert, wobei ausdrücklich die Verwendung von Alltagssprache gewünscht wird. In einem zweiten Schritt wird der Code in logische Einheiten zerlegt (z.B. for-Schleife, Variablendeklaration und Initialisierung etc.) und mit dem nötigen Fachvokabular beschrieben. Während diesen Arbeitsschritten können sich die Studierenden untereinander in Kleingruppen austauschen, zudem bestehen Austausch- und Feedbackschleifen mit der gesamten Gruppe und dem Dozierenden.


Übersicht

Ziele:

  • Die Studierenden können Programmcode lesen und verstehen.
  • Die Studierenden können das „Fachvokabular“ beim Programmieren anwenden.
  • Die Studierenden können Programmcode dokumentieren.

Didaktische Funktion(en):

  • Einstieg & Aktivierung
  • Informationsaneignung
  • Wiederholung & Festigung

Hintergrund / didaktisch-methodische Einordnung:

Das Prinzip der Output-Prompting Tasks stammt aus dem Ansatz des „Task-based Programming Learnings“ (TBPL), welches in Anlehnung an das fremdsprachdidaktische Konzept des sogenannten „Task-based Language Learnings“ (TBLL) nach Willis (1996) entwickelt wurde. Die zentralen Kernelemente, welche sich im Fremdsprachenlernen als ausgesprochen effektiv erwiesen haben, wurden für den hier vorgestellten Ansatz auf das Programmiersprachenlernen übertragen (siehe Figas, Bartel & Hagel 2015; Figas et al. 2016). Mehr zum Ansatz des „Task-based Programming Learnings“ ist hier zu finden.

Sozialform(en):

Einzelarbeit, Kleingruppenarbeit (3-5), Plenum

Anzahl der Lernenden:

ab 2 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson(en) benötigen sehr gute Kenntnisse im Programmieren. Lernende benötigen je nach Aufgabentyp Vorkenntnisse im Bereich Programmieren.

Ausstattung & Medien:

Seminarraum je nach Anzahl der Lernenden, PC, 1 Beamer


Ablauf

Beispiele oder Materialien:

Beispielaufgabe:

Welche Ausgabe erzeugt das folgende Programm auf der Konsole? Geben Sie schrittweise für jede ausführbare Zeile Code an, was der Code tut:

public static void main(String[] args) { // opt. Definition der statischen Methode "main()" mit dem Rückgabetyp "void" (=keine Rückgabe) und dem Parameter "String[] args"
int a = 2; // Definition der Variable "a" vom Typ "int", Zuweisung des Werts 2 zur Variable "a"
int b = 7; // Definition der Variable "b" vom Typ "int", Zuweisung des Werts 7 zur Variable "b"
System.out.println(a+b); // Ausgabe der Summe von den Variablen a und b. Das Ergebnis der Rechnung und damit die Ausgabe auf der Konsole ist: 7
}

Hinweise zur Vorbereitung:

Konzeption von Aufgaben mit geeignetem Programmcode. Vorbereiten von einem Lösungsvorschlag, in welchem der Programmcode ordentlich und präzise dokumentiert ist.

Hinweise zur Nachbereitung:

Die Ergebnisse werden ggf. gespeichert und den Lernenden zur Verfügung gestellt.

Hinweise zur Dauer: Insgesamt ca. 55 Minuten


Kritische Einordnung

Vorteile und Stärken:

Sehr gut geeignet für Anfänger(innen), es unterstützt die Kommunikation und Interaktion zwischen den Studierenden.

Grenzen und Schwächen:

Vergleichsweise zeitaufwändig

Sonstige Hinweise:

Das hier beschriebene Lehr-Lern-Arrangement beschreibt die Version Input-Providing, was darauf abzielt, dass die Studierenden lesen und verstehen. Das gleiche Arrangement existiert auch für die Output-Prompting-Variante, in welcher es darum geht, dass die Studierenden eigenen Programmcode schreiben. Diese beiden Verfahren eignen sich zur kombinierten und gestaffelten Anwendung (beispielsweise in einer ersten Stunde Input-Providing, in einer zweiten Output-Prompting).


Literatur und weiterführende Hinweise
  • Figas, P; Bartel, A; Ebert, M; Müller-Amthor, M; Weilemann, E; Brune, P; Hagel, G. (2016): Learning Programming Languages through Input-Providing Tasks. IEEE: Global Engineering Education Conference EDUCON, Abu Dhabi, S. 419-424.
  • Figas, P.; Bartel, A.; Hagel, G. (2015): Task-based Programming Learning in Higher Education, In: Global Engineering Education Conference (EDUCON), Tallinn, IEEE (S. 634- 639).
  • Willis, J. (1996): A Framework for task-based learning. Longman: Harlow and Essex.

Lernaufgabe: „Output-Prompting Tasks“ für die Lehre des Programmierens

Kurzzusammenfassung:

Bei Output-Prompting Tasks geht es darum, dass Studierende über das Schrittweise Schreiben von Programmcode Konzepte des Programmierens besser verstehen. Die Studierenden erhalten zunächst Anforderungen und überlegen in „Alltagssprache“ / Pseudocode, wie das Programm aussehen könnte. In einen zweiten Schritt wird der Pseudocode in „richtigen Code“ übertragen. Während diesen Arbeitsschritten können sich die Studierenden untereinander in Kleingruppen austauschen, zudem bestehen Austausch- und Feedbackschleifen mit der gesamten Gruppe und dem Dozierenden.


Übersicht

Ziele:

  • Die Studierenden können Programmcode schreiben.
  • Die Studierenden können das „Fachvokabular“ beim Programmieren anwenden.

Didaktische Funktion(en):

  • Wiederholung & Festigung
  • Transfer & Anwendung

Hintergrund / didaktisch-methodische Einordnung:

Das Prinzip der Output-Prompting Tasks stammt aus dem Ansatz des „Task-based Programming Learnings“ (TBPL), welches in Anlehnung an das fremdsprachdidaktische Konzept des sogenannten „Task-based Language Learnings“ (TBLL) nach Willis (1996) entwickelt wurde. Die zentralen Kernelemente, welche sich im Fremdsprachenlernen als ausgesprochen effektiv erwiesen haben, wurden für den hier vorgestellten Ansatz auf das Programmiersprachenlernen übertragen (siehe Figas, Bartel & Hagel 2015; Figas et al. 2016). Mehr zum Ansatz des „Task-based Programming Learnings“ ist hier zu finden.

Sozialform(en):

Partnerarbeit, Kleingruppenarbeit (3-5), Großgruppenarbeit (ab 6), Plenum

Anzahl der Lernenden:

ab 2 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson(en) benötigen sehr gute Kenntnisse im Programmieren. Lernende benötigen je nach Aufgabentyp Vorkenntnisse im Bereich Programmieren.

Ausstattung & Medien:

Seminarraum je nach Anzahl der Lernenden, PC, 1 Beamer


Ablauf

Beispiele oder Materialien:

Beispielaufgabe:

Schreiben Sie eine Methode welche die folgende Ausgabe auf Konsole schreibt:
5
55
555
33
3  

Hinweise zur Vorbereitung:

Konzeption von Aufgaben mit geeignetem Programmcode. Vorbereiten von einem Lösungsvorschlag.

Hinweise zur Nachbereitung:

Die Ergebnisse werden ggf. gespeichert und den Lernenden zur Verfügung gestellt.

Hinweise zur Dauer: Insgesamt ca. 55 Minuten


Kritische Einordnung

Vorteile und Stärken:

Sehr gut geeignet für Anfänger(innen), es unterstützt die Kommunikation und Interaktion zwischen den Studierenden.

Grenzen und Schwächen:

Vergleichsweise zeitaufwängig

Sonstige Hinweise:

Das hier beschriebene Lehr-Lern-Arrangement beschreibt die Version Output-Prompting, wo es darum geht, dass die Studiereden eigenen Programmcode schreiben. Das gleiche Lehr-Lern-Arrangement existiert auch für die Input-Providing-Variante, in welcher es darum geht, dass die Studierenden lesen und verstehen. Diese beiden Verfahren eignen sich zur kombinierten und gestaffelten Anwendung (beispielsweise in einer ersten Stunde Input-Providing, in einer zweiten Output-Prompting).


Literatur und weiterführende Hinweise

Figas, P.; Bartel, A.; Hagel, G. (2015): Task-based Programming Learning in Higher Education, In: Global Engineering Education Conference (EDUCON), Tallinn, IEEE (S. 634- 639).

Rollenspiel in der Programmierung

Kurzzusammenfassung:

Rollenspiele spielen in der Ausbildung der Geisteswissenschaften eine große Rolle. In der Informatik werden sie noch verhältnismäßig selten eingesetzt. Das hier beschriebene Rollenspiel in der Programmierausbildung fördert das Verständnis des inneren Aufbaus der Container-Datentypen ArrayList und LinkedList der Programmiersprache Java. Die Studierenden schlüpfen dazu in die Rolle von Objekten, die von den jeweiligen Containern „gespeichert“ werden. Dann wird das Hinzufügen und Löschen eines Objekts aus dem jeweilige Container spielerisch erarbeitet. Dabei kann man die Differenzen der Laufzeit dieser beiden Methoden bzgl. der beiden Datentypen veranschaulichen.


Übersicht

Ziele:

  • Die Studierenden können den Unterschied der Container-Datentypen ArrayList und LinkedList verstehen und erklären.
  • Die Studierenden verstehen das Einfügen und Löschen von Elementen in ArrayLists und LinkedLists.

Didaktische Funktion(en):

  • Aktivierung
  • Informationsaneignung
  • Wiederholung & Festigung

Hintergrund / didaktisch-methodische Einordnung:

Die Methode des Rollenspiels hat verschiedene Formen. Besonders bekannt sind jene Formen, in welchen menschliches Handeln „nachgespielt“ wird, etwa indem ein Mitarbeitergespräch oder eine Konfliktsituation mit mehreren Akteuren gespielt wird. Dabei eröffnen sich mehrere Lernfelder: Zum einen können Erfahrungen durch das eigene Erleben gesammelt werden, aber auch durch die Beobachtung und Reflexion können wertvolle Erkenntnisse gewonnen werden. In diesem hier vorgestellten Rollenspiel werden jedoch keine menschlichen Rollen eingenommen, sondern Objekte der Programmierung. Dabei wird ein authentisches Erleben komplexer Sachverhalte ermöglicht. Insofern werden sowohl Prinzipien Spielerischen Lernens zugrunde gelegt als auch Elemente der Szenischen Didaktik, wo die Methode des Rollenspiels verortet werden kann. Zudem basiert das Lehr-Lern-Arrangement auf der Annahme, dass Bewegung im Lernprozess aufmerksamkeits- und motivationsförderlich wirken kann, was ein Kernelement der Bewegten Pädagogik darstellt. Mehr Informationen zur Methode Rollenspiel sind im Konstruktivistischen Methodenpool von Kersten Reich zu finden.

Sozialform(en):

Großgruppenarbeit (ab 6)

Anzahl der Lernenden:

ab 6 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson(en) benötigen sehr gute Kenntnisse im Programmieren, speziell mit den unterschiedlichen Containern ArrayList und LinkedList. Lernende benötigen Vorkenntnisse im Bereich Programmieren.

Ausstattung & Medien:

keine


Ablauf

Beispiele oder Materialien:

Hinweise zur Vorbereitung:

Ggf. Stühle stellen.

Hinweise zur Nachbereitung:

Keine.

Hinweise zur Dauer: Insgesamt ca. 30 Minuten


Kritische Einordnung

Vorteile und Stärken:

Aktivierendes Element, das die Erklärung dieser Container spielerisch auflockert.

Grenzen und Schwächen:

Einige Studierende reichen sich nicht gerne die Hände. Ggf. kann hierfür ein „Zwischenstück“, z.B. ein Ring, verwendet werden.

Sonstige Hinweise:

Das hier beschriebene Lehr-Lern-Arrangement kann auf viele Gebiete der Informatik-Ausbildung angewendet werden. Es fördert die Interaktion der Studierenden untereinander.


Literatur und weiterführende Hinweise
  • Mottok, J; Hagel, G; Utesch, M; Waldherr, F. (2009). Konstruktivistische Didaktik – ein Rezept für eine bessere Software Engineering Ausbildung? In Proceedings of the 2nd Embedded Software Engineering Conference, ISBN 978-3-8343-2402-3 (S. 601-610).
  • Methode Rollenspiel im Konstruktivistischen Methodenpool von Kersten Reich.

Task-based Programming Learning

Kurzzusammenfassung:

Beim Task-based Programming Learning (TBPL), welches in Anlehnung an das fremdsprachdidaktiktische Konzept des sogenannten „Task-based Language Learnings“ entwickelt wurde, geht es darum, dass zentrale Kompetenzen zum Beherrschen einer Programmiersprache ähnlich wie eine Fremdsprache erworben werden. In folgender Beschreibung wird ein Überblick über zentrale Konzepte gegeben.


Übersicht

Ziele:

  • Die Studierenden können Programmcode lesen und verstehen.
  • Die Studierenden können Programmcode schreiben.

Didaktische Funktion(en):

  • Einstieg & Aktivierung
  • Informationsaneignung
  • Wiederholung & Festigung

Hintergrund / didaktisch-methodische Einordnung:

Task-based Programming Learning (TBPL) wurde in Anlehnung an das fremdsprachdidaktiktische Konzept des sogenannten „Task-based Language Learnings“ nach Willis (1996) entwickelt. In dem Ansatz von Willis werden für das Fremdsprachenlernen zwei relevante Aufgabenformen unterschieden: „Output-Prompting“ (Schreiben und Sprechen) sowie „Input-Providing“ (Lesen und Hören). Zudem wird unterschieden zwischen einer sogenannten „Meaningful Interaction“, bei welcher der Fokus auf dem allgemeinen Verständnis liegt, und einer „Formful Interaction“, bei welcher der Fokus bei syntaktischer Korrektheit liegt. Darüber hinaus wird der Aufgabenprozess in die Phasen Pre-Task, While-Task und Post-Task unterteilt (diese Phasen werden später im Ablauf näher beschrieben). Diese Kernelemente, welche sich im Fremdsprachenlernen als ausgesprochen effektiv erwiesen haben, wurden für den hier vorgestellten Ansatz auf das Programmiersprachenlernen übertragen (siehe Figas, Bartel & Hagel 2015; Figas et al. 2016).

Sozialform(en):

Kleingruppenarbeit und Plenum

Anzahl der Lernenden:

ab 2 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson(en) benötigen sehr gute Kenntnisse im Programmieren. Lernende benötigen je nach Aufgabentyp Vorkenntnisse im Bereich Programmieren.

Ausstattung & Medien:

Seminarraum je nach Anzahl der Lernenden, PC, 1 Beamer


Ablauf

Beispiele oder Materialien:

Beispiele für Output-Prompting Tasks und Input-Providing Tasks sind hier beschrieben:

Hinweise zur Vorbereitung:

Konzeption von Aufgaben, Vorbereiten von einem Lösungsvorschlag.

Hinweise zur Nachbereitung:

Die Ergebnisse werden ggf. gespeichert und den Lernenden zur Verfügung gestellt.

Hinweise zur Dauer: unterschiedlich je nach Ausführung


Kritische Einordnung

Vorteile und Stärken:

Sehr gut geeignet für Anfänger(innen), es unterstützt die Kommunikation und Interaktion zwischen den Studierenden.

Grenzen und Schwächen:

Vergleichsweise zeitaufwängig


Literatur und weiterführende Hinweise
  • Figas, P; Bartel, A; Ebert, M; Müller-Amthor, M; Weilemann, E; Brune, P; Hagel, G. (2016): Learning Programming Languages through Input-Providing Tasks. IEEE: Global Engineering Education Conference EDUCON, Abu Dhabi, S. 419-424.
  • Figas, P.; Bartel, A.; Hagel, G. (2015): Task-based Programming Learning in Higher Education, In: Global Engineering Education Conference (EDUCON), Tallinn, IEEE (S. 634- 639).
  • Willis, J. (1996): A Framework for task-based learning. Longman: Harlow and Essex.