Python Lehrmaterial für den Schuluntericht

Du hast eine Idee für ein Projekt?
Antworten
Benutzeravatar
MrTango
User
Beiträge: 5
Registriert: Donnerstag 1. März 2012, 14:55
Wohnort: Leipzig
Kontaktdaten:

Hallo,

es kam schon häufiger die Anregung, Lehrmaterial für den Schulunterricht anzubieten, welches die Lehrer dann einfach verwenden können.
Ich finde diesen Gedanken sehr interessant, daher möchte ich an dieser Stelle einfach mal die Diskussion eröffnen.

Wenn es einfach zu verwendende Materialien für Python gibt, die jeder Lehrer frei verwenden kann, werden es viele tun.
Da Python einfach ist und sie sich durch das vorhandene Material viel Arbeit sparen.
Resultat wäre, dass nach einer Weile deutlich mehr Python in Schulen gelehrt wird und sich so mehr Menschen frühzeitig mit Python beschäftigen werden.

Da es gute Dokumentation wie das übersetzte Python-Tutorial und andere gibt, schlage ich vor, diese z.B. mit Hilfe von Sphinx in einen speziellen Projekt für Schulische Bildung zu bündeln. Im Idealfall fallen am Ende kleine übersichtliche Module raus, die sich Lehrer für unterschiedlich Stufen der Ausbildung nehmen können.

Das ganze auf Bitbucket oder Github, bietet eine gute Möglichkeit der gemeinsamen Arbeit an diesem Vorhaben.

Was meint Ihr?
Maik Derstappen - Inqbus GmbH & Co. KG - Leipzig
Entwicklung mit Python, Pyramid, Django, Plone, Zope
Web: http://www.inqbus.de
Hosting: http://inqbus-hosting.de
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

MrTango hat geschrieben:Was meint Ihr?
Ich habe ein wenig das Gefühl, dass das so etwas "ins Blaue" reingemacht wird, von Leuten die keine Erfahrung haben wie Schulbetrieb abläuft. Nein, das soll jetzt keine Beleidigung sein, keine Sorge. Aber ich denke, dass das Material am besten ist wenn es an den Bedürfnissen von tatsächlichem Unterricht ausgearbeitet wird. Also das heißt einen Lehrer ins Boot holen und eine Klasse betreuen. Hörenswert ist in diesem Kontext CRE 189: Chaos macht Schule, eine Aktion einiger CCC-Erfa-Kreise (Mannheim und auch München und offenbar auch andere) Schulen aufzusuchen und denen etwas Medienkompetenz im Internet zu vermitteln. Vielleicht wäre es sinnvoll, sich mit den Leuten kurzzuschließen und solche Materialien mit deren Hilfe zu verfeinern.

Weil wenn ich sehe wie Leute Autos designen die offenbar nie ein Auto benutzt haben, oder Radwege designen, die zum Radfahren schlechter geeignet sind als Gehwege, dann denke ich dass das sinnvollste ein erfahrungsgetriebener Ansatz ist a la "scratch your own itch".

Aber natürlich ist das nochmal monumental schwerer als die Python-Dokumentation zu übersetzen, weil man eben auch inkrementell auf Änderungen eingehen muss. Die besten Vorträge die ich in der Usergroup gehalten hatte waren die, wo ständig Leute reingequatscht haben mit "warum?" oder "gib mal ein Beispiel" weil da die Leute eingebunden waren und ich nicht an ihnen vorbeierzählt habe. Das ist in der Schule nochmal ein Stück schwieriger.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
MrTango
User
Beiträge: 5
Registriert: Donnerstag 1. März 2012, 14:55
Wohnort: Leipzig
Kontaktdaten:

Ich kann dir nur zustimmen, der Ansatz die Materialien in der Praxis zusammen mit Lehrern und Schülern zu erstellen, ist sicher sinnvoll.
Das wäre so zusagen der 2. Schritt in die Richtung einer guten Grundlage. Praxiserprobte Dokumentation ist oft die beste.
Es werden sich sicher Lehrer finden lassen, die dazu bereit wären.
Maik Derstappen - Inqbus GmbH & Co. KG - Leipzig
Entwicklung mit Python, Pyramid, Django, Plone, Zope
Web: http://www.inqbus.de
Hosting: http://inqbus-hosting.de
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Leonidas hat geschrieben:Aber natürlich ist das nochmal monumental schwerer als die Python-Dokumentation zu übersetzen, [...]
Ja, das denke ich auch. Ich bin auch ein wenig eingeschuechtert von dem Sprung direkt auf Lehrmaterial ;)
Ich war jahrelang auf der Schule, habe dort wenn ueberhaupt nur richtig miesen Informatikunterricht gesehen. Dann bin ich auch schon lang genug wieder aus der Schule, als dass ich mir aus Schuelersicht vorstellen koennte, wie guter und ueberzeugender Informatik-Unterricht mit Python aussehen koennte.

Meine Vorstellung von einem guten Kurs ist mit Sicherheit anders als die eines Schuelers.
Und ich bin mir sicher, dass die sich von Jahrgangsstufe zu Jahrgangsstufe unterscheiden.

Wenn die Zielgruppe tatsaechlich die Schule ist, braucht man auf jeden Fall Lehrer im Boot. Besser: Viele. Am besten noch aus verschiedenen Stufen. (Ist Numerix nicht Lehrer?)

Eine deutsche Dokumentation ist dagegen nur mittelbar fuer Lehrer hilfreich, aber gleichzeitig kann man damit mehr Arbeit auf die Schueler abwaelzen ;) Gleichzeitig aber fuer alle, nicht nur eine, Zielgruppen hilfreich.

Was ich damit sagen will: Ich denke der erste Schritt ist eine deutsche Dokumentation (am besten noch mit einem einsteigerfreundlicheren Tutorial als es das Tutorial ist), was dann auch Schwaechen in den Lehrmaterialien abfangen kann.

Was nicht heisst, dass das nicht gleichzeitig geht, aber ich denke es gibt mehr Ressourcen, zum Uebersetzen, als zum Erstellen von (sehr) zielgruppengerichteter Dokumentation (noch dazu, wenn die Zielgruppe nicht die eigene ist ;)).
Benutzeravatar
juh
User
Beiträge: 27
Registriert: Dienstag 22. August 2006, 10:40
Wohnort: Solingen
Kontaktdaten:

Ich habe in dem Gymnasium meiner Söhne einige Jahre eine Python AG geleitet, wo wir das Buch "Python for Kids" von Gregor Lingl benutzt haben. Die AG hat dann zwei Informatik-Lehrer dazu angeregt, Python im Informatikunterricht der Mittelstufe zu unterrichten. Dabei haben die Lehrer, soweit ich das gesehen habe, aus den vielen vorhandenen Tutorials sich ihr eigenes Material zusammengesucht.

Ich vermute daher, dass es in Deutschland eine ganze Reihe von Lehrern gibt, die Python unterrichten. Leider weiß niemand, wo diese Lehrer sind. Wenn man einen Teil dieser Lehrer mit ins Boot bekommen könnte, wäre es sicher möglich, gemeinsam Lehrmaterial zu erstellen. Die große Frage ist nur, wie kommen wir mit den Lehrern in Kontakt?

juh
Software-Dokumentation mit Sphinx
http://www.amazon.de/dp/1497448689/
Paperback: 224 Seiten
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

juh hat geschrieben:Die große Frage ist nur, wie kommen wir mit den Lehrern in Kontakt?
Wir können einfach alle Schulen anschreiben, wenn wir so weit sind. Natürlich sollten wir ihnen dann auch schon etwas bieten können, so dass sie die Community auch direkt hilfreich finden und sich selbst weiter einbringen wollen.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich bin dabei :)

