Programmiersprachen für die Schule: welche scheinen am sinnvollsten?



  • Ich bin auch für Python. Die nicht so talentierten können die ganze Zeit die Turtle rumfahren lassen, und die, die mehr Spaß dran haben, können mit PyGame am Ende vielleicht sogar schon etwas produzieren, dass sie dann auch stolz zeigen können.



  • In der Oberstufe bei mir ausschließlich Java, ist vom Lehrplan so vorgegeben.

    Binomische Formeln

    Der Rest ok, aber das ist doch wohl nicht dein Ernst, oder?
    So ungefähr alle, die später irgendwas mit Mathematik zu tun haben wollen, brauchen solche primitiven Grundlagen!



  • Sone schrieb:

    Binomische Formeln

    Der Rest ok, aber das ist doch wohl nicht dein Ernst, oder?
    So ungefähr alle, die später irgendwas mit Mathematik zu tun haben wollen, brauchen solche primitiven Grundlagen!

    Also ca. 1%. Außerdem ist das so einfach, das können die ja dann bei Wikipedia nachlesen, wenn sie es brauchen.



  • Wenn es um Schule geht, dann muss man einfach beachten, dass sich ein großer Teil der Schüler nicht für das Thema interessiert oder nicht schlau genug ist. Daher sollte man keine Sprache nehmen, die zu formal ist und mit der man lange braucht etwas zu erreichen. C, C++, Java, Assembler, etc. fallen da schon einmal weg. Sicher wird es Schüler geben, die sich für Interna des Computers interessieren oder schon Programmiererfahrung haben und daher mit C, C++ oder Assembler kein Problem haben. Aber auf die Mehrheit wird das nicht zutreffen. Also sollte man lieber irgend was simples nehmen, mit dem man schnell was kleines grafisches machen kann (zB Turtle). Gute Einstiegssprachen sind daher sicher Python, Lua, oder Scheme (Racket). Man findet zahlreiche Tutorials, Bücher und Dokumentationen dazu. Es gibt Implementierungen für alle üblichen Systeme. Man wird nicht zu sehr verhunzt und kann relativ viel damit machen.

    Aber heutzutage macht man doch wirkliche kein BASIC mehr. Wer das noch vorschlägt, der ist einfach spätestens in den 1990ern hängen geblieben. Früher war es vielleicht akzeptabel, weil einfach jeder irgend wie Zugang zu QBASIC hatte. Aber BASIC hat einfach zu viele Merkwürdigkeiten oder wir Dijkstra schon gesagt hat "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."



  • mein erster lerncomputer - mit einem zwei zeilen display - konnte neben so komischen hangman nur basic 😞



  • So, dann moechte ich auch mal meinen Senf dazugeben.

    Zuerst sei einmal gesagt, dass ich hier auf eine Schule fuer Informationstechnologie gehe, ab dem dritten Jahrgang Zweig Netzwerktechnik.

    Was binomische Formeln angeht: Mag sein, dass man die nicht braucht. Aber man sollte wissen, wie man sie sich ueber das Pascal'sche Dreieck ausrechnen kann. Und genau DAS haben wir nie gelernt. Stattdessen mussten wir die binomischen Formeln bis ^4 auswendig lernen.

    Was das Programmieren angeht: Bei uns steht ebenfalls Java auf dem Lehrplan. Im ersten Jahr haben wir mit Processing angefangen, damit ist es sehr einfach, etwas grafischez zu erreichen. Ab dem zweiten Jahr haben wir dann "richtiges" Java in einer IDE (Eclipse) gemacht.

    Meine Erfahrung: Die Leute (inkl. mir) interessiert beides nicht. Im dritten Jahr wussten sie dann endlich die Syntax von if und Schleifen, jetzt im virten Jahr kann man schon Methoden schreiben. Mehrere Klassen erzeugen immer noch Ueberforderung. Der Notendurchschnitt liegt gefuehlt bei 4, vermutlich etwas besser. (Noten: 1-5, 1 = beste, 5 = schlechteste)

    Im Allgemeinen kann man also sagen, die Leute sind mit Java ueberfordert. Ich weiss nicht, ob das an Java liegt, ob die Lehrer versagt haben, oder ob die Leute einfach nur nicht ihren Arsch hochkriegen und sich mal hinsetzen um zu lernen. Ich muss jedenfalls das Ganze ausbaden, weil ich dauernd angebettelt werde, anderer Leute Tests zu schreiben.



  • Sone schrieb:

    Der Rest ok, aber das ist doch wohl nicht dein Ernst, oder?
    So ungefähr alle, die später irgendwas mit Mathematik zu tun haben wollen, brauchen solche primitiven Grundlagen!

    Ich würde mittlerweile drauf wetten das von den Leuten die jetzt zur Schule gehen später im Leben mehr mit irgendwelchen Programmieraufgaben ihre Brötchen verdienen werden als mit Mathematik.

    Nichts gegen Mathematiker, einer meiner besten Freunde ist einer (und arbeitet jetzt als unterbezahlter Sysadmin), aber wenn man von der These ausgeht das Schule aufs Leben vorbereiten soll, dann gehören Grundlagen der Programmierung da eher rein als höhere Mathematik.



  • loks schrieb:

    Ich würde mittlerweile drauf wetten das von den Leuten die jetzt zur Schule gehen später im Leben mehr mit irgendwelchen Programmieraufgaben ihre Brötchen verdienen werden als mit Mathematik.

    Es verdienen vermutlich auch mehr Leute mit Brötchenbacken ihre Brötchen als mit Mathematik direkt. Trotzdem muss das Bäckerhandwerk nicht in der Schule gelehrt werden.
    Indirekt brauchen aber Programmierer, BWLer und viele andere Leute Mathematik bzw. Denkmuster, die durch Mathematik gut vermittelt werden können.



  • Dobi schrieb:

    loks schrieb:

    Ich würde mittlerweile drauf wetten das von den Leuten die jetzt zur Schule gehen später im Leben mehr mit irgendwelchen Programmieraufgaben ihre Brötchen verdienen werden als mit Mathematik.

    Es verdienen vermutlich auch mehr Leute mit Brötchenbacken ihre Brötchen als mit Mathematik direkt. Trotzdem muss das Bäckerhandwerk nicht in der Schule gelehrt werden.
    Indirekt brauchen aber Programmierer, BWLer und viele andere Leute Mathematik bzw. Denkmuster, die durch Mathematik gut vermittelt werden können.

    Wir hatten Hauswirtschaft.

    http://www.baeckerhandwerk.de/baeckerhandwerk/zahlen-fakten/
    Bäckerhandwerk in Deutschland: Beschäftigte 292.400

    Wieviele Informatiker/Programmierer gibt es eigentlich? Da finde ich keine so tolle Seite. Wieso können Bäcker besser Informationen ins Netz stellen, als Informatiker?



  • Java ist die offizielle Leersprache an Universitäten.



  • pypy schrieb:

    Leersprache

    Besser hätte ich es nicht zusammenfassen können. 😃 👍 Ich würde allerdings empfehlen mit einer Vollbitsprache anzufangen, sonst werden das noch Müslifresser.



  • Also ich lerne in der Schule im Info GK Java und ich weiss nichts obs an Java oder am Lehrer oder an meinen Mitschülern liegt, aber irgendwie wird das nicht so richtig was. (Vielleicht liegt es ja doch am Lehrer; der ist jetzt nicht so das Genie)

    Da gibt es die eine Gruppe die mit dem, was wir programmieren nennen überhaupt kein Problem hat und sich zu Tode langweilig, während die andere Gruppe komplett verzweifelt und in 2.5 Jahren nichtmal gelernt hat, was eine Funktion macht.

    Etwas einfaches, grafisches ist vielleicht am besten. (Wir haben damals mit so nem Greenfoot-Ding und Wombats angefangen. Das Problem war denke ich, dass man einfach ein fertiges Projekt gekriegt hat und man direkt mit abschreiben/kopieren angefangen hat. Python oder so wäre ganz gut.)

    Bitte zwingt nicht noch mehr Leute Java zu lernen. 👍



  • Python, alles andere wäre Murks. C++ ist zu kompliziert. Java auch, und zudem meiner Meinung nach im Begriff zu sterben. Ruby? IMHO nicht bekannte genug. Python ist leicht zu erlernen, man kann schnell Erfolgen feiern, es hat eine riesige Sammlung an Libraries die einfach funktionieren, und man setzt es zunehmend als Glue-Language ein. Letzteres ist wichtig, weil sie früher oder später aus diesem Grund eh mit C++ o.ä. in Berührung kommen können, wenn sie den Python-Kurs gut finden und motiviert an der Sache dran bleiben.



  • am sinnvollsten zu lernen sind wohl paradigmenreine (hä?) Sprachen. Welche das sind, dürfte bekannt sein.

    für den Anfang halte ich aber auch python für einen guten Kompromiß.


  • Mod

    Nein, python finde ich ziemlich ungeeignet.

    BASIC war ja früher fast Allgemeinsprache
    (IF youmüde THEN GOTO Heia)
    Und so mußte man wenig dazulernen und konnte sich mehr auf Algos oder Mathematik selber statt auf die Sprachfeinheiten (oder gar UML und so Zeug) konzentrieren.
    Das empfinde ich BASIC im Rückblick als viel höherentwickelte Programmiersprachkultur. Basic war zwar (als Interpreter) langsam, und hatte andere Macken, aber Basic war für Schulen frei und ist charmant einfach. Compiliert und Assemblergetunt sieht das ganze natürlich etwas anders aus, aber das vergessen die meisten. Direkt am anderen Ende steht JAVA als die schlechteste Programmiersprache überhaupt, gewissermaßen das untere Ende der Programmierkultur. Eine Art Ungut der Programmiersprachenentwicklung.

    Dazwischen steht C. C ist einfach, kann man aber sehr kompliziert machen. Das macht nichts, mit einem guten Plan geht man einfach Schritt für Schritt (in der Schule) vorwärts, und gut is.
    Aber C muß nicht im Vordergrund stehen, man könnte vertiefende Mathematik machen, Algorithmen oder verschlüsselte Botschaften mit C knacken, das dürfte schon mehr Freunde finden.

    Was Dijkstra über Basic (und Fortran) zu sagen hatte, hatte wohl mit seiner allgemeinen Abneigung gegenüber Hardwareentwicklungen (oder sonst allem möglichen?) zu tun?
    http://www.cs.virginia.edu/~cs655/readings/ewd498.html
    reflektierend aber auch
    http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html lesen 😉

    Und python? Wäre ich Lehrer, ich würde meinen SchülerInnen im Unterricht und auch generell schlichtweg verbieten, auch nur irgendwas mit python zu machen.



  • Interessant, dass du eine Metrik hast, in der du C zwischen Basic und Java ansiedelst. Ich würd mich eher gruseln, wenn meine Anfänger-Schüler sich mit null-terminatoren und co. runschlagen müssten, bevor sie das erste Erfolgserlebnis haben. Für mich selbst wär das vermutlich OK gewesen, aber ich hab das Gefühl, dass das für den Durchschnitt auf einer normalen weiterführenden Schule nix ist. In einer Ausbildung zum IT-Menschen wär das vielleicht was anderes.
    Achja, was hast du gegen Python? Da kann man doch genauso schön einfache Sachen wie in Basic machen, nur später wenn man besser ist dazu noch tolle Dinge mit modernen Sprachmitteln schreiben.



  • m.E. kommt es in der schule gar nicht so sehr auf die programmiersprache an, sondern darauf, dass der/die lehrende die gewählte sprache beherrscht und didaktisch nach dem jeweils zu unterrichtenden themenbereich aufbereitet hat und natürlich bezüglich der jeweiligen klasse, die da gerade unterrichtet wird... grundkurs, leistungskurs...

    typischerweise werden im informatik lehrplan ja theoretische inhalte vermittelt und programmierung dient nur als untermalung der inhalte.

    hier rede ich natürlich von haupt/real/gesamtschule oder gymnasium, jegliche berufsschulen haben natürlich andere ausrichtungen.

    der fachinformatiker/anwendungsentwicklung sollte beispielsweise in einer berufsschule mehrere programmiersprachen (ausgerichtet auf unterschiedliche programmierparadigmen) unterrichtet bekommen.



  • Scheme oder Racket.



  • nachtfeuer schrieb:

    Das empfinde ich BASIC im Rückblick als viel höherentwickelte Programmiersprachkultur.

    Was siehst du an Basic gut an?

    Die Sprache ist zusammen geschustert...

    Warum ich Python empfehle ist, weil man den Code korrekt einrücken muss. Das ist IMHO das Nummer 1 Problem von Anfängern -> die unstrukturiertheit des Codes.

    Und ich würde Anfängern nur Sprachen mit starker Typisierung empfehlen.



  • Programmieren gehört nicht in die Schule !

    Mir hat es zwar immer Spass gemacht aber 98% der Leute fanden es nur lässtig und haben es auch nicht geregelt bekommen.

    Das was die Leute gelernt haben vergessen die sowieso wieder nach ein paar Tagen. Ich mein da sieht doch keiner irgendein Sinn drin bist auf ein paar interessierte Leute.

    Das sollte meiner Meinung nach raus ausm Lehrplan:

    - Religion (Ok, war immer nice zum Chillen man musste nix machen.^^)

    - Sport (Fand ich immer langweillig ich hab kb auf Fussball etc. hätte der Lehrer dort eine Half Pipe oder eine gescheite Fun Box hingestellt hätte ich Spaß am Sport Unterricht gehabt. Da hätte ich dann auch mein eigenes Skateboard mit gebracht und hätte mich nicht mit den billig Sport Untensilien der Schule rumgeärgert.)

    - Programmieren (Brauchen die meisten eh nie wieder, die meisten kapieren es nicht(Meiner Meinung nach kapieren die es nicht weil das desinterese so extrem hoch ist bei dem Fach naja und die Lehrer sind auch meistens nicht so die Helden. Ist halt ein Unterschied ob da einer wie Bjarne Stroustroup steht oder irgendsoeine Flitzpiepe die vor 10 Jahren irgendwann mal Programmiert hat und sich Privat nicht damit auseinander setzt. Die Flitzpiepe bereitet einmal Schulungsunterlagen vor und erzählt die dann x Jahre runter egal ob der Kram veraltet ist oder nicht. )


Anmelden zum Antworten