Praxisprojekt

„Entwicklung einer Webplattform zur Bewertung der Kreativität von Programmierlösungen“

Zielgruppe:

Bachelor Angewandte Informatik, Bachelor Angewandte Kognitions- und Medienwissenschaften

Kontakt:

Sven Manske, manske@collide.info, 0203/379-4178, LF115

Termin:

Dienstags, 10 bis 16 Uhr

Raum: 

LF 120

KickOff-Meeting: Dienstag den 12.04. um 10.15 Uhr im Raum LF120

Beschreibung:

Beim Programmieren, und besonders beim Erlernen des Programmierens, spielt Kreativität eine große Rolle: einerseits können originelle oder elaborierte Lösungen anderen Lernenden als gute Beispiele dienen, andererseits können abweichende oder problematische Lösungen Lehrenden Aufschluss über Fehlkonzeptionen oder Problemquellen geben und dadurch pädagogische Interventionen ermöglichen.

In der Programmierung gibt es gewisse Elemente und Strukturen, die möglicherweise als Indikatoren für kreativere Lösungen dienen können. So gilt beispielsweise Rekursion als ein anspruchsvolles Programmierkonzept, was in diesem Sinne elaborierter im Vergleich zu iterativen Ansätzen ist. Solche Konstrukte lassen sich oft unabhängig von der Programmiersprache auf abstrakten Syntaxbäumen (AST: Abstract Syntax Tree; siehe Abbildung 1) erkennen. Für die meisten Programmiersprachen existieren bereits solche Generatoren und Schnittstellen für die automatische Erzeugung von ASTs aus Quelltexten.

Abbildung 1: Ein Beispiel-Programm in JavaScript mit dem zugehörigen, generierten AST1.

Ziel dieses Praxisprojekts ist es, eine Web-Plattform zu entwickeln, in der Endbenutzer Programmier-Beispiele in Form von Quelltext „einreichen“, welche dann mittels der Plattform analysiert werden. Das Ergebnis ist ein Report, der alternative Code-Metriken und Indikatoren für Kreativität und Originalität enthält. Dafür notwendig ist die Einarbeitung in das Feld des kreativen Problemlösens, die Erarbeitung von Kreativitäts-Indikatoren sowie einer geeigneten Arbeitsdefinition von Kreativität im Kontext der Programmierung. Als Nutzungsszenario dient dabei Programmierung im Informatikunterricht an weiterführenden Schulen.

Das Projekt beginnt mit einer kurzen Seminarphase, in welcher alle Teilnehmer*Innen einen Vortrag zu dem von ihnen erarbeiteten Grundlagen-Thema halten und diesen in einer kurzen Ausarbeitung dokumentieren. Im weiteren Projektverlauf steht vor allem die Arbeit in Kleingruppen im Fokus, zur Koordination gibt es ein wöchentliches Plenum, in welchem auch die Betreuer anwesend sind. Während der Projektlaufzeit wird die Projektgruppe den Stand der Arbeit zweimal vorstellen (Konzept und Produkt). Problematik, Grundlagen, Konzept, Umsetzung und Evaluation des Projekts werden zudem in einem Endbericht festgehalten.

Teilnahmevoraussetzungen:

Voraussetzungen für eine erfolgreiche Teilnahme sind Kenntnisse in der Web-Entwicklung (HTML5, JavaScript, CSS).

1 Automatisch generiert mittels JavaScript-AST-Visualizer. Demo: http://jointjs.com/demos/javascript-ast