Ich glaube es ist das beste, wenn Zweigleisig gefahren wird. Das heißt auf der einen Seite eine Art Skript oder Lehrmaterial zu entwickeln und dieses im Netz in ansprechender Form anzubieten.

Zum anderen aber auch aktiv in Schulen zu gehen und dort Stunden anzubieten. Erfahrungen daraus sollen dann wieder ins Skript einfließen.

Was ich mir im Moment ein wenig schwierig vorstelle ist die Koordination, gerade auch was die Zusammenarbeit mit Lehrern angeht.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Vielleicht wäre es hilfreich, falls jemand mal Vergleichsmaterial hat, an dem man sich orientieren kann. Ich kenne zB die didaktischen Anforderungen an Inhalt und Struktur der Materialien nicht so genau.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

In Berlin wurde Python vor ca. 10 Jahren an verschiedenen Schulen im Unterricht eingesetzt. Dazu gehörten u.a. die Walther-Rathenau-Oberschule und das Humboldt-Gymnasium. Lt. Google ist das wohl auch heute noch so. Ich kann mich entsinnen, dass in einigen der damals verwendeten Materialien der Name Dr. Kokavecz (Humboldt-G.) als Urheber genannt wurde. Ggf. sollte man hier mal einen Kontakt herstellen um zu verhindern, dass das Rad neu erfunden wird.
EmaNymton
User
Beiträge: 174
Registriert: Sonntag 30. Mai 2010, 14:07

Hallo zusammen,
bin gerade durch Zufall auf diesen Thread gestoßen und bin Lehrer an der Schule, von der juh (Hallo Herr Hasecke!) geschrieben hat. Das Internet ist halt auch nur ein großes Dorf ;)
Ich selbst unterrichte primär nur in der Oberstufe Informatik, wobei ich Informatik auch nicht studiert habe, sondern einen Zertifikatskurs absolviert habe und halt Interesse an dem Fach habe.

Das generelle Problem ist, dass man zwischen Informatikunterricht in der Oberstufe und der Sekundarstufe I unterscheiden muss (ich spreche jetzt erstmal für NRW, in anderen Bundesländern ist das sicher ähnlich). In der Oberstufe gibt es einen vorgeschriebenen Lehrplan, da dies für die zentrale Abiturprüfung notwendig ist. In diesem Lehrplan ist (leider) explizit vorgeschrieben, dass man entweder Delphi oder Java verwenden muss, da die Abituraufgaben (mit Quelltexten) nur mit diesen zur Verfügung gestellt werden. Ich weiß, dass das eigentlich dem Sinn der Informatik entgegen spricht und man ja eher die Konzepte vermitteln sollte, die dann eigentlich unabhängig von der Sprache angewandt werden können. Ich habe auch schon bei meiner letzten Fortbildung angefragt, ob es geplant ist, Delphi (was wohl hauptsächlich noch verwendet wird, weil viele ältere Kollegen darin ausgebildet worden sind) mal irgendwann durch eine andere Sprache, z.B. Python zu ersetzen. Um es kurz (und nett) auszudrücken: Nein, nicht auf absehbare Zeit!

D.h. für die Oberstufe kann man mal, wenn etwas Zeit ist, projektartig Python als andere Programmiersprache anschneiden, mehr ist aber aus oben genannten Gründen leider nicht drin.

In der Sekundarstufe I gibt es bei uns an der Schule Mathe-Informatik-Kurse, die die Schüler in Jgst. 8 und 9 anwählen können. Dort ist in einem Halbjahr der 8.Klasse eine Programmiersprache vorgesehen, und wir hatten uns damals in der Fackkonferenz auf Python geeinigt. Daraus resultiere auch das von juh beschriebene Skript.
Wie es der Zufall so will, musste ich dieses Halbjahr einen Kurs in der 8 übernehmen, so dass ich mit dem Skript der Kollegen zunächst angefangen habe. Dieses Skript füllt allerdings nicht ein Halbjahr, so dass ich nach dieser Zeit noch Platz habe für eigene Ideen. Insofern würde ich mich hier gerne als Versuchskaninchen zur Verfügung stellen und wäre Input nicht abgeneigt. Das Skript liegt mir als pfd vor, ich kann vom Kollegen sicher aber auch die tex-Datei bekommen, so dass man daran weiter feilen könnte.

