Programmiersprachen für die Schule: welche scheinen am sinnvollsten?
-
Java ist meiner Meinung nach keine Option. Es kommt einfach mit zu viel Boilerplate daher. Die Entwicklungsumgebungen sind außerdem groß und kompliziert. Unis scheinen ja mittlerweile von Java eher wegzugehen. Das war halt eher ein Trend aus den 90ern und ich glaube die Bezeichnung von Java als neues COBOL trifft durchaus zu. Ich denke mit einer Sprache wie Python, Lua, oder Scheme (Racket) hat man einfach als Schüler mehr Spaß. Ein paar Zeilen reichen und man kann zB einfach mit Turtle etwas interessantes machen. Das ist viel motivierender als sich durch den ganzen Java Boilerplate zu arbeiten.
Und die Sprachen kommen auch in realen Projekten zum Einsatz.
-
Zeus schrieb:
Michamab schrieb:
Ein weiterer Vorzug wäre, dass viele Lehrer wohl aus der Uni mit Java vertraut sein dürften, im Gegensatz zu den meisten anderen Sprachen.
IHMO weder den Stoff, den Sie unterrichten werden, werden sie an der Uni durchnehmen noch werden Sie, Programmieren in ihren Studiumgang durchnehmen, außer Sie haben ingeneurmäßige Nebenfächer.
Sicherlich lernt man in der Uni nicht "Programmieren", aber sofern man es sich nicht andersweitig aneigenet, kommt man halt nur mit den Sprachen in Berührung, die für Übungsblätter und Projekte gefordert werden. Und da ist Java halt nach wie vor sehr populär, weshalb viele Studenten halt zumindestens ein bisschen damit in Berührung kommen. Angehende Lehrer machen in der Regel ja kein richtiges Informatikstudium durch, sondern haben auch noch ein Zweitfach und diverse Didaktikveranstaltungen. Deshalb würde ich halt schon sagen, dass die Kenntnisse in Java im Vergleich zu anderen Sprachen bei Lehramtsabsolventen größer sind.
Außerdem würde ich schon sagen, dass der Stoff, den sie später unterrichten werden, ihnen in der Uni vermittelt wird. Natürlich auf einem völlig anderen Niveau und weit darüber hinausgehend. Z.B. simple Algorithmik (Sortieren, Suchen, Rekursion), ein bisschen theoretische Informatik (im Info-LK an meiner alten Schule wurden glaube ich Automaten behandelt), relationale Algebra (Datenbanken), usw. Meines Wissens nach gibt es dann auch noch spezielle Info-Didaktikvorlesungen, wo dann auch so simple Einsteigerbeispiele (Türme von Hanoi usw.) durchgenommen werden.
rüdiger schrieb:
Java ist meiner Meinung nach keine Option. Es kommt einfach mit zu viel Boilerplate daher. Die Entwicklungsumgebungen sind außerdem groß und kompliziert. Unis scheinen ja mittlerweile von Java eher wegzugehen. Das war halt eher ein Trend aus den 90ern und ich glaube die Bezeichnung von Java als neues COBOL trifft durchaus zu. Ich denke mit einer Sprache wie Python, Lua, oder Scheme (Racket) hat man einfach als Schüler mehr Spaß. Ein paar Zeilen reichen und man kann zB einfach mit Turtle etwas interessantes machen. Das ist viel motivierender als sich durch den ganzen Java Boilerplate zu arbeiten.
Und die Sprachen kommen auch in realen Projekten zum Einsatz.
Naja, ich würde in der Schule sowieso keine IDE nehmen, höchstens nen besseren Editor mit nem Button für Kompilieren und Ausführen. Und mir ging es explizit nicht um Java als solches, sondern um die Merkmale von Java (Scala fände ich an dieser Stelle zum Beispiel auch gut). Schwach-typisierte Skriptsprachen fallen für mich einfach raus, da fehlt mir einfach die Vermittlung davon, was so eine Variable überhaupt ist. Rein funktionale Programmiersprachen sehe ich an dieser Stelle auch kritisch. Wichtig wäre mit wie gesagt OO, das als Konzept im Unterricht zu unterschlagen fände ich schon fatal.
-
Woll'n wir `ne E-Petition erstellen?
-
Man lernt durchaus an der Uni programmieren.
-
Sone schrieb:
Woll'n wir `ne E-Petition erstellen?
Den Verbot in Informatik an der Schule zu unterrichten, Immer.
-
Michamab schrieb:
Wichtig wäre mit wie gesagt OO, das als Konzept im Unterricht zu unterschlagen fände ich schon fatal.
Ich nicht, denn OO wird erst bei Großprojekten unvermeidlich und so etwas wird keiner der Schüler in seinem Leben nach der Schule programmieren, er sei denn er bildet sich spezialisierend weiter (also Info-studium & Co), aber da lernt er dann OO sowieso.
Es genügt völlig, wenn die Schüler lernen rein prozedural zu programmieren.
Denn Programme die größer als 2000 Zeilen sind, wird von denen später sowieso keiner Programmieren und damit ist OO unnötig.C bietet hier also alles was nötig ist.
Genaugenommen wäre C sogar ideal, wenn man berücksichtigt, das einige der Schüler vielleicht mal ihre Modelleisenbahn über die parallele Schnittstelle oder einem µC ansteuern wollen. Für letzteres ist C ja super geeignet,
OO braucht man erst in der professionellen Softwareentwicklung.
-
Nur ist C ungeeignet um damit Programmieren zu lernen, weil es unmoeglich fuer einen Anfaenger ist einen Segfault zu debuggen. Und in C hat man Segfaults.
-
Zeus schrieb:
Sone schrieb:
Woll'n wir `ne E-Petition erstellen?
Den Verbot in Informatik an der Schule zu unterrichten, Immer.
Deine potentiellen Intentionen sind:
oder
oder
Zugegeben, letzte Option würde, sofern sie zutrifft, die Frage aufwerfen, was du dann hier im C++ Forum suchst, aber vielleicht geht es dir hier um Meinungsmache um die Experten zu beeinflussen, so daß diese sich an die Lehrer wenden.
Ich wäre froh gewesen, wenn ich in der Schule Informatik als Hauptfach oder Leistungskurs wählen hätte können. Da hätte ich sicher noch einmal ordentlich Punkte sammeln können.
Das die Lehrer in diesem Fach keine Peilung haben, hätte mir nichts ausgemacht.
Im Gegenteil, je weniger die Lehrer wissen, desto mehr kann man in diesem Fach glänzen. Die 15 Punkte (oder Schulnote sehr gut) sind dann vorprogrammiert.
Ich hatte Computertechnik (so hies das damals bei uns) nur als freiwilliges Nebenfach und dieses entsprach mehr den Status einer Schul AG und dass die Lehrer nicht viel Ahnung hatten, war ich gewohnt. Besonders viel Einfluss konnte ich mit meinen 15 Punkten in Computertechnik auf den restlichen Notenschnitt dann leider doch nicht nehmen. Wie gerne hätte ich das als Leistungskurs gehabt und entsprechend verwerten können.
-
Shade Of Mine schrieb:
Nur ist C ungeeignet um damit Programmieren zu lernen, weil es unmoeglich fuer einen Anfaenger ist einen Segfault zu debuggen. Und in C hat man Segfaults.
Hm, okay.
Das ist ein berechtigter Einwand der gegen C sprechen könnte,
allerdings hat man recht schnell gelernt, was man darf und was nicht.
Das also über die Char Array Grenzen nicht hinausgechrieben werden darf
und man auf die Adressen achten sollte, sobald man Zeiger verwendet, hat man doch recht schnell in 1-2 h gelernt.
Notfalls führt der Lehrer das vor.Auf eine dynamische Speicherreservierung via malloc & Co kann man im Schulunterricht ja verzichten, denn das ist schon ein Gebiet für die fortgeschrittene Programmierung und für die Anfänge in der Programmierung kommt man auch ganz gut ohne aus.
-
Einfach voraussetzen dass ein Anfaenger keine Fehler machen darf, ist nicht zielfuehrend.
Jeder hier im Forum macht regelmaessig Fehler beim Programmieren.
-
Mechanics schrieb:
nghjghjgh schrieb:
P.S.: Ich denke, wenn meine Schulkollegen damals meinen Gehaltszettel von heute sehen würden, wäre bei gewissen Leuten die Begeisterung fürs Programmieren doch etwas größer gewesen
Ich weiß nicht... Wenn ich so dran denke, dass grad die Leute, die in der Schule die ganzen Jahre wesentlich schlechter waren als ich dann zu einem Großteil BWL studiert haben und jetzt wohl zum Teil deutlich mehr verdienen als ich und in irgenwelchen "wichtigen" Managerpositionen sind, muss ich mich schon fragen, wer im Endeffekt schlauer war.
Echt? Kennst du wirklich viele bei denen das zutrifft? Also nicht nur dass die BWL studiert haben, sondern dass die jetzt Managerpositionen haben. Die meisten meisten Manager und Team/Projektleiter die ich so kenne, haben Informatik studiert und haben Ahnung vom Thema. Die BWL Studenten die ich kenne (sind jetzt nicht viele) machen irgendwelche Personalabteilungskram.
-
Shade Of Mine schrieb:
Einfach voraussetzen dass ein Anfaenger keine Fehler machen darf, ist nicht zielfuehrend.
So habe ich das nicht gemeint.
Ich meinte, dass auch ein Anfänger lernen kann, das er über ein Char Array und dessen Grenzen nicht hinausschreiben soll.
Er lernt es allerspätestens einfach auf die harte Tour, wenn er es dennoch tut.Ich sehe hier also kein Problem, das "nicht dürfen" bezieht sich also darauf zu wissen, warum man es nicht tun sollte.
Wenn man das weiß und der Lehrer es vorführt, dann achtet man darauf. Sicherlich übertritt man die Arraygrenze auch mal, aber dann merkt man ja das Resultat und von Fehlern lernt man bekanntlich am Besten.Jeder hier im Forum macht regelmaessig Fehler beim Programmieren.
Natürlich, aber erfahrene Programmierer achten darauf und zählen eher nach, ob sie die Arraygrenzen überschreiten. Das macht hier hoffentlich niemand im Trial & Error Verfahren.
-
Anderer Vorschlag schrieb:
Ich meinte, dass auch ein Anfänger lernen kann, das er über ein Char Array und dessen Grenzen nicht hinausschreiben soll.
Er lernt es allerspätestens einfach auf die harte Tour, wenn er es dennoch tut.Zu wissen dass man das nicht darf ist trivial.
Es nicht zu tun ist enorm schwer.Professionelle Software - wo mehrer Profis an dem Code arbeiten - hat Buffer Overflows.
Darueber weiter zu diskutieren ist sinnlos.
-
[offtopic]
istdasso schrieb:
Mechanics schrieb:
nghjghjgh schrieb:
P.S.: Ich denke, wenn meine Schulkollegen damals meinen Gehaltszettel von heute sehen würden, wäre bei gewissen Leuten die Begeisterung fürs Programmieren doch etwas größer gewesen
Ich weiß nicht... Wenn ich so dran denke, dass grad die Leute, die in der Schule die ganzen Jahre wesentlich schlechter waren als ich dann zu einem Großteil BWL studiert haben und jetzt wohl zum Teil deutlich mehr verdienen als ich und in irgenwelchen "wichtigen" Managerpositionen sind, muss ich mich schon fragen, wer im Endeffekt schlauer war.
Echt? Kennst du wirklich viele bei denen das zutrifft? Also nicht nur dass die BWL studiert haben, sondern dass die jetzt Managerpositionen haben. Die meisten meisten Manager und Team/Projektleiter die ich so kenne, haben Informatik studiert und haben Ahnung vom Thema. Die BWL Studenten die ich kenne (sind jetzt nicht viele) machen irgendwelche Personalabteilungskram.
Ich kenne genügend. Allein schon die ganzen Chefs + Partner in meiner alten Firma. Alles BWLer, die soooo unglaublich "wichtig" sind und sooo viel Ahnung haben. Aber nicht davon, was die Firma überhaupt macht, das war denen zu unwichtig. Oder auch in meiner jetzigen Firma gibts genug BWLer ganz oben. Informatiker in Führungspositionen kenn ich viel weniger.
[/offtopic]
-
Shade Of Mine schrieb:
Anderer Vorschlag schrieb:
Ich meinte, dass auch ein Anfänger lernen kann, das er über ein Char Array und dessen Grenzen nicht hinausschreiben soll.
Er lernt es allerspätestens einfach auf die harte Tour, wenn er es dennoch tut.Zu wissen dass man das nicht darf ist trivial.
Es nicht zu tun ist enorm schwer.Nein, ist es nicht.
Nicht bei einem < 2k Zeilenprogramm wie sie in der Schule üblich sind.Professionelle Software - wo mehrer Profis an dem Code arbeiten - hat Buffer Overflows.
Professionelle Software hat mehr als 2k Zeilen.
-
Anderer Vorschlag schrieb:
Professionelle Software hat mehr als 2k Zeilen.
Ach, ist das so?
-
_kermit schrieb:
Anderer Vorschlag schrieb:
Professionelle Software hat mehr als 2k Zeilen.
Ach, ist das so?
In der Regel ja.
-
Deswegen sind Mathearbeiten ja auch alle immer Fehlerlos. Weil ein paar Zahlen zusammen rechnen ist ja so einfach
-
Mechanics schrieb:
[offtopic]
istdasso schrieb:
Mechanics schrieb:
nghjghjgh schrieb:
P.S.: Ich denke, wenn meine Schulkollegen damals meinen Gehaltszettel von heute sehen würden, wäre bei gewissen Leuten die Begeisterung fürs Programmieren doch etwas größer gewesen
Ich weiß nicht... Wenn ich so dran denke, dass grad die Leute, die in der Schule die ganzen Jahre wesentlich schlechter waren als ich dann zu einem Großteil BWL studiert haben und jetzt wohl zum Teil deutlich mehr verdienen als ich und in irgenwelchen "wichtigen" Managerpositionen sind, muss ich mich schon fragen, wer im Endeffekt schlauer war.
Echt? Kennst du wirklich viele bei denen das zutrifft? Also nicht nur dass die BWL studiert haben, sondern dass die jetzt Managerpositionen haben. Die meisten meisten Manager und Team/Projektleiter die ich so kenne, haben Informatik studiert und haben Ahnung vom Thema. Die BWL Studenten die ich kenne (sind jetzt nicht viele) machen irgendwelche Personalabteilungskram.
Ich kenne genügend. Allein schon die ganzen Chefs + Partner in meiner alten Firma. Alles BWLer, die soooo unglaublich "wichtig" sind und sooo viel Ahnung haben. Aber nicht davon, was die Firma überhaupt macht, das war denen zu unwichtig. Oder auch in meiner jetzigen Firma gibts genug BWLer ganz oben. Informatiker in Führungspositionen kenn ich viel weniger.
[/offtopic]Welche Firma macht denn sowas? Wieso soll einen BWLler irgendwas leiten lassen, von dem er keine Ahnung hat?
Ich hab mal nach Stellen für BWLler gesucht und eine für Führungsnachwuchs gefunden ... bei der GEMA.
Erklärt ja einiges.
http://stellenanzeige.monster.de/Absolventen-in-der-BWL-als-Führungsnachwuchs-Job-München-Bayern-Deutschland-115572609.aspx