Didaktik Software Engineering: Unterstützung der Einführung in die prozedurale Programmierung mit Karel in C

Thema:
Unterstützung der Einführung in die prozedurale Progammierung mit Karel in C
Art:
BA
BetreuerIn:
Markus Heckner
BearbeiterIn:
Christoph Märkl
ErstgutachterIn:
Christian Wolff
ZweitgutachterIn:
N.N.
Status:
abgeschlossen
Stichworte:
karel software engineering didaktik C
angelegt:
2015-06-23
Antrittsvortrag:
2016-01-20
Abgabe:
2016-01-15
Textlizenz:
Unbekannt
Codelizenz:
Unbekannt

Hintergrund

Aktuell ist die Programmiersprache C an deutschen Hochschulen und in der Industrie weit verbreitet und gehört immer noch zur Grundlagenausbildung vieler Informatik und Mathematikstudiengänge.

Auch an der OTH Regensburg findet die Einführung in die Programmierung in C statt.

Hierbei ergeben sich unterschiedliche Probleme (hier nur auszugsweise und subjektiv dargestellt):

  • Hohe Hürden besonders zu Beginn - Studenten finden oft den Einstieg nicht
  • Motivation eingeschränkt, da nur „printlining“
  • Insbesondere Verständnisprobleme komplexe Datenstrukturen wie 2-dimensionale Arrays

U.a. versucht Pattis (1995) mit Karel the Robot diese Einstiegshürden durch eine graphische Umgebung zu senken, die den Studenten sowohl reduzierte Komplexität der Sprache als auch direktes Feedback zum eigenen Programm gibt. Aktuelle Implementierungen für prozedurale Programmiersprachen sind derzeit aber nicht vorhanden oder sehr veraltet (vgl. weiterführende Literatur).

Zielsetzung der Arbeit

Im Rahmen der Arbeit sollen die aktuellen Probleme in der Grundlagenausbildung Software Engineering erhoben und dokumentiert werden (Insbesondere Rückgriff auf Forschung Informatikdidaktik). Basierend darauf soll ein Konzept für eine Umgebung wie Karel the Robot in C erstellt werden und eigene Version von entwickelt und anschließend evaluiert werden. Im Idealfall kann die entwickelte Karel-Version in der Grundlagenausbildung in einem Kurs der Fakultät für Informatik und Mathematik an der OTH Regensburg eingesetzt werden.

Konkrete Aufgaben

  • Recherche und Aufbereitung der aktuellen Herausforderungen im Bereich Grundlagenausbildung Programmierung
  • Erarbeitung von Anforderungen an eine Umgebung, welche diese Herausforderungen adressieren soll
  • Gap Analyse: Was können aktuelle Implementierungen von „Karel the Robot“ noch nicht leisten
  • Implementierung Karel in C
  • Evaluation (Methode tbd), Einsatz in Kursen der OTH Regensburg

Für die Entwicklung kann SDL (Simple Direct Media Layer - https://www.libsdl.org/) eingesetzt werden. Diese Multimedia-Bibliothek bietet unter anderem ein API zur Entwicklung graphischer Anwendungen (vgl. z.B. Pong Tutorial hier: http://archive.oreilly.com/pub/a/linux/2005/12/15/clone-pong-using-sdl.html).

Erwartete Vorkenntnisse

  • Interesse an prozeduraler Programmierung, idealerweise Vorkenntnisse in C
  • Interesse an didaktischen Fragestellungen in der Programmierausbildung

Weiterführende Quellen