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



  • zum glück gibt es ja auch privatschulen, da schick ich dann meine kinder hin. muss zwar noch bischen malochen, dass ich mir das leisten kann, ists mir aber auf jeden fall wert, wenn diese komischen ansichten umgesetzt werden. 👎



  • Mechanics schrieb:

    Ich war auf einem Gymnasium und teile deine Meinung nicht.

    Und wieso nicht? Nenn doch mal ein paar Dinge aus dem Allgemeinwissen, die man in der Schule lernt. Und nenn ein paar, die nicht dazu gehören (oder stimmst du vielleicht mit meiner Aufzählung überein?). Ich kann mit deinem Argument ansonsten nicht so viel anfangen. Du findest diverse ungenannte Dinge halt doch interessant, wichtig oder zumindest nicht so verkehrt, naja. Darum ging es nicht, ob die wichtig sind, sondern ob man das im späteren Leben braucht.

    Brauchen tut man sowas wie Schuhezubinden und Überweisungen aufgeben. Es ist aber nur zu einem kleinen Teil Aufgabe der Schule, einem sowas beizubringen, der Rest läuft unter "Bildung". So wie später nur wenige wissen müssen, wie Redoxreaktionen funktionieren, müssen auch nur wenige programmieren. Aber es gehört zur Bildung, dass man sich damit mal beschäftigt hat.



  • 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.


Anmelden zum Antworten