Gruß
Boris Pohler
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Wir hatten damals in der Oberstufe mit Python gearbeitet, was letztlich auf die Autorität einer Lehrkraft zurückging. Jetzt wird aber Java als einzige Sprache gelehrt.

Ich halte Informatik auch gerade in Kombination mit anderen Fächern für sinnvoll, da den Schülern so ein gewisses Vorwissen zur Verfügung steht, auf das man aufbauen kann. Gerade wenn man nur begrenzt Zeit hat. Andererseits kann es den Schülern helfen, zum Beispiel mathematische Probleme, zu verstehen und zu lösen.

Wie ist denn das Skript ausgelegt?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
EmaNymton
User
Beiträge: 174
Registriert: Sonntag 30. Mai 2010, 14:07

Es geht halt wirklich um die Grundlagen wie erste Gehversuche mit IDLE, Datentypen, Verwendung von Variablen, Schleifen, Ein- und zweiseitige Entscheidungen sowie die Implementierung von kleinen Programmen wie z.B. Zahlenraten. Die Ein-und Ausgabe erfolgt über IDLE, also noch keine grafische Oberfläche.

Das Skript endet dann mit ein paar Aufgaben zu den vorher erarbeiteten Inhalten.
Ich werde den Kollegen fragen, ob er etwas dagegen hat, wenn ich es hier veröffentliche.

Klassisch würde man dann wohl z.B. mit der turtle-Grafik weitermachen und dort Funktionen/Methoden und z.B. Rekursion ansprechen. Ich könnte mir aber auch andere Dinge vorstellen wie z.B. einen einfachen Chat-Client oder halt auch erste Schritte in der OOP sowie weitere Datenstrukturen, wie Tuple, Listen, Dicts ....
Da wollte ich aber noch abwarten, wie die Resonanz der Schüler ist. Optimum wäre, wenn die Schüler mehrere Blöcke zur Auswahl hätten, von denen sie einen wählen könnten und ich dann "nur" noch als Ansprechpartner zur Verfügung stehe. Dazu fehlt mir aber (noch) das Material.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

EmaNymton hat geschrieben:Da wollte ich aber noch abwarten, wie die Resonanz der Schüler ist. Optimum wäre, wenn die Schüler mehrere Blöcke zur Auswahl hätten, von denen sie einen wählen könnten und ich dann "nur" noch als Ansprechpartner zur Verfügung stehe. Dazu fehlt mir aber (noch) das Material.
Was meinst du genau mit "Blöcke"?

Für den Einstieg fänd ich persönlich cool wenn man sowas wie Processing.js für Python im Browser machen könnte. Denn ich denke nicht dass Turtle-Grafik irgendwen heutzutage noch begeistert (selbst mich Damals(TM) nicht), da wäre eine Python-Lösung im Browser viel schicker, wo Schüler ihre Lösungen gegenseitig austauschen könnten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
EmaNymton
User
Beiträge: 174
Registriert: Sonntag 30. Mai 2010, 14:07

Mit Blöcken meine ich abgeschlossene Themen, die die Schüler nach dem ersten Tutorial bearbeiten können. Hier sollen die Schüler je nach Neigung und Fähigkeiten zwischen Themenblöcken wählen können, so dass die Cracks sich nicht langweilen, die schwächeren aber auch nicht überfordert werden.
Hier bin ich mir selbst aber über die Themen und dem damit verbundenen Anforderungsniveau unschlüssig, da mir auch eindeutig die Erfahrung fehlt das zu überblicken. Erste Themenvorschläge, die mir spontan in den Sinn kommen, wären:
  • Grafiken mit Turtle (und hierbei insbesondere die Punkte Methoden, Methoden mit Parameterübergabe, Rekursion (Frakatale, Koch-Kurve))
  • Konsolen-Chatprogramm (Netzwerkkommunikation, Client-Server)
  • mathematische Probleme bearbeiten (hier hab ich eulerproject.net im Hinterkopf)
  • pygame? (null Erfahrung meinerseits)
Deinen Vorschlag mit Processing.js habe ich mir mal angeguckt kann aber keinen (für Schüler) wesentlichen Unterschied gegenüber turtle erkennen, wobei ich jetzt auch nicht im Thema drin bin. Die Schüler können Quelltexte doch auch so austauschen, so dass ich jetzt nicht den Vorteil darin sehe, dass es im Browser läuft.

Vielleicht habt ihr ja noch Ideen oder könnt eine meiner Ideen wegen Komplexität bereits ausschließen.
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

EmaNymton hat geschrieben:mathematische Probleme bearbeiten (hier hab ich eulerproject.net im Hinterkopf)
spoj.pl ist vielleicht auch ganz interessant – da muss man allerdings erfahrungsgemäß mehr denken und muss das Problem gründlicher analysieren als bei projecteuler.net. Ist vielleicht nicht das Richtige für die Schule, möglicherweise demotivierend, wenn die Lösung nicht angenommen wird, obwohl sie auf dem eigenen Rechner die richtigen Ergebnisse liefert …
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

EmaNymton hat geschrieben:Deinen Vorschlag mit Processing.js habe ich mir mal angeguckt kann aber keinen (für Schüler) wesentlichen Unterschied gegenüber turtle erkennen, wobei ich jetzt auch nicht im Thema drin bin. Die Schüler können Quelltexte doch auch so austauschen, so dass ich jetzt nicht den Vorteil darin sehe, dass es im Browser läuft.
Den läuft-in-Browser-Vorteil unterstätzt du etwas, denke ich. Der Vorteil ist, wenn das alles online läuft, dass Schüler daheim dran weiterarbeiten können, ohne eine spezielle Installation von Python vorhalten müssen, ohne dass sie die Quellcodes umherkopieren müssten (außer du willst die Schüler mit Versionskontrolle und sowas wie GitHub konfrontieren, wo ich jetzt keinen Nutzen sehe) und der Hauptvorteil: sie können ihre Werke anderen problemlos zugänglich machen, mit einem einfachen Link den sie auch auf Facebook, StudiVZ oder was sonst so genutzt wird posten können. Statt dass sie irgendwo Code posten, und die anderen Leute erstmal nen Interpreter runterladen müssen, installieren, Code in eine Datei kopieren müssen und ausführen. Ich finde, die Möglichkeit meine Werke stolz meinen Freunden, Familie etc. präsentieren zu können ist insofern ein Game-Changer dass man dadurch mehr den Eindruck bekommt man macht für sich was cooles statt "für die Schule".

Netzwerkkommunikation etwa für Chat ist ein etwas trickreiches Biest. Man kann direkt Sockets nutzen, aber das ist eher arg kompliziert. Man kann direkt entsprechende Libs verwenden, dann wird es etwas zu trivial. Und Konsolen-Sachen werden eher keinen Schüler vom Hocker hauen, nicht wenn man bedenkt, dass für Anfänger dann sogar Visual Basic 5 (Februar 1997, vor 15 Jahren) "cooler" vorkommt. Oder das Delphi was sie nachher nutzen werden, weil man dann nicht mehr tippen muss sondern einfach nur ein Programm via Klicken bedient. Da wäre es spannender vorzugreifen und das Programm in den Browser zu verschieben, so wie sie das ja inzwischen von Facebook, Google Maps, GMail etc. gewohnt sind, also nicht so extrem oldskool mit eintippen von Sachen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten