Detailseite
Projekt Druckansicht

TENDER-BLOCK: Testen, Debuggen, und Reparieren von Block-basierten Programmen

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung seit 2018
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 418126274
 
Visuelle, block-basierte Programmierumgebungen (z.B. Scratch) werden immer häufiger verwendet, um Anfängern Programmierkonzepte beizubringen, und um Spezialisten mit speziellem Domänenwissen aber ohne Programmiererfahrung es zu erleichtern, Programme zu erstellen. Obwohl block-basierte Programmiersprachen den Einstieg vereinfachen, sind die Werkzeuge moderner Softwareentwicklung für solche Sprachen nicht verfügbar. Zum Teil hat dies didaktische Gründe, da manuelles Lösen von Softwareproblemen einen gewünschten Lerneffekt erzielen kann. Dies rechtfertig jedoch nicht das vollständige Fehlen jeglicher Werkzeugunterstützung:Aus Sicht der Erziehung werden essentielle Konzepte, so wie ein Verständnis für Softwarequalität, ohne Werkzeugunterstützung nicht vermittelt. Oftmals verhindern einfache Programmierprobleme auch das Erreichen des eigentlichen Lernziels (z.B. wenn Programmierung als Lernmedium für andere Konzepte benutzt wird, beispielsweise in der Mathematik).Aus Sicht von Lehrenden stellt das Fehlen von Werkzeugunterstützung ein erhebliches Hindernis dabei dar, den Fortschritt der Lernenden zu überwachen, um unterstützend einzugreifen, und um Erreichen der Lernziele zu überprüfen und zu benoten.Aus Sicht der Benutzer ist das Finden und Beheben von Softwareproblemen, das Erkennen wenn das Programm fertig ist, das Einschätzen wie gut es funktioniert, und viele andere Aspekte problematische Schwierigkeiten. Dies ist besonders für Anfänger und Lernende frustrierend, und kann insbesondere bei aussercurricularer Betätigung zu Abbruch der Bemühungen und des Interesses an Programmierung führen.Aus diesen Gründen ist es das übergeordnete Ziel dieses Projektes, Werkzeugunterstützung für block-basierte Programmierung zu entwickeln. Konkret sind die Projektziele:(1) Erstellung von Methoden zur statischen Analyse block-basierter Programme.(2) Entwicklung eines Testkonzeptes und einer Testumgebung für block-basierte Programme.(3) Entwicklung von automatisierten Testmethoden für block-basierte Programme.(4) Entwicklung einer interaktiven Debugging-Methodologie für block-basierte Programme, unter Verwendung moderner Methoden wie Fehlerlokalisierung und automatischer Reparatur.Diese konzeptionellen Ziele werden konkret umgesetzt für die beliebte Scratch 3.0 Programmierumgebung, und anhand der Vielzahl vorhandener Programme in dieser Umgebung evaluiert. Die entwickelten Methoden und Werkzeuge unterstützen nicht nur Entwickler, Lernende und Lehrende direkt, sondern bieten auch die Grundlage für weiterführende Forschung zur Unterstützung von Programmierern in block-basierten Programmiersprachen, sowohl im Kontext von Software Engineering Methoden, als auch von didaktischen Methoden.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung