Wanda :: Ein Niki für Python

Du hast eine Idee für ein Projekt?
Antworten
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Servus

Mir kam heute in der Schule folgende Idee für ein Projekt, was eigentlich schon längst hinfällig ist.

Viele die Schulinformatikunterricht hatten werden wohl "Niki" kennen. Ein Roboter den man durch ein Labyrinth steuern muss in einer vereinfachten Pascal Syntax. Das ganze ist dafür da, damit man Pascal lernt.

Da Pascal mist ist habe ich mir gedacht, das man das doch auf Python portieren könnte. Vllt. sogar noch paar Extras einbauen, was NIKI so nicht kann.

Was haltet ihr davon?

SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Erinnert mich an turtle, was es in Python schon gibt (im Python-Tarball).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Turtel ist aber anderes als Niki ...

Niki ist etwas unfreier und hat andere Ziele
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
r2d2
User
Beiträge: 43
Registriert: Donnerstag 2. März 2006, 23:05
Wohnort: Bielefeld

vielleicht hilf dies hier:
http://rur-ple.sourceforge.net/en/rur.htm

ist auch ein kleiner Roboter.

r2d2
äh, nimm diese schlange von meinem hals.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wie wärs mit Guido van Robot? :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Vom System her ist das genau das was ich bauen will. Jedoch soll Wanda vom Code her ganz nah an Python liegen.

GvR ist mir zu weit von Python weg (zumindest das was ich auf die schnelle gesehen habe)

Der andere Robot ist zwar schon näher an Python dran, aber doch noch zu weit weg ...

Ich will ja das man Python mit dem Prog lernt und nicht irgend eine halb/halb Sprache. Um das lernen zu erleichtern wird einfach die Syntax etwas gekürzt und Funktionen vorgegeben ...

ihr versteht? :D

mfg
SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

SigMA hat geschrieben:Ich will ja das man Python mit dem Prog lernt und nicht irgend eine halb/halb Sprache. Um das lernen zu erleichtern wird einfach die Syntax etwas gekürzt und Funktionen vorgegeben ...
Mit gekürzter Syntax hast du denn ein Python-lite mit dem vielleicht viele tolle Dinge nicht mehr möglich sind. Warum also die Syntax verkrüppeln, wenn sie auch jetzt schon einfach genug ist?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Leonidas hat geschrieben:Mit gekürzter Syntax hast du denn ein Python-lite mit dem vielleicht viele tolle Dinge nicht mehr möglich sind. Warum also die Syntax verkrüppeln, wenn sie auch jetzt schon einfach genug ist?
Ich meinte nicht im Sinne von "wir machen einfach jetzt eine if Anfrage, wo immer nur der Block kommt, wenn es TRUE ist" so ist das in einem der Teile gelöst.

Mir geht es darum, dass der User (Ich denke dabei in erster Linie an Schüler, die kaum / gar keine Erfahrung mit Python etc haben) nicht überfordert fühlt.

Wie gesagt. Wanda ist nicht dafür da, dass jmd, der Proggen kann besser proggen lernt, sondern für Leute die keine Ahnung haben einen vereinfachten Einblick in Python gibt, damit er einfachher einsteigen kann.

mfg
SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Ich stimme Leonidas da zu: einfacher wie Python wird's wohl kaum mehr ohne einfach was wegzulassen. Das weiß ich spätestens seit "How to think...". Vereinfachen ließe sich der Einstieg dennoch. Das ist jetzt vielleicht total bescheuert, aber wie wäre es damit Python auf deutsch zu übersetzten? Eine Art PyDePy? :lol:
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

N317V hat geschrieben:Das ist jetzt vielleicht total bescheuert, aber wie wäre es damit Python auf deutsch zu übersetzten? Eine Art PyDePy? :lol:
PyPy dafür herzunehmen ist keine sonderlich tolle Idee, aber Python wie Logo einzudeutschen ist durchaus eine möglichkeit. Man kann ja einen einfachen Präprozessor dafür bauen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Leonidas hat geschrieben:PyPy dafür herzunehmen ist keine sonderlich tolle Idee
War auch nur so ne Assoziation. Ich kenn PyPy nur vom Hörensagen.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
r2d2
User
Beiträge: 43
Registriert: Donnerstag 2. März 2006, 23:05
Wohnort: Bielefeld

@SigMA

die reservierten Wörter in Python, die man für den Anfang lernen muss, sind lediglich: def, return, if, while und print.
Bei den Datentypen sind es Integer und Strings, die man aber unter "Zahlen" und "Wörter" einführen kann. Dazu noch die Einrückungsregeln – das war´s.
Man kann sogar für den Anfang die boolschen Werte (True, False) verschweigen damit die Kiddies schön brav "if a == 1" schreiben und nicht "if a".
Die Funktionen kann man alle auf deutsch definieren. Ich sehe daher für Anfänger keine Probleme.
Es liegt immer in der Verantwortung des Lehrers, was die Schüler erfahren oder lernen.

r2d2
äh, nimm diese schlange von meinem hals.
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

r2d2 hat geschrieben:@SigMA
die reservierten Wörter in Python, die man für den Anfang lernen muss, sind lediglich: def, return, if, while und print.
Das ist schon klar, das die Grundbegriffe sehr einfach bei Python gehalten sind. Doch NIKI bietet den Vorteil, das das was du machst direkt sichtbar wird. Und nicht nur so etwas unspektakulären wie der Console sonder auch in einem Fenster. So können sie ihren Eltern etwas sichtbares zeigen.

