Programmiersprachen für die Schule: welche scheinen am sinnvollsten?
-
Hier kann man sich natürlich trefflich drüber streiten, aber was ginge gut?
Meine Top-Kanditaten wären Basic ...und dann Assembler...und dann lange erstmal nix. Dann C/Lua dann Java dann C++.
Kinder könnten auch mit C++ oder Haskell anfangen, das setzt aber 1. sehr gute Lehrer voraus, und die gibt es nicht an jeder Straßenecke. Das heißt die Gefahr bestünde, gute Sprachen bei schlechten Lehrern vermurkst zu hassen lernen - und zweitens: Außerdem hätte Haskell einen ziemlich langen Vorlauf, vor allem wenn man ohne wirkliche Didaktik daran herangeht.
Java dagegen hat den Vorteil, dass es Entwicklungstools für Mobilgeräte gibt und man gleich damit sein Handy oder sonstwat damit programmieren kann.
Haskell hätte den Vorteil mathematischer Vertiefung (und Unterwanderung), sicherlich auch nicht zu verachten.Den Unabhängigkeitsbonus haben eher c und c++. Man bekommt einheitliche und (fast) verläßliche Compiler für fast alle Plattformen, und auch recht standardisierte Erweiterungsbibs (Glut etc).
Wäre aus dieser Sicht ein Einstieg in der Schule mit
Helmut Erlenkötter
C: Programmieren von Anfang an
sinnvoll?
-
Da in der Schule nicht viel Zeit zur Verfügung steht und viele Schüler vermutlich auch kein besonderes Interesse am Programmieren haben, würde ich eine Sprache nehmen mit der die Schüler schnell Erfolge feiern können und bei der sie sich mit der inneren Funktionsweise eines Computers bzw. eines Programms nicht weiter beschäftigen müssen.
Also irgendetwas dynamisch typisiertes (statisch typisierte Sprachen erfordern zu viel Verständnis für die meisten Schüler) wie z.B. Python oder Ruby.
Die Punkte, die du aufgezählt hast halte ich für komplett unsinnig. Was interessiert sich ein Schüler für Plattformunabhängigkeit, die Möglichkeit für Mobilgeräte zu entwickeln (sofern das nicht das Lehrziel des Schulunterrichts ist) oder überhaupt wie man mit Compiler oder Tools einer Sprache umgehen muss? Haskell könnte man gerade noch verwenden wenn man es nur (und nur) für mathematische Berechnungen nutzt, deren Ergebnisse am besten auch noch automatisch getestet werden. Selbst einfachsten IO-Handling ist in Haskell schon viel zu schwer zu verstehen und deswegen für den Schulunterricht ungeeignet.
-
Ich würde C nehmen, einfach weil man darüber auch ein bisschen auf die Funktionsweise eines Computers eingehen kann. Das dürfte auch Schüler interessieren, die am eigentlichen Programmieren weniger interesse haben, wenn es interessant gemacht ist.
-
BASIC und dann gleich Assembler halte ich für ganz gut.
Wobei ich mit BASIC sowas wie GFA BASIC oder QBasic meine. Auf jeden Fall NICHT Visual Basic - mit oder ohne Zusätze (for Applications, .NET).Dann sollte man halbwegs für andere Sprachen gerüstet sein. Zumindest imperative -- wo (wann) man funktionale Sprachen am besten unterbringt: keine Ahnung.
Was ich nicht unbedingt gut finden würde ist C vor C++ zu unterrichten. Ich denke damit macht man sich mehr kaputt als es nutzt. Ich sehe auch den Nutzen nicht. Wenn die Kids eh schon halbwegs Assembler können, dann laufen sie auch nicht Gefahr den Bezug zum "Metall" nicht herstellen zu können (was ein Punkt ist wo ich bei Leuten die ohne jegliche Vorkenntnisse C++ lernen doch sehr skeptisch bin).
-
Was für ein Alter? Welche Schule?
Je nach dem könnte es auch was sein, wo man schnell was buntes zusammenbauen kann. Ich glaub nur Konsole ist sehr langweilig.
-
Im Info-Grundkurs, Oberstufe, waren 90% der Leute schon mit Pascal völlig überfordert. Die wenigen, die Interesse dran hatten, konnten sowieso schon ein wenig programmieren und haben sich in ihrer Freizeit z.B. mit C++ beschäftigt.
Bin der Meinung, dass Programmieren in der Schule eigentlich verschwendete Zeit ist. Höchstens in einem Info-Leistungskurs, bei 5 Stunden die Woche könnte man schon etwas lernen.
-
µ schrieb:
Bin der Meinung, dass Programmieren in der Schule eigentlich verschwendete Zeit ist. Höchstens in einem Info-Leistungskurs, bei 5 Stunden die Woche könnte man schon etwas lernen.
das ist imho die falsche sichtweise. natürlich wird man mit ein paar std. die woche kein profi, aber vllt. weckt man dadurch interesse und begeistert für eine ausbildung in dem bereich. schule dient doch nicht nur zum lernen, sondern auch um die stärken und schwächen - von den sie selbst vllt. noch gar nichts wissen - der schüler auszuloten und ggf. zu fördern
@edit: als sprache sollte man dementsprechend etwas nehmen, wo ihnen nicht gleich die lust vergeht
-
Wir hatten damals in dem Oberstufen Informatik-Grundkurs (LK gab es damals leider noch nicht) ELAN als Einstiegssprache.
-
hustbaer schrieb:
BASIC und dann gleich Assembler halte ich für ganz gut.
+1
Wobei halt die Frage ist, was für Assembler es sein soll. Richtiges x86 Assembler hat imo zuviel Noise, ich würde micht wohl in Richtung irgendwelcher abstrakteren VMs umsehen, vielleicht LLVM Assembly?
Abgesehen davon ist Scratch vielleicht auch erwähnenswert, wobei ich persönlich etwas handfesterem, wie eben z.B. Assembler, eher angetan wäre...
-
dot schrieb:
hustbaer schrieb:
BASIC und dann gleich Assembler halte ich für ganz gut.
+1
Ja, in Sachen Basic gibt es schöne Sachen für Einsteiger. Sogar MS hat da jetzt einen kleinen Bruder für VB:
http://smallbasic.com/dot schrieb:
Wobei halt die Frage ist, was für Assembler es sein soll. Richtiges x86 Assembler hat imo zuviel Noise, ich würde micht wohl in Richtung irgendwelcher abstrakteren VMs umsehen, vielleicht LLVM Assembly?
Oder etwas mit Mikrocontrollern, da kann man einfach in Richtung simpler Roboter weitergehen. Wenn sich etwas bewegt oder auf etwas reagiert, spricht das viel mehr Leute an.
-
nn schrieb:
Oder etwas mit Mikrocontrollern, da kann man einfach in Richtung simpler Roboter weitergehen. Wenn sich etwas bewegt oder auf etwas reagiert, spricht das viel mehr Leute an.
Die Microcontroller sind es für die Schule sicher nicht! Die Kiddies haben im Kinderzimmer einen Computer mit Internet und möchten sowas auch machen, was sie dort sehen. Der Einstieg muss schnell gehen und auch sofort Erfolgserlebnisse liefern oder bei vielen geht das Interesse verloren.
Ich meine: man könnte durchaus eine OOP-Sprache wie C++ wählen. Dafür braucht es aber gutes Lernmaterial und Lehrer, die das selbst verstehen.
-
berniebutt schrieb:
Ich meine: man könnte durchaus eine OOP-Sprache wie C++ wählen. Dafür braucht es aber gutes Lernmaterial und Lehrer, die das selbst verstehen.
c++ in der schule finde ich bischen gewagt...
-
nachtfeuer schrieb:
Hier kann man sich natürlich trefflich drüber streiten, aber was ginge gut?
Meine Top-Kanditaten wären Basic ...und dann Assembler...und dann lange erstmal nix. Dann C/Lua dann Java dann C++.
Finde ich eine sehr schlechte Wahl.
Die Schule soll Konzepte lehren und keine bestimmten Tools.Python wuerde ich zB empfehlen. Oder eine spezielle Schulungssprache wie zB Logo.
Wichtig ist, dass man den Leuten programmieren beibringt und nicht ein bestimmtes Tool.
-
Wir hatten in der Schule mal kurz "Programmieren", in der neunten oder zehnten Klasse. Das war Pascal und hat niemanden interessiert, bis auf 2 Leute, die sich eh dafür interessiert haben, mich eingeschloßen, aber der Unterricht an sich hat uns auch nicht interessiert, wir hatten das nicht nötig, hat eigentlich nur genervt, irgenwelche Grundlagen nochmal falsch erklärt zu bekommen. Ich sehe eigentlich überhaupt keinen Sinn, in der Schule programmieren zu lernen. Wenn es jemanden interessiert, wird er es sich selber anschauen. 90% der anderen kann es nicht interessieren. Die meisten waren mit sowas wie Schleifen, Variablendeklarationen und Verzweigungen überfordert, haben überhaupt nicht eingesehen, sich soetwas anzutun, und alle waren eigentlich nur genervt.
-
Mechanics schrieb:
...der Unterricht an sich hat uns auch nicht interessiert, wir hatten das nicht nötig, hat eigentlich nur genervt, irgenwelche Grundlagen nochmal falsch erklärt zu bekommen.
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
Mechanics schrieb:
Ich sehe eigentlich überhaupt keinen Sinn, in der Schule programmieren zu lernen. Wenn es jemanden interessiert, wird er es sich selber anschauen. 90% der anderen kann es nicht interessieren. Die meisten waren mit sowas wie Schleifen, Variablendeklarationen und Verzweigungen überfordert, haben überhaupt nicht eingesehen, sich soetwas anzutun, und alle waren eigentlich nur genervt.
ja mei, sowas denkt sich ein zwei zentner typ sicher auch über den sportunterricht
-
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.