- left
- right
- up
- down
Ich hatte das jetzt so aufgefasst, dass keine trivialen Erweiterungen in tiefe beleuchtet werden sollen. So gibt das Programm vielleicht die Ausgabe im Terminal. Jenach Aufgabe ist die Erweiterung um eine GUI vielleicht Sinnvoll, im Rahmen der Aufgabe aber keine Schwierigkeit (Aufgabenbezug fehlt). Sollte also entsprechend nicht beleuchtet werden.
Vielleicht sollten wir das besser formulieren. Entscheidend ist, dass eine Erweiterung das mit der Aufgabe gestellte Problem erweitert oder variiert. Ein Beispiel: Für die Suche nach kürzesten Wegen in einem Graphen mit positiven Kantengewichten kann man den Algorithmus von Dijkstra verwenden - wenn man davon ausgeht, dass die Kantengewichte positiv sind. Das Problem wird erweitert, wenn auch negative Kantengewichte möglich sind. Damit entsteht eine neue, eigene Schwierigkeit, denn die bisherige Lösung (Dijkstra) funktioniert im Allgemeinen nicht mehr.
Eine GUI ist in diesem Sinne keine Erweiterung. Bonuspunkte für eine GUI, die einen besonders interessanten Zugang zum Problem und seiner Lösung verschafft, sind aber nicht ausgeschlossen, insbesondere wenn Visualisierungen verwendet werden, die in sich neue algorithmische Schwierigkeiten mit sich bringen. Das muss dann aber schon ziemlich toll sein. Im Zweifel also lieber über Erweiterungen des Problems nachdenken - siehe oben.
Wenn man vom eigenen Lösungsansatz etwas "geschenkt" bekommt, kann man nicht erwarten, dafür auch noch belohnt zu werden. ;-) Es sei denn, der Lösungsansatz kann grundsätzlich echt schwierigere Probleme lösen als in der Aufgabenstellung gefordert. Dann ist es aber doch wieder eine eigene Schwierigkeit. Es ist aber sinnvoll, die Aufgaben zumindest erst einmal "passgenau" zu lösen.