Hallo zusammen, bei uns gibt es ein von einem Schulverein organisiertes Ferienprogramm für unsere Hauptschüler. Nachdem ich bereits mehrere Jahre C und C# an einer Hochschule unterrichte, habe ich zu diesem Ferienprogramm einen Kurs "PC-Programmieren für Anfänger" angeboten. Der Kurs dauert 2 Tage a 3h. Als Programmiersprache hätte ich VB.net benutzt, das ist im Vergleich zu C/C# relativ einfach... 6h sind natürlich ziemlich knapp bemessen um hier Grundlagen rüberzubringen; Ziel des Kurses ist auch nicht daß sie programmieren können, sondern eher daß das Interesse daran geweckt wird... Die Zielgruppe sind (Haupt)schüler zwischen 11 und 16 Jahren mit bisher keinerlei Programmiererfahrung. Habt ihr eine Idee (oder vielleicht sowas ähnliches schonmal gemacht), was man auf die 2 Tage machen könnte und wo die Kids auch Spaß daran haben? Ich dachte an ein bißchen Windows-Forms (da sieht man gleich was) und vielleicht ein kleines Ratespiel (Zufallszahlen, If-Abfragen). Danke + viele Grüße, Martin
Nimm die Aufgaben die in diesem Buch dran kommen: http://www.amazon.de/Visual-Basic-f%C3%BCr-Kids-CD-ROM/dp/3826605012/ref=sr_1_1?ie=UTF8&qid=1310286895&sr=8-1 Dann können die Kids, wenn sie deinen Schnupperkurs(mehr ist es eh nicht) beendet und noch Lust haben gleich da weiter machen wo bei dir Schluss war. Ansonsten wäre es nur Zeit und vermutlich auch Geldverschwendung.
Also ich würde zu JavaKara raten: http://www.swisseduc.ch/informatik/karatojava/javakara/screenshots.html Das ist praktisch visuelles Programmieren, man sieht was passiert. Der Käfer hat vorgefertigte Sensor/Aktor-Methoden (move(), turnLeft(), onLeaf(), treeFront(), ...), die man aufrufen kann und dann macht der Käfer das was man ihm sagt, dann musst du der Klientel nur noch if/while erklären und sie können die Aufgaben aus dem einfachen Set die mitgeliefert sind lösen. Das ist für Kids eindrucksvoller, als ein paar schnöde Zahlen auf der Konsole
Hi, ich habe ein aehnliches Projekt auch vor einiger Zeit (es war 2004, um genau zu sein) durchgefuehrt. Ich habe dafuer auch visuelles Programmieren verwendet, aehnlich dem Vorschlag von D.I. Das Grundgeruest habe ich mir selbst zusammengebaut (damals in C++ unter Windows - entstanden aus einem Befehlsinterpreter/Scriptsprache, grafische Darstellung mit OpenGL). Die Kids haben dann einfache Scripte (mit C-aehnlicher Syntax) geschrieben, mit dem ein Auto gesteuert wurde. Ziel war, ein Script zu entwerfen (mit den Befehlen beschleunigen, bremsen, links, rechts und noch ein paar Dingen wie Schleifen und If-Bloecken) mit dem das Auto durch zunehmen schwierigere Strecken gesteuert wurde und am Schluss in einem definierten Zielfenster zum stehen kam. Die Kids hatten damit sehr viel Spass, die Grundlagen waren in knapp 1 Stunde vermittelt und auch Konzepte wie For-Schleifen und If-Bloecke wurden im Laufe des Kurses verstanden. Ich gehe mal davon aus, dass es soetwas fertig irgendwo im Internet gibt (habe mir JavaKara nicht angeschaut). Gruesse, TommyS
Martin M. schrieb: >..Als Programmiersprache hätte ich VB.net benutzt, das ist im Vergleich zu > C/C# relativ einfach... > > 6h sind natürlich ziemlich knapp bemessen um hier Grundlagen > rüberzubringen; Ziel des Kurses ist auch nicht daß sie programmieren > können, sondern eher daß das Interesse daran geweckt wird... > > Die Zielgruppe sind (Haupt)schüler zwischen 11 und 16 Jahren mit bisher > keinerlei Programmiererfahrung. > > Habt ihr eine Idee Na klar! Vorgaben: Hauptschüler + wenig Zeit + Showeffekte + Lust am Programmieren wecken? Lösung: Microsoft Small Basic! Warum? Eigens von MS an einen Entwickler als Projekt vergeben worden, um Programmieranfänger anzusprechen und Experimentierfreude zu wecken Vorteile: + Hat sehr wenige Befehlsworte (quasi spielerisch im nu zu lernen) + hat eine schön gestaltete simple IDE mit stylischer Intellisense :) + Syntax ist an Visual Basic angelehnt + kann Grafikausgaben UND Textausgaben quasi per 1-Befehlswort + führt Programme unmittelbar aus + kennt auch Turtle-Befehl + hochladen der Programme zur Veröffentlichung per 1-Button klick + vor allem toll, einfache Animation für Grafikobjekte (Showeffekt garantiert ;)) + Soundunterstützung + IDE, Hilfe und ein Lern-PDF ist in Deutsch (der Blog ist in englisch, aber die Programmbeispiele sind eigentlich meistens selbsterklärend) (vielleicht) Nachteile: braucht .NET Lies am besten erst mal kurz hier http://www.der-softwareentwickler-blog.de/2010/02/16/kinderleichtes-programmieren-mit-microsoft-small-basic/ hier mal ein Beispielprogramm (aus dem nachfolgenden Blog) http://smallbasic.com/program/?PVC930 mehr Beispiele http://blogs.msdn.com/b/smallbasic/ http://de.wikipedia.org/wiki/Small_Basic MS SmallBasic ist lange noch nicht perfekt bzw. noch verbesserungsfähig, aber auch so schon erstaunlich leistungsfähig durch sein Konzept. Ich glaube der Spass wird hier eher überwiegen, als die Gefahr von so einem Dialekt nachhaltig "versaut" zu werden. Goto gibt es übrigens auch. ;-) Schaust am besten mal ins PDF http://download.microsoft.com/download/9/2/1/921D10C7-75C0-4395-93AF-49A830F4780E/Small%20Basic%20Einfuehrung.pdf Viel Spass!
Ich weiß jetzt nicht, wie es bei euch mit Geld aussieht, aber ich hatte bei Kindern immer sehr großen Erfolg mit den Lego-Mindstorms. Deren "Programmiersprache" ist sehr leicht zu verstehen und wenn man das Programm auf die Geräte überträgt, sieht man auch mal etwas in der Realität herumfahren. Ich möchte es dir mal so sagen: Wenn ich als Programmierer mein erstes Programm schreibe und auf dem Bildschirm "Hello World" erscheint, dann freue ich mich. Bei Kindern und insb. bei Hauptschülern (die eh überwiegend auf Konsum aus sind) ist es etwas anderes. "Dann erscheint eben die "Hello World" Meldung auf dem Bildschirm.... Was habe ich davon?? Damit kann ich weder spielen noch irgendwas anderes lustiges machen!! Da gehe ich lieber zu facebook, wkw, xyz, bliblablubb und habe dort meinen Spaß."
Martin M. schrieb: > Als Programmiersprache hätte ich VB.net ..jo,damit kannst du sehr schnell eine gute Oberfläche basteln. Steuere ein PAAR Leds oder Motoren an. Das ist in .net in 6 STD zu schaffen. .Habe die Erfahrung gemacht das die Interesse größer und bleibender ist ,wenn der PC etwas externes steuert. Usb Adapter /Bitwackeln ist erst einmal sehr Preiswert,wenn auch nicht zeitgemäß. MfG
Also ich find man sollte sowas nur Schülern anbieten, die sich für sich aus dafür interessieren. Alles andere ist Perlen vor die Säue geworfen. Genau wie jeder Versuch damals bei mir das nicht vorhandene Interesse am Musikunterricht zu wecken. Bei Hauptschülern gibt das nur andere Effekte. Z.B. wenn die Rechner Rücken an Rücken in der Mitte des Raumes stehen... "Ey was ist das denn da für ein komischer roter Schalter an deinem PC...? Wozu ist der denn da?" **Kugelschreiber rauskram und damit dran rumpopel** **BRATZZZZZ!!** Das erschrockene Gesicht des (vielleicht sogar interessierten) Schülers auf der anderen Seite ist natürlich unbezahlbar.
Den Effekt wirst du bei so machen Hochschüler auch haben die teilweise zu blöde sind um aus den Bus zu Spuken. Geschweige denn, die Wurst aus der Pelle zu bekommen.
Zum Programmieren spaßig zeigen gibt es für C# (und ich glaube auch für vb.net) AntMe. Da programmiert man im Prinzip das Gehirn von Ameisen. Mit so befehlen wie GeheZu() und Nimm() und Bekämpfe() kann man dann vorgeben, wie die Ameisen sich verhalten und sie am Ende des Kurses sogar gegeneinander antreten lassen, um zu gucken, welches Volk am effektivsten arbeitet. Ich glaube, dass man Schüler mir so etwas recht gut motivieren kann... Hier nen wiki Artikel: http://de.wikipedia.org/wiki/AntMe! da ist auch der Link zu der Seite von MS.
Was mit JavaKara vorgeschlagen wurde hört sich sehr nach Logo an, eine Sprache die exakt für solche Aufgaben entwickelt wurde: http://en.wikipedia.org/wiki/Logo_%28programming_language%29 Ideen: * geometrische Grundobjekte erzeugen (Dreieck,...) * Parameterisiertes N-Eck zeichnen * rekursive Bäume mit variablen Parametern zeichnen (Öffnungswinkel, Verkürzung,...) Die Lernkurve nicht zu steil halten!
Juppi J. schrieb: > Habe die Erfahrung gemacht das die Interesse größer > und bleibender ist ,wenn der PC etwas externes steuert. Kann sein. Ich erinnere mich an den Unterricht als Schüler selbst an der FOS. 1994. Damals fing ich selbst mit dem ersten PC an, und war aber vorher schon Hobbybastler. Also schusterte ich mal 8 LEDs auf einem Stück Lochraster (etwa Streichholzschachtelgrundfläche) zusammen, völlig ohne sonstige Bauteile, außer den Vorwiderständen, machte die Verbindungen an einen Parallelport-Stecker, und programmierte auf dem simplen Basic, was damals noch im MS-DOS-Paket gratis mit dabei war, ein Lauflicht. Man hätte mit dem Basic und dem Parallelport auch eine etwas komplexere Steuerung hin bekommen. In der kommenden Unterrichtsstunde stürmten sofort beide Pauker auf mich zu, und rissen mir die popelige Bastelei aus der Hand. Unglaublich. Die simple Bastelei war auf einmal höchst interessant. Beides Elektroingenieure, und ich mußte für jeden eins nachbauen. Sie waren eher Sesselpupser-Typen, und hatten weder Lötkolben noch Bastelkram zu Hause.
Wilhelm Ferkes schrieb: > Parallelport-Stecker, und programmierte auf dem simplen Basic, was > > damals noch im MS-DOS-Paket gratis mit dabei war, ein Lauflicht. Man > > hätte mit dem Basic und dem Parallelport auch eine etwas komplexere > > Steuerung hin bekommen. QBasic ,damit mache ich mit alten Lappys noch ab und zu etwas. Auf einem 200MHz gehen die Programme ab wie eine Tüte voll Mücken.
Der Vollstaendigkeit halber und als Kontrast zu den bisher empfohlenen M$ (Visual) FooBar Umgebungen moechte ich noch Python nennen. Vorteile: - Die Kids lernen gleich eine richtige Programmiersprache - sie werden nicht auf eine OS-Plattform festnagelt - einfache und lesbare Syntax erleichtert das Erlernen - Fliessender Uebergang von einfachen Prozeduren zur Objektorientierung bis hin zur GUI-Programmierung - kann kostenneutral auf dem heimischen PC weitergefuehrt werden. Kinderbuecher fuer Python gibts beim Befragen der grossen Suchmaschine.
Python für Kinder. Manche leiden hier echt unter Realitätsferne.
Simon K. schrieb: > Python für Kinder. Manche leiden hier echt unter Realitätsferne. Findest du? Durch wegfall von erstmal verwirrenden {} und so ist python-Quelltext sehr angenehm lesbar. Auch dass python dem Anwender die Wahl des Programmierparadigmas überlässt, erleichtert den Einstieg. Nennenswerte Nachteile gegenüber *BASIC fallen mir 'grad nicht ein. In Welcher Programmiersprache geht schon
1 | >>> a = "ho" |
2 | >>> 3*a |
3 | 'hohoho' |
So wie ich das verstanden habe, geht es in dieser Anwendung nicht darum den Kindern eine Programmiersprache beizubringen, mit denen sie später (d.h. in 10 Jahren?) mal was anfangen könnten. Es geht darum den Kindern beizubringen, dass auch ein Computer nichts magisches ist und nur das tut, was man ihm sagt. Dafür braucht man keine full-blown Programmiersprache. Sondern eher das hier vorgeschlagene programmierbare Lego-System oder JavaKara oder JavaHamster oder sowas. Im Mathe-Unterricht baut man ja auch alles aufeinander auf. Da fängt man auch nicht direkt mit dem Integral an ;-) Das Eintauchen in eine komplette Programmiersprache verschlingt in erster Linie Zeit ohne Ende. Wir hatten damals in Assistenten-Ausbildung 3 Jahre lang programmieren in C++ und nachher .NET/C#. Wohlgemerkt 3 Jahre. Und selbst da hat man nur so einen kleinen Einblick gekriegt. Man sollte nicht vergessen, dass Kinder nur Kinder sind und keine Maschinen. Auch wenn es da gewissen amerikanische Bewegungen gibt, Kinder möglichst früh zu Models oder "Talenten" machen zu wollen.
Simon K. schrieb: > Das Eintauchen in eine komplette Programmiersprache verschlingt in > erster Linie Zeit ohne Ende. Wir hatten damals in Assistenten-Ausbildung > 3 Jahre lang programmieren in C++ und nachher .NET/C#. Wohlgemerkt 3 > Jahre. Und selbst da hat man nur so einen kleinen Einblick gekriegt. Darf ich dir mal da etwas zu sagen? Es ist wichtig Programmieren zu lernnen. Das bedeutet, dass man die logische Struktur versteht, mit der man mit dem Computer sprechen muss. Das macht man am einfachsten mit Hilfe einer leichten Programmiersprache. Bei mir war das QBasic (und später ASM). Aber das Wissen, das man erwirbt, ist unabhängig von der Programmiersprache. Deshalb ist mir die Programmiersprache relativ egal, wenn ich eine Software entwickeln soll. Es ist einfach nur die Syntax, die sich etwas ändert. In der "reellen" Welt geht es aber nicht darum, eine komplette Software von Anfang an zu schreiben, sondern Bibliotheken, Module, Funktionen so zusammenzustellen, dass alles funktioniert.
Dimitri Roschkowski schrieb: > Simon K. schrieb: >> Das Eintauchen in eine komplette Programmiersprache verschlingt in >> erster Linie Zeit ohne Ende. Wir hatten damals in Assistenten-Ausbildung >> 3 Jahre lang programmieren in C++ und nachher .NET/C#. Wohlgemerkt 3 >> Jahre. Und selbst da hat man nur so einen kleinen Einblick gekriegt. > > Es ist wichtig Programmieren zu lernnen. Das bedeutet, dass man die > logische Struktur versteht, mit der man mit dem Computer sprechen muss. > Das macht man am einfachsten mit Hilfe einer leichten > Programmiersprache. Bei mir war das QBasic (und später ASM). Aber das > Wissen, das man erwirbt, ist unabhängig von der Programmiersprache. > Deshalb ist mir die Programmiersprache relativ egal, wenn ich eine > Software entwickeln soll. Es ist einfach nur die Syntax, die sich etwas > ändert. Na das meine ich doch. Und deswegen fängt man als Kind, das noch nie etwas mit Programmieren am Hut hatte, eben nicht mit QBasic oder ASM an (um deine Beispiele zu nennen), sondern mit was viel Einfacherem (siehe oben, Java Hamster und Co). > In der "reellen" Welt geht es aber nicht darum, eine komplette Software > von Anfang an zu schreiben, sondern Bibliotheken, Module, Funktionen so > zusammenzustellen, dass alles funktioniert. Wobei das meiner Meinung nach eher wichtig ist, wenn man "richtig" programmieren will. Also damit Geld machen will bspw.
Simon K. schrieb: > sondern mit was viel Einfacherem (siehe > oben, Java Hamster und Co). Also ich habe mir grade das Video zu Scratch Hamster angesehen. Ich fand die Sprache extrem geil. http://www-is.informatik.uni-oldenburg.de/~dibo/hamster/videos/Scratch-Hamster/Scratch-Hamster.html Simon K. schrieb: > Wobei das meiner Meinung nach eher wichtig ist, wenn man "richtig" > programmieren will. Also damit Geld machen will bspw. Nee, nicht ganz. Als professioneller Coder habe ich eine gewisse Ausbildung in Mathematik, Physik, Elektrotechnik, Biologie und natürlich Informatik. Ich bin durchaus in der Lage alle möglichen Bibliotheken selbst zu programmieren. Jugendliche oder auch Erwachsene ohne akademischen Background haben dieses Wissen nicht. Diese Leute sind dann um so mehr auf Bibliotheken oder Module angewiesen, die sie als Black Box nutzen können.
Dimitri Roschkowski schrieb: > Simon K. schrieb: >> Wobei das meiner Meinung nach eher wichtig ist, wenn man "richtig" >> programmieren will. Also damit Geld machen will bspw. > > Nee, nicht ganz. Als professioneller Coder habe ich eine gewisse > Ausbildung in Mathematik, Physik, Elektrotechnik, Biologie und natürlich > Informatik. Ich bin durchaus in der Lage alle möglichen Bibliotheken > selbst zu programmieren. Jugendliche oder auch Erwachsene ohne > akademischen Background haben dieses Wissen nicht. Diese Leute sind dann > um so mehr auf Bibliotheken oder Module angewiesen, die sie als Black > Box nutzen können. Wir reden irgendwie aneinander vorbei. Dimitri Roschkowski schrieb: > In der "reellen" Welt geht es aber nicht darum, eine komplette Software > von Anfang an zu schreiben, sondern Bibliotheken, Module, Funktionen so > zusammenzustellen, dass alles funktioniert. Das hört sich für mich danach an, als müssten die Kinder schon lernen Module "zusammenzustellen" in Form von programmieren und darauf achten, dass der Sourcecode modular ist. Und das ist mMn. nicht das, wo mit man anfängt bei Kiddies (wenn man eben ernsthaft programmiert, dann schon, schrieb ich ja).
Mit 12 Jahren konnten die Kinder vor über 20 Jahren schon gut mit Basic umgehen. Man mußte natürlich etwas vorbereiten. Habe immer extern etwas angesteuert. Paar Relais TT-Kleinbahn und ein paar Lämpchen. Mit den 14/15 jährigen wurden schon 4094 und 4021 angesteuert. Heute würde ich VB.Net einsetzen. In der einfachsten Form geht es wie auf Basic Art. Blos mit ein wenig Vorbereitung können damit schon Kinder schöne Oberflächen basteln,welche im Hintergrund fast nichts machen brauchen.
Martin M. schrieb: > 6h sind natürlich ziemlich knapp bemessen um hier Grundlagen > rüberzubringen; Ziel des Kurses ist auch nicht daß sie programmieren > können, sondern eher daß das Interesse daran geweckt wird... > > Die Zielgruppe sind (Haupt)schüler zwischen 11 und 16 Jahren mit bisher > keinerlei Programmiererfahrung. Ich bewundere Deine Motivation. Aber erwarte nicht ernsthaft, dass da irgendwas haengen bleiben wird. Das einzige, was Du tun kannst, sind Quellen anzugeben, die sich jeder mit ernsthaften Interesse selber ergoogeln kann. Wenn Du es schaffst, ihnen ein Hello-World in C (nicht C#, dazwischen liegen Welten) so zu erklaeren dass sie es verstanden haben und vielleicht selber eingeben, uebersetzen und ausfuehren koennen und dann vielleicht noch ein paar einfache Modifikationen, vielleicht eine oder zwei ausgewaehlte Kontrollstrukturen... mehr is da nich drinnen. Greets, Michael
Die Kinder brauchen am Anfang nicht zu verstehen. Wenn sie wissen "die Zeile schreiben" und dann zieht ein Relais an und die Bahn fährt,oder es blinkt. Das reicht erst einmal. 15 Jahre mit Soz.schwachen Kindern(vielleicht Eltern) reicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.