**Dies ist eine alte Version des Dokuments!**
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
- Betreuer:
- Markus Heckner
- Student:
- Christoph Märkl
- Professor:
- Christian Wolff
- Status:
- in Bearbeitung
- Stichworte:
- karel software engineering didaktik C
- angelegt:
- 2015-06-23
- Antrittsvortrag:
- 2016-01-20
- Ende:
- 2016-01-15
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
- Pattis, R.E. (1995). Karel the Robot. A Gentle Introduction to the Art of Programming. Wiley and Sons.
- Roberts. E. (2005). Karel the Robot learns Java. Available online: http://cs.stanford.edu/people/eroberts/karel-the-robot-learns-java.pdf
- Untch, R. (unbekannt). Karel Homepage. Available online: https://www.cs.mtsu.edu/~untch/karel/
- …