[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lernsoftware Programmierung



On Friday 13 June 2003 08:08, Michael Hierweck wrote:
> > Ansonsten ist es sehr wichtig, das die Schüler nicht nur
> > einfach stur die Sprache lernen, sondern die dahinter
> > stehenden Konzepte und die zu implementieren Algorithmen
> > verstehen. Dann ist nämlich der Umstieg auf eine andere
> > Sprache sehr leicht und beschränkt sich auf das Lernen der
> > neuen Syntax und eventueller Caveats.
>
> Genau das ist ja der entscheidende Punkt... Am Anfang des Kurses
> geht es eben um den Entwurf einfacher Algorithmen, im Fall von
> Niki, dem Roboter, wurde eben ein Roboter programmiert, der
> durch ein Labyrinth läuft. Schön in ASCII-Art, so dass am sich
> auf das Wesentliche konzentrieren konnte. Die Programmierung
> erfolgte in Pascal, was schrittweise zu einer vollständigen
> Sprach entwickelt wurde, wobei die Sprache immer im Hintergund
> stand. Vermittelt wurden stattdessen Konzepte der Abstraktion
> und des "algorithmischen Denkens". Die Sprache wurde eher
> nebenbei erlernt.
>
> Der Vorteil des Niki-System bestand IMHO darin, dass man die
> Auswirkungen seines Tuns (hier: des Codes) an den Bewegungen des
> Roboter mitverfolgen konnte, ggf. auch mit schrittweise
> Programmausführung zum Debugging. Endlos-Schleifen erkannte man
> dadurch, dass der Roboter irgendwann im Kreis durch das
> Labyrinth lief, Fehler darin, dass er vor die Wand stieß oder
> oder "Futter" an Plätzen aufnahm, an denen keine lag.
>
> So war es bereits nach 24 Unterrichtsstunden im Grundkurs der
> 11. Klasse gelungen Rekursion vorzustellen. Wir hatten ein
> Problem, bei dem sich der Roboter hätte merken müssen, wie viele
> Schritte er vorwärts gegangen war, um die gleich Anzahl wieder
> zurückzugehen. Zu diesem Zeitpunkt kannten wir aber noch keine
> Variablen.
>
> Im Projekt am Ende des 13. Jahres entwickelten wir Spiele, wie 4
> gewinnt (für die schwächeren Schüler), Reversi oder Mühle. Auch
> hier lag der Schwerpunkt auf Analyse "korrekter Zug" und der
> Strategie, die der Computer als Gegner verfolgen kann, nach dem
> vorher Konzepte wie das Negmax-Verfahren erarbeitet worden
> waren.
>
> Aber zurück zum Thema:
>
> Es ist nicht Ziel des Unterrichts, Programmierkünstler zu
> schaffen. Es iost auch nicht wichtig, ob sie die gewählte
> Sprache nachher praktisch nutzen können. Wenn sie eine Sprache
> erlernt haben, z.B. (aber bestimmt nicht die Topwahl, so war es
> bei uns) objektorientiertes Pascal (kein Delphi!), können sie
> ihre Erfahrung leicht auf andere Sprachen übertragen und auch
> erkennen, was an diesen anders ist.
>
> Ein Niki-Ähnliches System würde ich deshalb gern einsetzen, weil
> die Rückschläge nicht Segmentation Fault oder "das Programm
> reagiert nicht mehr" heißen, sondern richtig erlebt werden. Man
> kann den Ablauf seines Programms live erleben. Ferner war nur
> ein einfacher Texteditor zu bedienen sowie ein "Malprogramm" für
> das Labyrinth.
>
> Ich halte dies für die Schule geeigneter, als mit semantischer
> Analyseoder objektorienter Modellierung zu beginnen. Die Schüler
> haben übrigens z.T. noch nie einen Computer benutzt und sollen
> das konkrete System auch gar nicht wirklich kennenlernen. Sie
> sollen Fähigkeiten und Einblicke sowie Denkweisen erlernen, die
> Ihnen nach Möglichkeit ihr Leben lang helfen, auch wenn sie nie
> mehr etwas mit Informatik zu tun haben werden.
>
> Was nützt es heute einem Schüler, wenn er vor 10 Jahren Meister
> in DOS und QBasic war? Gar nichts. Weil er sich zu sehr mit dem
> konkreten System (DOS) und einer "armen" Sprache (Basic)
> beschäftigt hat.
[...]
Nachdem was du schilderst sollte LOGO so ziemlich alle deine 
Ansprüche erfüllen.
http://www.cs.berkeley.edu/~bh/
http://www.lernnetz-sh.de/opensource/beispiele/logo/

Ich hab vor Urzeiten auf einenm Schneider Rechner meine ersten 
Schritte mit LOGO gemacht, nach einiger Zeit kommt man fast von 
alleine zu komplexen Lösungen.

Tschüss,
Thomas



Reply to: