Re: Gesucht: Python-Aufgaben für Schul-Programmierkurs
Verfasst: Donnerstag 9. Juni 2011, 08:17
Auch wenn mein Wissen und meine Erfahrung gegenüber Eurer gegen Null geht, erlaube ich mir trotzdem, meinen Senf abzugeben:
Die Frage, mit welcher Sprache und welchen Umgebungen der selbstbestimmte Einsteiger beginnt, halte ich nicht für so entscheidend. Lernen Kleinkinder in China, auf Borneo, in Frankreich oder auf Grönland nicht alle ihre Muttersprache? Macht die Sprache einen Unterschied? Das Klima? Die Umgebung? Wohl eher nicht.
Kinder lernen ihre Sprache und deren Anwendung durch Hören. Durch Beobachtung. Durch Nachahmung. Niemand lernt eine Sprache allein mit einem Wörterbuch.
Ok, ich selbst eigne mich vielleicht nicht unbedingt als Referenz, aber doch als Beispiel: Ich beschäftige mich seit etwas mehr als 2 Jahren mit Python. Wenn ich so lese, dass sich ein Programmierer eine neue Sprache mehr oder weniger so nebenbei einverleibt, dann sind 2 Jahre sicher eine lange Zeit und das Ergebnis völlig unbefriedigend, aber aus Respekt vor dem Alter wollen wir darauf mal nicht näher eingehen...
Jedenfalls habe ich das, was ich heute anwenden kann zu einem Großteil durch lesen und analysieren von Codebeispielen gelernt. Die Dokumentation gewann erst nach und nach an Bedeutung. Was nützt einem Kind der Dudeneintrag zu 'Eisenbahn'? Erst wenn Mutter oder Vater erklären, dass sie jetzt mit der Eisenbahn in den Zoo fahren, wird es beginnen, dieses Wort einzuordnen um es dann auch selbst verwenden zu können. Und wenn es dann am Bahnsteig steht und durch den Lautsprecher hört, dass der 'Zug' einfährt, wird es lernen müssen, was es wohl damit auf sich hat.
Wenn ich denke, eine Anweisung, eine Funktion oder eine gebräuchliche Herangehensweise an ein Problem verstanden zu haben sehe ich an anderer Leute Code, wie eine Funktion auch noch verwendet werden kann, wie eine Problemlösung viel eleganter oder einfacher zu bewerkstelligen ist. Dass dort, wo ich bisher 'Eisenbahn' verwendet habe, inzwischen mehr und mehr 'Zug' benutzt wird veranlasst mich dann, in der Doku nachzulesen und zu erfahren, dass 'Eisenbahn' inzwischen deprecated ist. Würde ich mein Wissen um 'Eisenbahn' und 'Zug' überwiegend aus Doku und Lehrbuch haben, wäre mein Einsatz dieser Wörter eher steril und uninspiriert.
Ähnliches sehe ich auch bei meinem 11jährigen Sohn. Ob es 'Python for Kids' oder 'Hello World!' waren: Er hält sich nicht sehr lange mit Erklärungen über dies oder jenes auf. Er hat sich von den CD's die Programme kopiert (ja, ich habe ihm auch gesagt, dass Abtippen sinnvoller wäre, ...) und daran herumgebastelt. Erstmal nur Texte ausgewechselt. Dann winzige Erweiterungen erstellt. Und so ist er nebenbei ständig damit beschäftigt, den Code mit dem zu Vergleichen, was letztlich auf dem Bildschirm erscheint.
Klar macht er dadurch vieles anderst (falsch), als es ein gut gemeintes Lehrbuch erklärt. Aber er macht es wenigstens. Wäre er gezwungen, sich erstmal und vorallem mit Grundlagen zu beschäftigen, er würde wohl früher oder später für sich zu dem Schluß kommen, dass das mit dem Programmieren nichts für ihn sei. Und wir alle wissen wie schwer es sein kann, nach so einer Feststellung irgendwann wieder einmal die Kurve zu bekommen.
Mein Fazit: Nicht die Sprache selbst ist es, sondern das Hören. Ein Kind hört ständig Sprache um sich herum. Versteht lange Zeit nicht, was das alles zu bedeuten hat. Und trotzdem lernt es durch Beobachtung und Analyse Stück für Stück, mit dem Gehörten umzugehen bis es selbst beginnen wird, erste Worte und dann Sätze zu sprechen.
Mit einer Programmiersprache verhält es sich IMHO nicht anderst.
mutetella
Die Frage, mit welcher Sprache und welchen Umgebungen der selbstbestimmte Einsteiger beginnt, halte ich nicht für so entscheidend. Lernen Kleinkinder in China, auf Borneo, in Frankreich oder auf Grönland nicht alle ihre Muttersprache? Macht die Sprache einen Unterschied? Das Klima? Die Umgebung? Wohl eher nicht.
Kinder lernen ihre Sprache und deren Anwendung durch Hören. Durch Beobachtung. Durch Nachahmung. Niemand lernt eine Sprache allein mit einem Wörterbuch.
Ok, ich selbst eigne mich vielleicht nicht unbedingt als Referenz, aber doch als Beispiel: Ich beschäftige mich seit etwas mehr als 2 Jahren mit Python. Wenn ich so lese, dass sich ein Programmierer eine neue Sprache mehr oder weniger so nebenbei einverleibt, dann sind 2 Jahre sicher eine lange Zeit und das Ergebnis völlig unbefriedigend, aber aus Respekt vor dem Alter wollen wir darauf mal nicht näher eingehen...
Jedenfalls habe ich das, was ich heute anwenden kann zu einem Großteil durch lesen und analysieren von Codebeispielen gelernt. Die Dokumentation gewann erst nach und nach an Bedeutung. Was nützt einem Kind der Dudeneintrag zu 'Eisenbahn'? Erst wenn Mutter oder Vater erklären, dass sie jetzt mit der Eisenbahn in den Zoo fahren, wird es beginnen, dieses Wort einzuordnen um es dann auch selbst verwenden zu können. Und wenn es dann am Bahnsteig steht und durch den Lautsprecher hört, dass der 'Zug' einfährt, wird es lernen müssen, was es wohl damit auf sich hat.
Wenn ich denke, eine Anweisung, eine Funktion oder eine gebräuchliche Herangehensweise an ein Problem verstanden zu haben sehe ich an anderer Leute Code, wie eine Funktion auch noch verwendet werden kann, wie eine Problemlösung viel eleganter oder einfacher zu bewerkstelligen ist. Dass dort, wo ich bisher 'Eisenbahn' verwendet habe, inzwischen mehr und mehr 'Zug' benutzt wird veranlasst mich dann, in der Doku nachzulesen und zu erfahren, dass 'Eisenbahn' inzwischen deprecated ist. Würde ich mein Wissen um 'Eisenbahn' und 'Zug' überwiegend aus Doku und Lehrbuch haben, wäre mein Einsatz dieser Wörter eher steril und uninspiriert.
Ähnliches sehe ich auch bei meinem 11jährigen Sohn. Ob es 'Python for Kids' oder 'Hello World!' waren: Er hält sich nicht sehr lange mit Erklärungen über dies oder jenes auf. Er hat sich von den CD's die Programme kopiert (ja, ich habe ihm auch gesagt, dass Abtippen sinnvoller wäre, ...) und daran herumgebastelt. Erstmal nur Texte ausgewechselt. Dann winzige Erweiterungen erstellt. Und so ist er nebenbei ständig damit beschäftigt, den Code mit dem zu Vergleichen, was letztlich auf dem Bildschirm erscheint.
Klar macht er dadurch vieles anderst (falsch), als es ein gut gemeintes Lehrbuch erklärt. Aber er macht es wenigstens. Wäre er gezwungen, sich erstmal und vorallem mit Grundlagen zu beschäftigen, er würde wohl früher oder später für sich zu dem Schluß kommen, dass das mit dem Programmieren nichts für ihn sei. Und wir alle wissen wie schwer es sein kann, nach so einer Feststellung irgendwann wieder einmal die Kurve zu bekommen.
Mein Fazit: Nicht die Sprache selbst ist es, sondern das Hören. Ein Kind hört ständig Sprache um sich herum. Versteht lange Zeit nicht, was das alles zu bedeuten hat. Und trotzdem lernt es durch Beobachtung und Analyse Stück für Stück, mit dem Gehörten umzugehen bis es selbst beginnen wird, erste Worte und dann Sätze zu sprechen.
Mit einer Programmiersprache verhält es sich IMHO nicht anderst.
mutetella