Programmiersprachen für die Schule: welche scheinen am sinnvollsten?
-
Mathe ist wichtiger schrieb:
loks schrieb:
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.
Die Wette verlierst du.
-
Mathe ist wichtiger schrieb:
Die Wette verlierst du.
Höhere Mathe brauchst du in Ingenieurberufen, Wirtschaftswesen und Physikberufen, sowie der Informatik selbst, deswegen gehört das auch zum Grundstudium in den dortigen Studiengängen dazu.
Ich behaupte mal dass das was dort gelehrt wird relativ wenig mit Mathe zu tun hat. Die lernen (zugegebenermassen halbwegs anspruchsvolles) Rechnen, ob man das als Mathematik bezeichnen kann weiss ich nicht.
-
hustbaer schrieb:
Ich behaupte mal dass das was dort gelehrt wird relativ wenig mit Mathe zu tun hat. Die lernen (zugegebenermassen halbwegs anspruchsvolles) Rechnen, ob man das als Mathematik bezeichnen kann weiss ich nicht.
Da auch "(halbwegs anspruchsvolles) Rechnen" ein Teil der Mathematik ist: ja, warum nicht?
-
Ich würde als Programmiersprachen für Schulen die Programmiersprache D vorschlagen.
Denn D läßt wie C und C++ im Gegensatz zu Java oder Phyton ein tieferes Verständnis unter der Haube zu, aber ist im Gegensatz zu C oder C++ wesentlich konsistenter in der Handhabung und somit wesentlich einfacher zu erlernen.
Es ist auch wesentlich schwieriger sich mit D in den Fuß zu schießen.
Beispiel:
http://dlang.org/cppstrings.htmlD bietet hier alles was zum Lernen von Programmierkonzepten oder für dern Einsteig notwendig ist und auf umfangreiche Bibliotheken oder hochoptimierte Compiler ist man bei Schulprojekten eh nicht angewiesen, weswegen man hier gerade deswegen ohne Hürden auf D setzen kann.
Im großen und ganzen ist D geradezu perfekt für den Schulunterricht geeignet.
-
Resizing Existing String
C++ handles this with the resize() member function:
string str;
str.resize(newsize);D takes advantage of knowing that str is an array, and so resizing it is just changing the length property:
da freu ich mich ja schon richtig auf die hochqualifizierten, die sich dann bewerben werden
warum nicht gleich js
-
oO schrieb:
Resizing Existing String
C++ handles this with the resize() member function:
string str;
str.resize(newsize);D takes advantage of knowing that str is an array, and so resizing it is just changing the length property:
da freu ich mich ja schon richtig auf die hochqualifizierten, die sich dann bewerben werden
Wenn du deine Mitarbeiter aus Schülern rekrutierst, dann bist du schlichtweg selber schuld.
Wer für ordentliche Softwareentwickler* nicht bereit ist, ordentliches Geld ausgeben, muss sich eben damit abfinden, wenn das Projekt dann in die Hose geht.
Ordentliche Softwareentwickler* lernen im Studium oder in der Ausbildung was am Arbeitsmarkt gefragt ist und nicht in der Schulbank.
Und das man für die Schule keine im professionellen Umfeld eingesetzte Programmiersprache benötigt, haben wir hier im Laufe des Threads ja schon geklärt, daher ist D hier kein Problem.
-
Noch etwas:
Anderer Vorschlag schrieb:
Und das man für die Schule keine im professionellen Umfeld eingesetzte Programmiersprache benötigt, haben wir hier im Laufe des Threads ja schon geklärt, daher ist D hier kein Problem.
Was jetzt nicht bedeuten soll, dass D im Kern für die professionelle Softwareentwicklung ungeeignet wäre.
Das ist es nämlich nicht, es fehlt halt an den 3rd Party Librarys, Tools und Compilern, aber die Sprache an sich wäre für die professionelle Entwicklung durchaus geeignet, ganz im Gegenteil zu Sprachen wie z.B. Basic.
-
Anderer Vorschlag schrieb:
Wenn du deine Mitarbeiter aus Schülern rekrutierst, dann bist du schlichtweg selber schuld.
wo soll ich die sonst hernehmen
so viele studenten, die spaß an einer kleinen klitsche haben und sich nicht von großen bürogebäuden in zentraler lage angezogen fühlen gibt es nicht!
@edit: noch dazu dürfen die sich bewerben und werden nicht rekrutiert. wir sind ja nicht beim militär, wo nicht mal pubertierende jugendliche freiwillig hingehen.
-
zwutz schrieb:
hustbaer schrieb:
Ich behaupte mal dass das was dort gelehrt wird relativ wenig mit Mathe zu tun hat. Die lernen (zugegebenermassen halbwegs anspruchsvolles) Rechnen, ob man das als Mathematik bezeichnen kann weiss ich nicht.
Da auch "(halbwegs anspruchsvolles) Rechnen" ein Teil der Mathematik ist: ja, warum nicht?
Gut, OK.
Und als "Höhere Mathe" (Zitat "Mathe ist wichtiger")?
mMn. eindeutig nicht.
-
"Programmieren" lernt man in der Schule auch nicht, aber für einen Großteil der späteren Anforderungen wird auch einfaches "skripten/coden" reichen. Ist doch genau wiebei der Mathematik: Das bisschen Dummfug was man im späteren Leben mal brauchen könnte, das wird einem mitgegeben, und für den Rest muss man sich dann aktiv entscheiden.
-
nachtfeuer schrieb:
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.
Das aus dem Munde eines Basic-Befürworters klingt bestenfalls uninformiert. Butter bei die Fische: wieviele Zeilen Python hast Du schon geschrieben?
-
Haben in der Schule C, Java und PHP gelernt.
Am sinnvollsten fand ich C. Dort hatten wir auch keinen ditaktisch super Lehrer. Er schrieb zwar void main und hatte auch sonst ein paar Dinge nicht ganz so perfekt gemacht, aber heee, er konnte die Dinge super erklären und vor allem hat er uns die Grundkonzekpte zum Erstellen eines Programms nähergebracht: Verzweigungen, Schleifen, Variablen, Konsolen IO, File IO, einfache Sortierverfahren, Arrays,...
Hat aber nur eine Handvoll der Leute kapiert, die anderen haben sich halt irgendwie durchgemogelt. Mir hat es aber sehr geholfen damals.Java wäre ja eigentlich auch keine schlechte Idee, Problem war bei uns nur dass unser Lehrer keinen Plan von Java hatte. Er versuchte uns OOP näherzubringen, aber im Nachhinein muss ich sagen dass er wohl echt keinen Plan hatte. In der letzten Stunde des Fachs sein Kommentar zu einer Frage die er nicht beantworten konnte: "Ja, lassen wir es, ich bin kein Java Programmierer, und ihr seid auch keine Java Programmierer".
PHP fand ich hingegen wieder sehr spannend! Da hatte man sofort Ergebnisse. Und die Sprache ist auch recht tolerant gegenüber schlampiger Programmierung.
PHP hat noch die größte Begeisterung im "Publikum" ausgelöst, und ich denke, darum geht es: Den Leuten einen Einblick in ein Fachgebiet zu geben. Und wenn man bunte Websites programmiert, so ist das sicher ein motivierender Einstieg in die Thematik.Was solls. Letztendlich bin ich der einzige der heute in der SW Entwicklung arbeitet. In der Uni haben wir auch einiges gelernt. Aber das meiste Wissen hab ich mir selber beigebracht. Von daher finde ich es in der Schule vor allem wichtig, dass man die Leute begeistert. Wer dann programmieren will, muss sowieso noch einiges selber lernen.
Meine Wertung: C > PHP > Java
Die Wertung der anderen in der Klasse: PHP > C > JavaP.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
-
sry, hab natürlich "...Dort hatten wir auch einen ditaktisch super Lehrer..." gemeint.
-
nghjghjgh schrieb:
PHP fand ich hingegen wieder sehr spannend! Da hatte man sofort Ergebnisse. Und die Sprache ist auch recht tolerant gegenüber schlampiger Programmierung.
Zu tolerant für meinen Geschmack:
$zinssatz = 1.03; $summe = 1205; $jahre = 4; $aufschlagsumme = 204.3; // einmalig $berechneterwert = $zinssatz * $summe * $jahre; .... %berechenterwert += $aufschlagsumme; echo "Das Ergebnis lautet" + $berechneterwert;
Das Programm enthält einen Fehler der als Beispiel zeigen soll,
wie leicht es möglich ist, in einem etwas komplexeren Programmcode
Stunden für die Bugsuche zu verschwenden.Bei diesen 11 Zeilen mag er noch leicht zu finden sein, bei komplexeren Programmen wird's zur Tortur.
Da liebe ich unter den Scriptsprachen eher Python (oder richtige Programmiersprachen wie C, C++ usw.), wer den Fehler findet, der wird wissen warum.
Eines habe ich bei PHP jedenfalls gelernt.
Wenn man in PHP programmiert, dann sollte man entweder eine gute IDE oder einen sehr guten umfangreichen Editor verwenden, welcher eine ganz bestimmte Funktionalität haben sollte, die ich hier erstmal nicht nennen werde, aber sofort ersichtlich und klar ist, wenn man den Bug findet.PHP hat noch ein paar weitere schwere Mängel, da wäre noch einer, den ich hier noch gerne anführen würde, aber das liegt jetzt schon ein paar Jahre zurück, dass ich das letzte mal in PHP programmiert habe und ich kann mich nicht mehr an diesen erinnern, außer das er die Bugsuche ebenfalls erschwerte.
Aber wer ein paar Stunden mit PHP programmiert, sollte selbst darauf kommen.
Ansonsten eben mithilfe von google.Von daher finde ich es in der Schule vor allem wichtig, dass man die Leute begeistert. Wer dann programmieren will, muss sowieso noch einiges selber lernen.
Deswegen plädiere ich für D an den Schulen.
Meine Wertung: C > PHP > Java
Die Wertung der anderen in der Klasse: PHP > C > JavaJava ist alleine deswegen schon für Schulen ungeeignet, weil es vom Nutzer erwartet, dass dieser den Code schön formal in eine bestimmte Form preßt, denn Java ist hier nicht sehr tolerant und wirft gerne Exceptions mit denen ein Anfänger meist nicht umgehen kann.
Desweiteren muss erstmal nen Haufen OOP und formalen Overhead gelernt werden, um damit erste Erfolge feiern zu können.C ist da für die ersten Schritte wesentlich anspruchsloser und IMO intuitiver zu lernen.
Erst im fortgeschrittenen Stadium wird's mit Java einfacher und bequemer als mit C.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
Wenn's nur ums Geld verdienen geht, dann gibt es wesentlich bessere Studiengänge in denen man mehr Geld für weniger Aufwand und anspruchslosere Arbeit bei gleichzeitig höherer sozialer Anerkennung verdienen kann, als Informatik.
Wenn's also dumm läuft, dann hast du genau so einen ehemaligen Schulkollegen, bei dem du dann vor Neid erblassen wirst.
Was lernen wir daraus?
Informatik studiert man aus Leidenschaft und nicht wegen den Verdienstmöglichkeiten.
-
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.
-
Es geht ja nicht darum, die perfekte Sprache den Schülern zu zeugen, sondern eine einfache Sprache, in der man gewisse Grundkonzepte ohne viel Overhead zeigen kann. Und genau dafür ist PHP gut geeignet. Und da das Web heute allgegenwertig ist, schadet etwas PHP und HTML sowieso keinem.
Dass PHP seine Macken hat glaub ich dir schon, aber es ist eben verdammt einfach!Eventuell wäre auch Basic geeignet, kenn ich nur von Excel Makros und fand die Sprache ziemlich simpel.
Zu D kann ich nichts sagen, da ich es noch nie verwendet habe.Wenn's nur ums Geld verdienen geht, dann gibt es wesentlich bessere Studiengänge in denen man mehr Geld für weniger Aufwand und anspruchslosere Arbeit bei gleichzeitig höherer sozialer Anerkennung verdienen kann, als Informatik.
Wenn's also dumm läuft, dann hast du genau so einen ehemaligen Schulkollegen, bei dem du dann vor Neid erblassen wirst.
Was lernen wir daraus?
Informatik studiert man aus Leidenschaft und nicht wegen den Verdienstmöglichkeiten.Na klar wirds auch Leute geben die mehr verdienen, aber ich bin mir ganz sicher dass ich im oberen Viertel liege.
Man kann also als Informatiker oder Ingenieur nicht wirklich jammern über schlechte Bezahlung. Die BWLer die ich kenne verdienen jedenfalls alle weniger als ich. Ist also nicht so dass man BWL macht und der Spitzenverdiener ist. Man muss schon auch gut und leidenschaftlich im Beruf sein. Über das gut lässt sich streiten, aber zumindest leidenschaftlich bin ich in meinem Beruf!
Natürlich gibts BWLer die mehr verdienen als Techniker, aber ich denke im Schnitt ist man als Techniker schon besser dran.Die soziale Anerkennung ist mit egal, es geht nur darum, was ich vom Programmieren halte, und ich finde diesen Job sehr kreativ und fordernd, ich würde niemals mit einem der Banker oder Anwälte tauschen wollen.
P.S.: Klär mich doch bitte über das PHP Beispiel auf, würd mich interessieren was da los ist!
-
nghjghjgh schrieb:
Es geht ja nicht darum, die perfekte Sprache den Schülern zu zeugen, sondern eine einfache Sprache, in der man gewisse Grundkonzepte ohne viel Overhead zeigen kann. Und genau dafür ist PHP gut geeignet.
Nein.
PHP zeigt wie man es nicht machen soll.Die Sprache ist inkonsistent und die Library ist noch inkonsistenter.
Die Leute schauen sich ja ab wie etwas funktioniert anhand der Tools die sie haben. Und wenn die Tools inkonsistent sind, dann werden die Leute das auch werden.
Und man muss zum lernen zwingend eine Sprache mit starker Typisierung nehmen.
Python ist da IMHO ideal. Es erfuellt alle Anforderungen und ist als Bonus auch noch Praxisrelevant.
Die Anforderungen sind:
Starke Typisierung
Saubere und Konsistente Syntax
Wenig BoilerplateWelche Anforderung denkt ihr sind sonst noch wichtig?
-
Python ist da IMHO ideal.
Ich halte Python noch immer fuer ein verkapptes Scheme. Ich mag es nicht, genauso mag ich D nicht. Aber das soll jeder halten wie er will.
Ich habe damals mit Logo (Schildroete zeichnet Figuren), pbasic (Sternchen fliegen uber den Bildschirm), Pascal (Roboter muss aus Labyrinth finden) angefangen. Das sind keine Sprachen sondern ganze Frameworks, die ein engen Bereich abstecken. Im Falle von Logo bzw. Roboter ist es eine DSL.
Wichtig fuer eine Einsteigersprache:
- minimal bzw. nicht zu viel
- auf bekannte Konzepte aufbauen (tja das ist wohl unter anderem Mathe)
- "kindgerechte" Literatur
-
Sollte die Frage nicht eher heißen: Wie kann man junge Leute für das Thema begeistern?
Deine Punkte sind aus der Sicht eines Informatikers. Ob junge Leute was im Informatik Unterricht lernen, hängt garantiert nicht davon ab, ob die Sprache stark oder schwach typisiert ist. Hauptsache sie ist einfach und zeigt ohne viel Overhead wie Programmieren funktioniert, und sollte noch dazu möglichst schnell zu Erfolgserlebnissen führen.
-
nghjghjgh schrieb:
Ob junge Leute was im Informatik Unterricht lernen, hängt garantiert nicht davon ab, ob die Sprache stark oder schwach typisiert ist.
Schule ist so oder so ungeeignet den Leuten etwas beizubringen. Das funktioniert Konzeptbedingt nicht.