dP. hat geschrieben:Xin hat geschrieben:
Man muss auch in C nicht mit Zeigern beginnen. Und in C++ schon gar nicht.
Richtig, das sage ich ja auch gar nicht. Mein Punkt ist viel mehr: Wenn man bis zur 13 keinen einzigen Zeiger gesehen hat, kann man trotzdem guten Informatikunterricht gehabt haben.
Jow, das funktioniert in Mathe zur Zeit auch so. Wenn man bis zur 13 noch keine Aufgabe berechnen kann, kann man trotzdem guten Matheunterricht gehabt haben. Nur mit Mathe hatte er halt nix zu tun.
Zeiger sind eine absolute Basis-Information in der Informatik. Und erzähle mir nicht, dass 8.-Klässler unfähig wären, das zu verstehen. Ich habe mit 13 Assembler programmiert - ohne dass da ein Lehrer mir etwas beigebracht hat. Ohne eine große Auswahl an Internet-Tutorials oder Foren. Ohne Buch. Lediglich ein paar kurze Tutorials, die teils auch noch falsch waren. Lesen, programmieren, ausprobieren, verstehen.
Unter qualifizierter Anleitung muss es jedem Schüler einer beliebigen Klasse einer beliebigen Schulform oberhalb der Sonderschule möglich sein, das Prinzip einer Hausnummer zu begreifen.
Und qualifizierte Anleitung setze ich als Selbstverständlich voraus, den Lehrer erhalten Geld für ihre Dienstleistung, die unter anderem die qualifizierte Wissensvermittlung beinhaltet.
dP. hat geschrieben:
Zur Informatik gehört die Algorithmik.
Abläufe organisieren. Datenverarbeitung.
Genau. Wenn du im schulischen Informatikunterricht erreichst, dass die Schüler ein Problem analysieren, sich eine Lösung überlegen, diese genau beschreiben und sogar noch implementieren können, dann hast du verdammt viel erreicht! Und ich rede hier von Problemen wie 'Sortiere diese Liste' , 'Russischer Bauernmultiplikation', 'Sieb des Erathostenes', 'Zinseszinsberechnung' und ähnliche einfache Sachen.
Und dann sind da ja noch so Späße wie formale Logik, logische Grundschaltungen und Gatter, (Schiebe)Register und die Funktionsweise des Rechners, die erklärt werden wollen.
Logische Schaltungen und Gatter sind Teil der E-Technik, nicht der Informatik. In der Mathematik erfährst Du, was Du mit einem Taschenrechner machen kannst, nicht wie Du ihn baust.
dP. hat geschrieben:
dP. hat geschrieben:Wie ich bereits sagte, ist die Sprache eigentlich egal. Man kann es sich aber leicht oder weniger leicht machen.
Ich habe beim Unterrichten von C/C++ bisher wenig Probleme gesehen.
Mit entsprechender Vorbereitung kann man hier die Sache schrittweise aufbauen. Es ist nicht so, dass man C/C++ komplett können muss, um es zu lernen.
Unterrichtest du an der Schule oder an der Uni? Ich glaube dir, dass man C++ vernünftig unterrichten und lehren kann. Ich bin auch der Meinung, dass wenn man verstanden hat, wie C++ tickt, man einige Sachen deutlich besser versteht.
Aber an der Schule ist es einfach wichtiger, dass die Schüler ihre Zeit nicht damit verschwenden, Fehlermeldungen des g++ zu interpretieren. Da ist es viel besser, wenn man einfach mal schnell was im Interpreter ausprobieren kann.
Ich habe Schüler unterrichtet, genauso wie ich an einer FH Tutorien gegeben habe.
Es macht keinen Unterschied, ob man sich Fehlermeldungen des Compilers oder des Interpreters anguckt, es läuft auf das selbe hinaus: Fehlermeldung verstehen, Quellcode ändern, Interpreter/Compiler neu anwerfen.
dP. hat geschrieben:Glaub mir, ich erinnere mich lebhaft an meinen Informatikunterricht in der 8, 9, 10 Klasse. Ist noch keine 10 Jahre her. Wenn ich mir überlege, wie die Schüler - und der Lehrer war Spitze - mit MSW Logo gekämpft haben, wenn es darum ging mit fd 50, rt 90, fd 50, rt 90, fd 50, rt 90, fd 50 eine Figur auf dem Bildschirm im Quadrat laufen zu lassen, dann will ich mir gar nicht ausmahlen, wie das in anderen Sprachen ausgesehen hätte.
Das "programmieren" eines Roboters halte ich für die sinnloseste Form der Informatik - nicht wegen des Roboters, sondern weil schon beim Einstieg offensichtlich ist, dass das, was man grade lernt, für nichts zu gebrauchen ist. Man wird in diesen Roboter-Sprachen niemals etwas sinnvolles programmieren können. Also machen die Leute, die das ganze nicht als Knobelspiel auffassen, sofort dicht.
Der Reiz etwas zu können, eine echte, ernstzunehmende Programmiersprache, auf der man aufbauen kann, in der auch Betriebsysteme, Spiele, Anwendungen, Viren und Hacks geschrieben werden können, ist deutlich höher.
dP. hat geschrieben:Dirty Oerti hat geschrieben:
Ich denke nach eingehender Erklärung (vorallem wie aus Quelltexten Programme werden) sollte ein einfaches HelloWorld keinen Schüler erschlagen.
Das Programm kann man dann ohne Probleme Schrittweise erweitern (Variablen, Eingabe hinzufügen, Entscheidungen treffen, Funktionen, usw)
Stimm ich dir zu. Ich will weiß Gott nicht behaupten, C++ wäre ungeeignet. C++ wäre nur nicht meine erste Wahl.
Aus den C++-Tutorials habe ich einiges in meine Sprache gerettet. So lautet das "Hello World" in Genesys einfach
Der Compiler sucht nach einer Klasse, findet aber keine. Also generiert er class main. Dann sucht er in einer generierten Klasse eine Funktionen, findet aber keine. Also generiert er main(). Und da packt er die gefundenen Befehle rein. Das Konzept entspricht Java: Alles ist in einer Klasse - aber das muss ein Anfänger noch nicht wissen. Und jemand, der ein Skript schreibt, muss sich dafür nicht interessieren.
Ich habe aber auch kein Problem, erstmal ein Gerüst vorzustellen und zu sagen, dass wir zwischen den geschweiften Klammern programmieren und der Rest muss erstmal nicht verstanden werden. Der Overhead ist bei C/C++ noch überschaubar.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.