Programmiersprachen für die Schule: welche scheinen am sinnvollsten?
-
oO schrieb:
[quote="Mechanics"also ich fand es immer cool! ich weiß ja nicht was ihr da gemacht habt als ihr die aufgaben fertig hattet, oder wart ihr doch noch zu schlecht und habt ewig gebraucht
Welche Aufgaben? Das war genauso Unterricht wie alles andere. Der Lehrer stand an der Tafel hat versucht, 30 Leuten, denen es komplett am Arsch vorbeiging, sowas abstraktes und uninteressantes wie if beizubringen. Ab und zu hatte man halt die Gelegenheit, was am Rechner im Computerraum auszuprobieren, wollte aber keiner machen, weil kein Mensch sich die konkrete Syntax merken wollte. Am Ende gabs dann eine Schulaufgabe, da musste man schriftlich eine triviale Aufgabe lösen. Hat fast schon Pseudocode gereicht, weil eh schon klar war, dass man nicht erwarten konnte, dass irgendjemand ein kompilierbares Pascal Programm hinschreiben könnte.
oO schrieb:
ja mei, sowas denkt sich ein zwei zentner typ sicher auch über den sportunterricht
Ja, aber Sport seh ich ein. Das ist einfach wichtig für die Gesundheit und die Kinder von heute muss man ab und zu auch zwingen, sich ein bisschen zu bewegen.
Programmieren ist hingegen sehr speziell und das wird nach der Schule fast niemand brauchen. Von den 120 Schülern in der Kollegstufe haben 5 ein Informatikstudium angefangen, davon 2 wieder abgebrochen. Alle anderen, die BWL, Germanistik, Geschichte usw. studieren, brauchen das überhaupt nicht und wollen das auch überhaupt nicht. Die paar Physiker und Mathematiker würdens noch brauchen, waren aber auch ganz ganz wenige. Die Schule ist dazu da, Allgemeinwissen zu verbreiten, und die Schüler auf spätere Leben/Studium vorzubereiten. Irgendwelche Spezialkenntnisse, die danach 1% brauchen wird haben da nichts verloren.
-
Mechanics schrieb:
Die Schule ist dazu da, Allgemeinwissen zu verbreiten, und die Schüler auf spätere Leben/Studium vorzubereiten.
Die Hauptschule vielleicht. Ich weiß nicht, auf was für einer Schule du warst, aber den überwältigenden Teil der Inhalte eines Gymnasiums braucht man niemals wieder. Binomische Formeln, ideale Gase, Passatwinde, das braucht doch höchstens 1%. Sogar das meiste, was man in Deutsch oder Geschichte macht, braucht man nicht (expressionistische Gedichte interpretieren, ich lach mich tot.)
Naja, oder die Schule ist halt doch nicht so ein direktes Vermittlungsorgan für alltagstaugliche Fertigkeiten, wie du meinst.
-
Ich war auf einem Gymnasium und teile deine Meinung nicht. Natürlich ist die konkrete Umsetzung des Konzepts Schule meist ziemlich suboptimal, und man lernt vieles, was zu speziell ist, oder was man später nicht braucht. Aber so krass ist es jetzt nicht. Vieles davon sind einfach Grundlagen, die man später durchaus auch braucht. Außerdem will nicht jeder irgendwann einfach zu einem Fachidioten werden. Geschichte und Geographie find ich sehr interessant und wichtig, auch wenn die konkreten Themen in Geschichte mich ab und zu nicht interessiert haben und für meinen Geschmack dann viel zu detailliert waren. Auch das Analysieren von Texten in Deutsch fand ich nicht so verkehrt. Daraus kann man durchaus was lernen.
Programmiren an sich ist hingegen nichts, was zum Allgemeinwissen gehört. Da könnte man genauso gut eine halbe Ausbildung zum KFZ Mechaniker in die Schule integrieren. Paar werden sich begeistert sein, die meisten werden sich nur Fragen, was der Scheiß soll. Und wenn man schon so etwas wie "Informatik" oder "Computergrundlagen" in der Schule macht, dann bitte ohne eine konkrete Programmiersprache oder zumindest nicht als zentrales Thema. Weil allein schon die Syntax und die konkrete Formulierung von Programmen werden die meisten abschrecken und das Wesentliche verdrängen.
-
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.400Wieviele 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ß.
-
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 lesenUnd 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.