Und wenn sie über die spielereien mit NIKI, Wanda, GvR oder RuR raus sind werden sie sich dem "richtigen" Python zu wenden und vllt. sogar versuchen etwas nachzuprogrammieren was sie in Wanda geschrieben haben.

Folglich kommt es nicht darauf an, dass es leicht zu lernen ist und das der Lehrer denen es gut Beibringt, sondern auch, das das Kind Spaß dran hat die Skriptsprache zu lernen. Und ich denke es macht mehr Spaß eine Skriptsprache als Jugendlicher zu lernen wenn sie einem direkt was sichtbares präsentiert, als wenn sie sich erstmal mit Consolen herumschlagen müssen.

SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Mach 'nen Vorschlag: was soll das System können? Ich weiß dass (zum Beispiel) mein Lehrer in der Schule uns eine Turbo Pascal-Bibliothek programmiert hatte, die wir dann direkt in Turbo Pascal angesprochen haben um kleine Spiele zu programmieren. Die Bibliothek hat den Reactor für ein einfaches Spiel implementiert, man mußte also im Endeffekt nur noch Callbacks schreiben, und hatte ein gewisses Grundgerüst schon da.

Sowas für Python zu entwickeln wäre natürlich, gerade mit PyGame im Hintergrund, auch relativ einfach, sprich dass man zum Beispiel eine "Metaebene" (im Sinne einer Bibliothek, die auf eine relativ bestimmte Funktionalität zugeschnitten ist) hat auf der man dann Anfangen kann zu programmieren für einen bestimmten Programmtyp (wie eben ein Spiel).

Ich find es ehrlich gesagt sinniger, Leute gleich an die "richtige" Syntax ranzuführen, und ihnen den Anfang über Bibliotheken einfacher zu mahen, als ihnen eine Kunstsprache beizubringen, und dann später zu sagen: "so, Ihr versteht jetzt die Kunstsprache, und könnt jetzt mal Python lernen." Die Lernkurve für Python wird dadurch nämlich definitiv nicht flacher, eher noch steiler (weil man einem unbedarften Programmieranfänger in kurzer Zeit gleich zweimal Syntax einer künstlichen Sprache beibringen muß, was für viele Leute gerade aufgrund der strikten Struktur einer Programmiersprache nicht ganz einfach ist), und das Verständnis von Schleifen, Bedingungen und anderen Konstrukten der strukturierten Programmierung muß man unabhängig von der Syntax der Sprache in der man programmiert eh anderweitig erklärt werden, man spart also definitiv nix wenn man eine Kunstsprache einführt.

Das sind aber natürlich nur meine 5 Euro-cent dazu... Ich kenn genügend andere die meinen dass es toll ist wenn man zuerst in einer Programmiersprache lernt in der man so eine Art Pseudocode programmiert. Ich find das ehrlich gesagt völlig bescheuert.
--- Heiko.
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

modelnine hat geschrieben:Mach 'nen Vorschlag: was soll das System können? Ich weiß dass (zum Beispiel) mein Lehrer in der Schule uns eine Turbo Pascal-Bibliothek programmiert hatte, die wir dann direkt in Turbo Pascal angesprochen haben um kleine Spiele zu programmieren. Die Bibliothek hat den Reactor für ein einfaches Spiel implementiert, man mußte also im Endeffekt nur noch Callbacks schreiben, und hatte ein gewisses Grundgerüst schon da.
Ich bin immer noch am Überlegen, ob diese Methode sinnvoll ist. Das man quasi den User etwas unter die Arme greift mit einer LIB. Sowas habe ich auch schon in erwähgung gezogen. Es wäre auf jeden Fall einfacher und effizienter.
modelnine hat geschrieben:[..] als ihnen eine Kunstsprache beizubringen, und dann später zu sagen: "so, Ihr versteht jetzt die Kunstsprache, und könnt jetzt mal Python lernen." Die Lernkurve für Python wird dadurch nämlich definitiv nicht flacher, eher noch steiler (weil man einem unbedarften Programmieranfänger in kurzer Zeit gleich zweimal Syntax einer künstlichen Sprache beibringen muß, was für viele Leute gerade aufgrund der strikten Struktur einer Programmiersprache nicht ganz einfach ist), und das Verständnis von Schleifen, Bedingungen und anderen Konstrukten der strukturierten Programmierung muß man unabhängig von der Syntax der Sprache in der man programmiert eh anderweitig erklärt werden, man spart also definitiv nix wenn man eine Kunstsprache einführt.
Da haste mich falsch verstanden. Ich habe was dagegen eine "Kunstsprache" zu machen worüber man später auf Python kommt. Ich wollte Python einfach etwas verkleinern für die Zwecke

SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

SigMA hat geschrieben:Und ich denke es macht mehr Spaß eine Skriptsprache als Jugendlicher zu lernen wenn sie einem direkt was sichtbares präsentiert, als wenn sie sich erstmal mit Consolen herumschlagen müssen.
Jup, deswegen gabs ja auch so einen Run auf Robocode. Btw, das könnte man sicher auch mit Jython programmieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

modelnine hat geschrieben:Ich kenn genügend andere die meinen dass es toll ist wenn man zuerst in einer Programmiersprache lernt in der man so eine Art Pseudocode programmiert. Ich find das ehrlich gesagt völlig bescheuert.
Ich nicht. Ich Programmiere gerne "ausführbaren Pseudocode". Das nennt sich Python. ;-)
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

*gg* Im moment sieht es so aus, als ob aus Wanda eine LIB wird (ähnlich Turtle).

Es soll dann den user die Arbeit an der GUI und "unwichtigen" Dingen vereinfachen.

SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
Antworten