Hallo Guido,
On Thu, 22 Nov 2007, stepken wrote:
Die Lehrpläne sind im Internet veröffentlicht.
Wo genau? Das würde mich auch noch interessieren, damit ich meine Tutorials direkt schon ordnen kann.
Für das Gymnasium in Bayern http://www.isb-gym8-lehrplan.de.
Was ich z.B. ausgesprochen gut brauchen könnte, wären
- Datenflussdiagramme, die etwas tun (z.B. rechnen, Strings verarbeiten, Skripte starten... -- rechnen können meine Diagramme schon)
Ist Dir schon einmal aufgefallen, diese frappierende Ähnlichkeit zwischen den ETOYS / Scratch Programmierkacheln und Nassi/Shneidermann Diagrammen?
Weiß ich.
Und da steht auch drin, dass sich diese Diagramme nicht für Objektorientierung eigenen, wofür dann UML 2.0 entwickelt wurde. Schluss: ETOYS ist zwar objektorientiert geschrieben, selber aber kann man damit keine objektorientierte Programmierung lernen.
Und tatsächlich ist es so, dass Du mit Scratch/ETOYS halt nur an ganz wenigen Stellen was von OO (Polymorphie) merkst.
Weiß ich auch, aber ich nutze in der künftigen 10. Klasse (derzeit noch 11.) nicht die eToys, sondern versuche Smalltalk an den Mann zu bringen. Das Thema lautet 'objektorientierte Modellierung und Programmierung.
Viel interessanter ist es, Petri-Netze der Programmstrukturen zuvor zu malen, z.B. mit WoPeD. Da kann man dann auch noch die Prozesslogiken austesten. Die Zukunft geht genau dort hin. Wenn ich Programmcode sehe, bin ich geneigt, daraus erst einmal die Entscheidungslogiken zu extrahieren (das geht z.B. mit Python Smalltalk oder Ruby sehr gut, daraus dann XML zu extrahieren und nach PNML zu konvertieren, damit man die Programmflusslogiken, also den Möglichkeitsraum der Zustände, die ein Programm annehmen kann, analysieren und Fehler nachweisen kann, z.B. mit WoPeD
Das werde ich mir bei Gelegenheit einmal näher ansehen, könnte für die künftige Oberstufe (11/12) interessant werden. Danke für den Tip!
Es gibt da eine Reihe von Tools für verschiedene Programmiersprachen, wo es um die Sicherstellung der logischen Fehlerfreiheit von Programmen und ihren impliziten Ablaufslogiken geht. Ich habe z.B. mal so etwas analysiert, als es um mögliche Deadlocks beim Multiprocessing ging. Die Anregung war das "Philosophenproblem", welches mit Petrinetzen simuliert werden kann.
- Visualisierungen von Smalltalk-Code in Form von UML-Diagrammen, idealiter auch so, daß die UML-Diagramme der Ausgangspunkt sind und entsprechenden Smalltalk-Code generieren. BlueJ ist hier die Standardkonkurrenz.
Ochja. Rational Rose, nun IBM, Plugin in Eclipse ist ja auch ladbar aus dem Internet. Nur - die Einarbeitungszeit beträgt mind. 1 Jahr für ausgebildete Informatiker. Muss wirklich mit UML Kanonen auf Kinder geschossen werden? Ich denke nicht. Nassi-Shneidermann genügt vollauf.
Das habe ich nicht zu beurteilen. Nassi-Shneidermann ist das Thema in der 7. Klasse. Dort geht es um Algorithmen und Abläufe. In Klasse 9 habe ich Datenflussdiagramme und ER-Modellierung zu vermitteln sowie Tabellenkalkulation und SQL. In Klasse 6 und 10 geht es um Objekte und Klassen, insbesondere Aggregation und Generalisierung sowie (vereinfachtes) UML (keine Anwendungsfälle, sondern lediglich Klassenbeziehungen) und die Umsetzung dieser OO-Konzepte in einer geeigneten Programmierumgebung. Der Schwerpunkt liegt bei all diesen Dingen auf der Modellierung. Im Mittelpunkt stehen die verschiedenen Modellierungstechniken und deren Visualisierung in verschiedenen Diagrammformen. Und so nebenher sollen die Schüler lernen, wie man in Teams etwas auf die Beine stellt.
- Ideen für schlaue Projekte, die sich etwa mit einer 10. Klasse bei zweistündigem Informatikunterricht sinnvoll realisieren lassen.
Recht wenig. Ich weiss aus Berichten aus Schulen, dass viele Lehrer mit BlueJ und Java arbeiten. Und auch da treten unglaublich viele Probleme auf, z.B. fängt es damit an, dass Kinder kein Windows, sondern Mac OS X zuhause haben, und nicht wissen wie sie die Library vom Lehrer in den Classpath einbinden sollen. Lehrer weiss es auch nicht. Ich rate: Weniger ist mehr. Lieber anspruchsvollere Aufgaben in Scratch und dann ETOYS, als mit UML anfangen. Nassi genügt vollauf, um Denkstrukturen zu trainieren. Man kann mal auch mal das eine oder andere Flussdiagramm in UML übertragen. Aber nicht den Unterricht damit gestalten!
Fachdidaktiker von der M"unchner LMU probieren bei uns im Haus gerade mit zwei Klassen Unterrichtskonzepte mit BlueJ aus.
Datenbanken .... tsss. Die müssen erst einmal Mengenlehre nochmal wiederholen, bevor man die an SQL ransetzt. Und dann kommt noch dazu, das SQL eben OO untypisch ist, siehe "impedance missmatch": http://www.google.de/search?q=%22impedance+mismatch%22+stepken&hl=de&... a&rls=de&hs=sHJ&lr=lang_de&sa=X&oi=lrtip&ct=restrict&cad=9
'Wiederholen' ist gut bei der Mengenlehre. 'Erst einmal überhaupt machen' - nicht im Lehrplan. Was die Datenbanken anbelangt, ist OO eben nicht alles, aber es wäre geschickt, wenn die Schüler in der 10. im Rahmen von Projekten auch ihr Datenbanken-Wissen aus der 9. sinnvoll einsetzen könnten.
Schöne Grüße
Markus