Welche Progammiersprache wird denn heutzutage in der Schule im Fach Informatik verwendet?



  • Die jungen Leute, die ich kenne, zeigen nicht den Hauch einer Begeisterung fürs Programmieren. Dank der Schule, nehme ich an.

    das ist auch kein Wunder. Ich habe jedes Mal wenn es Informatik gab, das auch gewählt und wurde jedes mal enttäuscht.
    Scheinbar stehen im Lehrplan so Sachen wie Rekursion, Sortieren etc was dann durchgenommen werden muss. Als AG wäre das glaube besser gewesen, mit freier Themenwahl. Ich glaube selbst mit einer 0-Vorkenntnis-Klasse kann man in einem Jahr doch ein Pacman in der Konsole oö basteln?
    Wer hat denn anfangs beim selber lernen wirklich als erstes Sortieralgos vergliechen? Ich denke die meisten haben versucht irgendwelche Spiele/Animationssachen (zB Laufschrift) in der Konsole zu basteln.
    Schon klar, Informatik ist nicht nur Programmieren, aber an der Tafel stundenlang irgendwelche Flussdiagramme nachgehen?

    weil mir gerade langweilig ist:
    Realschule:
    -bischen html, war zwar nicht programmieren aber ganz ok und hat glaube jedem etwas Einsicht ins Internet gebracht .
    -logo: dhttp://de.wikipedia.org/wiki/Logo_%28Programmiersprache%29 Man steuert so eine "Turtle" und kann Muster malen oder zB auch bewegende Zeiger mit Ziffernblatt. Der einzige "Gag" war quasi dass sich durch einfache, wiederholt ausgeführte Schritte komplexe Figuren erzeugen lassen.
    Ist aber irgendwie in ein Knobelspiel ausgeartet, sich möglichst gut im Kopf vorzustellen (bzw aufzumalen) wie man jetzt rechts link links gradeaus rechts etc laufen muss.
    -Delphi: nur kurz, das grösste Hindernis war der Editor weil dauernd irgendjemand irgendein Fenster gesucht hat, naja.

    Gym:
    -zuerst irgendwas mit visual c (bzw dem Gegenstück von Borland) "Klick auf Button ändert Farbe vom Fenster." Meiste Zeit wurde damit verbracht rauszufinden wie eine bestimmte Eigenschaft eines Objektes heisst oder Argumente für die Messagebox Funktion zu raten. -> Klasse langweilt sich währendessen -> einer der "Profis" findet es raus -> Klasse denkt sich: "wow, woher weiss der das jetzt? das kapiert doch kein mensch!"
    -Lehrer sieht ein, das bringt so nix: C in Kommandozeile
    Anfang ganz gut, wurde am Ende leider zuviel "wenn dieser Zeiger jetzt hier ist und wir uns den merken müssen dann ist..." (bei verketteten Listen) Nur wer versteht den Sinn einer verketteten Liste wenn er erst ein paar Stunden programmiert?
    -zwischendrin diese Standarddinger wie Primzahlen, Türme von Hanoi usw.

    Bis jetzt war das alles Scheisse und ich glaube nicht das bei irgendjemandem irgendetwas hängen geblieben ist.

    Es wurden auch nie weitere Quellen wie Online Tutorials gezeigt. Dabei hätte so ein Kurs wie auf volkard.de (wieso geht der eigentlich nicht mehr) echt geholfen.
    Bücher mit 300 Seiten zählen mal nicht, die kauft sich eh kein Schüler.

    dann Uni: (kein Infomatik studium)
    "C Programmierkurs (Pflicht) für naturwissenschaftliche Dingsbums"
    -ellenlanges Skript mit irgendwelchem Hintergrundbla (kein kurzes Nachschlageteil "wie funktioniert nochmal die while schleife")
    -wöchentliche Aufgabe ala Sortieren, Primzahl
    ->Leute ohne Vorkenntnise haben (verständlicherweise) reihenweise abgekackt

    meiner Meinung nach war immer das Problem, dass die Schüler kaum die beispielsweise Schleifen richtig "begriffen" haben und damit dann komplizierte "Knobeleien" lösen sollen.
    Also doppelte Schwierigkeit, Lösungsweg finden und dann umsetzen.
    Kein Mensch löst auf Anhieb die Steine von Hanoi rekursiv wenn er gerade erst Funktionsaufrufe gelernt hat. Und wenn man es dann gezeigt bekommt bleibt auch nur ein kurzer Aja-Effekt.

    Wenn ich mal überlege habe ich noch nie Jemanden getroffen (Internet oder in echt) der in der Schule programmieren gerlent hat.



  • Schule und Programmieren?
    Pustekuchen...
    Bei uns gabs nichmal sowas wie Informatikunterricht (Realschule).
    Das EINZIGE, was wir jemals in der Schule gemacht haben, war iwelche komischen Seiten über Biologie Gesülze zu durchwühlen...
    Naja, die meisten hingen dann doch eher im SVZ rum^^

    Ich hätte mir wenigstens etwas Unterricht in dieser Art gewünscht, aber anscheinend war meine Schule da noch zu konservativ.

    Bücher mit 300 Seiten zählen mal nicht, die kauft sich eh kein Schüler.

    Doch, ich, sogar 3 xD

    Gab viele Sachen, für die ich mich mal interessiert habe.
    Von Java (was ich sehr schnell beisete geschoben habe :))
    über Ruby (für den RPG Maker XP, ka ob den wer kennt^^)
    und C++ und kleiner Schnupperkurs in C#^^

    Aber wie gesagt, in der Schule wurde sowas nichmal ansatzweise angeschnitten.



  • Ich denke, dass Informatikunterricht in der Schule nur Appetit machen kann/soll auf mehr, denn mit 2 oder 3 Wochenstunden Unterricht erreicht man nicht viel, insbesondere dann nicht, wenn es Schüler gibt, die bei Null anfangen.
    Die Wahl der Programmiersprache sollte daher auf eine Sprache fallen, bei der möglichst wenig Framework notwendig ist, um etwas auf den Bildschirm zu bringen.
    Java bietet da den Vorteil, dass man anfangs Konsolenprogramme schreiben kann um Grundlagen zu vermitteln und sobald die Basis da ist auf GUI Programmierung umsteigen kann, ohne die IDE zu wechseln oder ein neues Projekt erstellen zu müssen. Generell sollte die Programmiersprache die Eigenschaft aufweisen, möglichst schnell Methodik behandeln zu können ohne viel Toolkit-/Sprachoverhead zu benötigen. Ausserdem sollte sie natürlich dem Lehrziel entgegenkommen, mit Assembler sollte man kein OOP versuchen und in BASIC keine Treiber programmieren.
    Ich kann mir auch gut vorstellen, dass die Wahl der Programmiersprache von der Entscheidung des Informatiklehrers abhängt, wenn der eine früher viel Pascal gemacht hat wird er heute wohl Delphi benutzen wollen, wer früher viel C gemacht hat verbockt heute mit großer Wahrscheinlichkeit C mit Klassen, von dem er glaubt, es sei C++. In den meisten Schulen wird es wohl so sein, dass ein Lehrer für Informatik abgestellt wird und dort die Entscheidungen über die Anschaffung von Hard- und Software entscheidet. Nach meiner bisherigen Erfahrung ist es so, dass Lehrer den für sie einfachsten Weg suchen und bei Dingen bleiben, die sie kennen, und nicht z.B. LISP lernen, weil das ein tolle Sprache für die OOP ist.



  • Ich bin der meinung, das eine sprache, in der man kleine programme (Buttonklick wechselt fensterfarbe) nicht über putty schreiben kann, bzw extrem aufwändig, sind schon der falsche anfang. Auch kompilieren über putty sollte leicht sein.
    Außerdem sollte OOP mit der sprache machbar sein.

    Welche sprachen das jetzt alles können weiß ich nicht. Aber java kann das alles.
    Deshalb habe ich sie genannt.



  • mit putty kann man programmieren? das ist so ein telnet Programm dachte ich?

    Aber leicht bedienbare IDE ist auf jeden Fall wichtig.
    Bei Delphi oder Visual C gab es bei uns öfter das Problem "in welchen Button man das reinschreiben muss" und "wo jetzt dieses Fenster ist. 😮 "

    OOP ist doch am Anfang völlig egal, in der Schule ist das ja anders als wenn jemand für sich lernt und OOP wäre wie in der ersten Klasse Differentialrechnung zu machen - schön zu wissen was es alles gibt aber bringt auch niemand weiter.
    Meistens ist Informatik ja auch nur 90min/Woche und das ist dann nicht nur programmieren. (Lieblingssatz von meinem Inf. lehrer)

    trööööt :schland:



  • breiter kleiner höher schrieb:

    OOP ist doch am Anfang völlig egal

    Jein, genau hier liegt der Knackpunkt. Jemand der rein Prozedural denkt, hat anfangs unglaubliche Schwierigkeiten mit OOP. Umgedreht ist es IMHO etwas einfacher.
    Bei uns im Studium sind die Leute eingebrochen, die bisher nur rein Prozedural programmiert haben. Denn da wurde die OOP übers Knie gebrochen. Wer da keine Vorkenntnisse hatte, oder sich näher damit beschäftigt hat, ging unter.
    Ich habe mehrere Jahre gebraucht OOP wirklich zu verstehen. Hierzu grundlagen im Informatik unterricht zu schaffen halte ich für richtig. Und damit meine ich nicht das Programmieren, sondern Grundlagen:
    Was sind Objekte, was sind Eigenschaften, wie funktioniert Vererbung etc. Das vollkommen auszublenden ist auch nicht das beste. Gerade heutzutage wo man OOP Programmierung als "State of the Art" betrachtet.



  • ja, das find ich auch ok.
    aber die meisten lernen doch gerade erst was eine Funktion (bzw. den Unterschied zu den Funktionen in Mathe) oder eine Variable ist, da fände ich das am Anfang nicht so sinnvoll.
    Paar Algorythmen schreiben zu können halte ich anfangs erstmal besser als etwas abstraktes wie Polymorphie oder Kapselung. Wie soll man dazu denn ein Beispiel programmieren bzw verstehen ohne die anderen Grundlagen?
    OOP ist halt auch so eine Sache die im Lernplan steht und sich da gut anhört, eben weil es wirklich als "State of the Art" ist/gesehen wird. Ob der einzelne Schüler da etwas von hat, naja.



  • Das ist der Grund warum mir die Beschränkung auf Programmiersprachen im Informatikunterricht nicht so recht schmeckt. Meist lehren die Lehrer den umgang mit dieser Programmiersprache ohne wirklich auf Basics einzugehen. D.H. die Leute wissen z.B. wie man Klassen in Java anlegt, wie man auf Klassenfunktionen zugreift, aber nicht was das wirklich für Sinn macht, warum man dies macht und was es für Vor-/Nachteile mit sich bringt. Solche Leute können stur eine Programmiersprache "runterbeten" ohne die Konzepte dahinter verstanden zu haben.

    breiter kleiner höher schrieb:

    Ob der einzelne Schüler da etwas von hat, naja.

    Naja das ist bei Schulfächern immer so. Aktuell hab ich auch nicht viel vom Biologie und Chemiunterricht meiner Mittelschule. Das ist Wissen was man mit aufnimmt. Nett zu wissen, für mich nicht Relevant, für andere dennoch wichtig. Daher ist es ja eine allgemeine Ausbildung. Genau deswegen sollten eher Basics als konkrete Programmiersprachen geschult werden. Hier ist es aber wieder das Problem das der Schüler Basics "Langweilig" findet. Lieber was konkretes machen will. Daher wird eine Programmiersprache gelehrt. Was wieder Spannend ist. Aber da nur das Programmieren der Sprache spannend ist, werden die Basics getrost ignoriert.. naja da beißt sich die Katze das Genick mitten ins Gesicht (Oder so ähnlich)



  • Solche Leute können stur eine Programmiersprache "runterbeten" ohne die Konzepte dahinter verstanden zu haben.

    Ja, ich versteh was du meinst. Aber um die Konzepte dahinter zu verstehen muss erstmal ein gewisser "Runterbet-Level" erreicht sein. Klar, die Schüler können auch einfach auswendig lernen "Unter Vererbung versteht man in der Informatik eine Modelierung die blablabla" aber das hängt dann irgendwie in der Luft...



  • breiter kleiner höher schrieb:

    Solche Leute können stur eine Programmiersprache "runterbeten" ohne die Konzepte dahinter verstanden zu haben.

    Ja, ich versteh was du meinst. Aber um die Konzepte dahinter zu verstehen muss erstmal ein gewisser "Runterbet-Level" erreicht sein. Klar, die Schüler können auch einfach auswendig lernen "Unter Vererbung versteht man in der Informatik eine Modelierung die blablabla" aber das hängt dann irgendwie in der Luft...

    Ja das sind dann die Basics, der Basics. Irgendwann muss den nutzer auch mal Beigebracht werden einen PC ein zu schalten und eine IDE zu starten 😉



  • Erst mal ein Praxisbericht von der "anderen Seite" (sprich Lehrersicht). Ich bin nicht der Lehrer (sondern Dipl.Inf. und Entwickler), sondern meine Frau (Mathe, Chemie, Physik Gymnasium - kein Info, sie hatte aber einige Info-Grundlagen-Vorlesungen und Prüfungen an der Uni belegt (Prakt.Info 1-4 für "Naturfreunde")).

    Es geht hier auch nicht um den offiziellen Informatik-Unterricht nach Lehrplan, sondern um eine AG für Mittelstufenschüler (7.-9. Klasse).

    Ziel war ein spielerischer Einstieg in die Programmierung. Wir haben uns dazu drei Plattformen ausgesucht:

    Der Hamster steht in der Tradition von der Logo Turtle, Karol dem Roboter, Alice, etc.

    Es wurde nur einfachste prozedurale Steuerungen realisiert (der Hamster kann in weiterführenden Projekten auch Nebenläufigkeit und OOP).

    Fazit: der Hamster macht die meisten Kinder neugierig und sie entwerfen erste primitive Algorithmen (Treppe, Körner suchen, Labyrinth erkunden, "Schreiben und Rechnen" mit Körnern...).

    Man lernt die grundlegenden, prozeduralen Programmstrukturen: Sequenz, Selektion, Iteration, Variablen, Prozeduren,...

    Allerdings hatten die Schüler immer wieder kleinere Probleme wegen syntaktischer Mängel. Auch finde ich z.B. die von C geerbe for-Schleife syntaktisch wenig gelungen. Pascal wäre sicher didaktisch besser geeignet.

    Die Hamster IDE ist recht einfach zu nutzen, da überschaubar. Es gibt einen kleinen Debugger. Allerdings kein Syntax-Highlighting. Ein Notepad++ mit angepasstem Highlighting sollte dann helfen, hat aber in der Praxis mehr Verwirrung gestiftet (Handhabung der Dateien, Workflow Editor->Hamster-IDE).

    -----------------------------------------

    Der Asuro Roboter ist dem Hamster funktional nicht unähnlich, aber halt echte Hardware. Der Atmal Microcontroler wird allerdings in C programmiert (GCC). Eine Library versteckt erstmal die Hardware-Details.

    Es hat sich rausgestellt, dass der Umgang mit C und Asuro, Programmers Notepad 2 und Notepad++ plus GCC Einbindung die Schüler, die gut mit dem Hamster klar kamen auch nicht sonderlich mehr gefordert hat.

    Was wirklich fehlte, waren mehr Asuros. Das einzige Exemplar hatte meine Frau selbst (privat) gekauft. Nur am Lehrer PC war der IR-Sender, um den Binärcode auf den Asuro zu übertragen.

    Schön wäre eine Asuro pro Schüler PC. Oder wenigsten ein Asuro Simulator mit Debugging Möglichkeit (ähnlich dem c't-Bot).

    --------------------------------------------

    Wer mit Java-Hamster und Asuro klar kam, für den waren auch grafische Spielereien in dem vereinfachten Java von Processing dann kein großes Problem.

    Man muss aber sagen, dass 90min pro Woche sehr wenig Zeit waren. Die Schüler waren auch wenig an theoretischen Grundlagen interessiert und wollten immer sofort loslegen. Einige wollten nebenbei immer im Web surfen und waren sauer, als meine Frau das unterbunden hat.

    Es sind einige Treffen ausgefallen oder waren wenig frequentiert, teils weil meine Frau arbeitsmäßig mit ihren Unterricht in drei "richtigen" Fächern überlastet war, teils weil die Schüler Stress wegen wichtigen Klassenarbeiten hatten.

    -------------------------------------------------

    Meine Frau hat dies während dem zweiten Referendariats-Jahr und dem ersten Jahr als "echte" Lehrerin ehrenamtlich gemacht. Von der Schulleitung wurde es weder unterstützt noch anerkannt. Mit Theater, Tanz und Musik AGs scheint man auf mehr Wohlwollen bei den Kollegen zu stossen.

    So musste sich meine Frau teilweise Kommentare anhören, dass solche "Technik-Spielereien" doch eher was "für kleine Chinesen" seien.

    Das ältere Kollegium und die "humanistisch orientierten" Kollegen tragen demonstrativ die Technik-Phobie vor sich her, auf die sie noch stolz sind (Philologen!).

    Ich glaube: Informatik die Spass macht, ist an den Gymnasien gar nicht gewollt. Die Kinder sollen schließlich alle später "schöngeistige" Dinge studieren und den Literatur-Nobel-Preis anstreben... Roboter programmieren hält sie davon ab und das braucht man bald nur noch in China...



  • Das Java Hamster Modell, wirkt meines Erachtens für Lehrinhalte Ideal. Dort wird Java einfach nur als Mittel zum Zweck eingesetzt, ohne das der Schüler direkt mit details zu überhäufen. Damit kann man gut eine gewisse Algorithmik lehren. Leider sind gehen bei solchen sachen dann Pointer, Speicherreservierungen, Referenzen etc unter. Das sind wieder Details, welche viele Programmiersprachen gemeinsam haben und gerade für das verstehen des, "Programmierens" für Prozeduralen/OOP Sprachen, sehr wichtig sind. Zusätzlich müssen Grundlagen geklärt werden was Speicherverwaltung und ähnliches angeht (Warum belegt zum Beispiel ein Zeiger auch Speicher, was ist das genau...) Aber gerade hier wird sich die Spreu vom Weizen trennen. Ggf sind solche sachen schon zu hoch gegriffen. Algoritmik ist ja leider nur ein kleiner Teil der Informatik.

    Aber die Ansätze die du geschrieben hast, sind weitaus besser als das was ich so kenne.



  • Ich selbst habe wie so viele Jungs meiner Generation das Programmieren als Autodidakt begonnen.

    Mitte/Ende der Achtziger mit 8Bit Homecomputer, bester Spaghetti Code im Basic-Interpreter (IF X GOTO 3540), etwas Assembler (Z80) bzw. Maschinencode (als Hex reingehackt im Maschinen-Monitor)...

    Dann kam der Amiga mit MS Amiga Basic (immerhin schon etwas strukturiert), GFA Basic (nicht so buggy wie MS AmiBasic, 10x schneller, mehr Befehle, Syntax-Erkennung und Code-Folding im Editor...). 68K Assembler, Systemprogrammierung, direkte HW-Programmierung (viele,viele bunte Copper-Listen, flitzende Blitter Objects, etc.), ...

    Aber wir wollen ja hier von der Schule und dem Informatik-Unterricht reden:

    In der Mittelstufe (9.Klasse?) war erstmal ITG angesagt (Informationstechnische Grundbildung). "Was ist ein Computer?" Gähn! "Wie bedient man MS-DOS?" Schnarch., "Was kann man mit Framemaker machen?" Schreiben, Tabellen, Textfenster per Cursortasten verschieben (hielt der Lehrer für gaaaaz toll).

    Die Freaks hatten alle Amiga, Atari ST, 286er mit GEM, C128 mit GEOS, manche noch Schneider CPC mit CP/M, etc. und haben sich nur gelangweilt.

    Die nicht Home-Computer-Freaks (also die meisten Mädels), hatten keinerlei Interesse und haben sich auch gelangweilt.

    Wirklich interressant fand ich nur die letzten Stunden: Einführung in die Programmierung mit Turbo-Pascal (V.3.x ???)

    War leider zu kurz, aber ich fand Pascal ok und die TP IDE super - um ehrlich zu sein: besser als GFA Basic.

    Ich habe mir dann immer wieder den Schlüssel zum PC Raum im Sekretariat ausgeliehen und etwas mit TP rumexperientiert.

    Zwar war die die Hardware öde (auf C= PC10-III (XT)) im Vergleich zum Amiga, aber trotzdem interessant genug.

    Mein Mathelehrer hat das mitbekommen und hat mir immer mal wieder einfache Programmieraufgaben aus dem Mathe-Bereich gegeben (Parabeln plotten, etc.)

    In der Oberstufe habe ich dann Informatik Grundkurs gewählt (Info LK gab es nicht) und der Info-Lehrer war auch mein neuer Mathe-LK Lehrer. Der alte Mathe-Lehrer wurde der Physik-LK Lehrer.

    Das ganze war dann erstmal ein etwas systematischerer Einstieg in die strukturierte Programmierung mit Pascal, etwas x86 Assembler und dann erste OOP Versuche mit TP 5.5 oder 6. Sowohl Info/Mathe Lehrer als auch mein alter Mathe und neuer Physik-LK Lehrer haben selbst hobbymäßig programmiert, vor allem halt Sachen für den Unterricht und die besseren Schüler (die Freaks) dazu angetrieben, auch Spielereien aus dem Mathe/Physik - Bereich zu versuchen (freiwillig).

    Am Ende hatte ich so Sachen wie Schwingungs-Interferenzen, Magnetfelder visualisieren, Digitalschaltungen editieren/simulieren (allerdings in GFA auf dem Amiga), eine VGA-Grafik-Unit für TP mit viel Inline-Assembler und ein Formelparser mit Funktionsplotter geschrieben.

    Klar war der offizielle Info-Unterricht nach Lehrplan manchmal öde. Ich habe immer nebenbei an privaten Projekten rumgehackt - was allerdings die Mitarbeitsnote etwas gedrückt hat, aber ich wollte ja auch nicht 90% des Kurses permanent die Schau stehlen - die sollten und mussten ja noch etwas lernen.

    Ich bin kein Streber und keine Hermione, und musste nicht permanent beweisen, dass ich es schon kann und ob der Lehrer mir nun 15P oder 12P mündlich gab, war mir egal. Er wusste ja auch, dass ich es kann und die Klausuren waren auch entsprechend.

    Also alles in allem: es hat mich, der ich vorher reiner Autodidakt war, doch etwas voran gebracht und die Anregungen und Projekte der Lehrer haben mich motiviert, mich an etwas interessanteren/technischeren Probleme zu wagen (statt nur dilettantische Amiga Ballerspiele und Grafikdemos zu machen).

    Nachdem ich erst überlegt hatte, in dem Film/Video und neu entstehenden 3D Animationsbereich zu gehen (diverse Praktika in der Medienbranche haben mich dann ernüchtert) habe ich dann doch Informatik an der Uni studiert.

    Keine Ahnung, ob ich das ohne die Schul-Informatik gemacht hätte und ob es dann leichter oder schwerer gewesen wäre...



  • Fedaykin schrieb:

    Leider sind gehen bei solchen sachen dann Pointer, Speicherreservierungen, Referenzen etc unter.

    Das sind wieder Details, welche viele Programmiersprachen gemeinsam haben und gerade für das verstehen des, "Programmierens" für Prozeduralen/OOP Sprachen, sehr wichtig sind.

    sorry, wenn ich da anderer Meinung bin.

    Pointer, Speicherreversierungen und Referenzen sind für das Verständnis der OOP vollkommen unwichtige Details.

    Was hat das überhaupt mit OOP zu tun ? Das hat eher was mit System-Programmierung und Low-Level zu tun.

    Reine OOP-Sprachen haben typischerweise eine automatische Speicherverwaltung und gar keine Syntax für Zeiger.



  • ... und noch eins:

    Warum lernt man in der Schulphysik, wie man ein Drehmoment berechnet, aber nicht, wie man einen Schiffsdiesel schmiert?

    Warum lernt man im Sprachunterricht in der Schule Latein und nicht einen gängigen Dialekt, mit dem man sich in der Disko viel besser verständigen könnte ?

    Eben. Es geht darum, Konzepte zu vermitteln. Abstrakte Konzepte, die man verstanden haben sollte, um später die praxisnäheren Details verstehen zu können, die man im Beruf braucht.

    Wie man eine Speicherverwaltung implementiert oder wie man mit Zeigerarithmetik im Speicher spazieren geht und daß ASCII 64 = "@" ist, gehört meiner Meinung nach nicht zu dem, was ein Neuling unbedingt über OOP wissen müssen sollte.



  • zum beispiel schrieb:

    Es geht darum, Konzepte zu vermitteln. Abstrakte Konzepte, die man verstanden haben sollte, um später die praxisnäheren Details verstehen zu können, die man im Beruf braucht.

    Kinder (die meisten) interessieren sich nicht für abstrakte Konzepte. Das endet dann nur im so übel gescholtenen, "langweiligen" Lehrstil der angeblich an allem Schuld ist. 🙄
    Bei mir schlagen da auch zwei Herzen in der Brust. Es erscheint "richtig" den Weg vom Abstrakten zum Prakischen zu gehen, aber um Interesse bei jemandem zu wecken muss man es meist andersherum angehen.

    Als ich angefangen habe zu programmieren (mit ca. 12) wollte ich einfach lustige Textadventures in BASIC machen und nicht lernen was ein Pointer ist.

    Ich hatte z.b. in der Mittelstufe einen Physiklehrer der äußerst beliebt war weil er z.b. eben nicht so abstrakt angefangen hat sondern ein Thema immer interessanten praktischen Fragen eingeleitet hat. Die physikalische Gesetzmäßigkeit die eigentlich Thema ist stand dann eher am Ende einer Kette vom Beobachtungen, Überlegungen und Experimenten und wurde so hergeleitet.
    Beispiel: Wird die Küche kälter wenn man die Kühlschranktür offenlässt? - zum Thema Energieerhaltung. Nachdem er verlautete dass 90% der Klasse sich irrt waren eigentlich alle an einer ausführlichen Erklärung interessiert.

    Bei Studenten kann man dann von etwas anderen Voraussetzungen ausgehen, aber auch bei "fachfremden" hilft es bestimmt wenn man ein Thema erst mal interessant macht bevor man sich ins Abstrakte stürzt.



  • illuminator schrieb:

    Kinder (die meisten) interessieren sich nicht für abstrakte Konzepte. Das endet dann nur im so übel gescholtenen, "langweiligen" Lehrstil der angeblich an allem Schuld ist. 🙄

    Kinder interessieren sich auch selten für das kleine Einmaleins oder Druckbuchstaben. Soll man es deshalb weglassen ?

    Man muß und kann abstrakte Konzepte vermitteln, wenn man die Lehrinhalte richtig darstellt. Darstellung ist eminent wichtig.

    D.h. vor allem mit Beispielen - wohl mit das wichtigste Verständnismittel überhaupt -, und zwar mit Beispielen, an denen genau das Prinzip erkannt werden kann, ohne von weiteren Details verwirrt zu werden.

    illuminator schrieb:

    und nicht lernen was ein Pointer ist.

    sage ich doch: Pointer sind nicht gut, um OOP für Neulinge zu erklären.

    illuminator schrieb:

    aber auch bei "fachfremden" hilft es bestimmt wenn man ein Thema erst mal interessant macht bevor man sich ins Abstrakte stürzt.

    Absolut richtig.

    Also das OOP-Konzept anschaulich erklären mit bekannten Strukturen wie "Tier - Säugetier - Affe - Meerkatze" oder "Fortbewegungsmittel - Fahrzeug - motorisiertes Fahrzeug - Auto", aber nicht mit Pointerarithmetik und Speicherklassen. Zumindest nicht für Kinder, die sich vielleicht nicht einmal dafür interessieren und später Archäologe oder Forstwirt werden.



  • Kinder interessieren sich auch selten für das kleine Einmaleins oder Druckbuchstaben. Soll man es deshalb weglassen ?
    

    Nein, aber vernünftig am Beispiel erklären, so wie das Kühlschrankbeispiel oben.



  • zum beispiel schrieb:

    Fedaykin schrieb:

    Leider sind gehen bei solchen sachen dann Pointer, Speicherreservierungen, Referenzen etc unter.

    Das sind wieder Details, welche viele Programmiersprachen gemeinsam haben und gerade für das verstehen des, "Programmierens" für Prozeduralen/OOP Sprachen, sehr wichtig sind.

    sorry, wenn ich da anderer Meinung bin.

    Pointer, Speicherreversierungen und Referenzen sind für das Verständnis der OOP vollkommen unwichtige Details.

    Was hat das überhaupt mit OOP zu tun ? Das hat eher was mit System-Programmierung und Low-Level zu tun.

    Reine OOP-Sprachen haben typischerweise eine automatische Speicherverwaltung und gar keine Syntax für Zeiger.

    Und nun programmiere mir ein Programm was möglichst wenig Speicher verbraucht in Java. Du hast in Java keinen direkten zugriff auf Ponter, Speicherreservierungen etc. , das stimmt. Aber man muss wissen, was das ist um effektiv programmieren zu können. Es ist schön das man bei GC Programmiersprachen nicht so sehr auf das Speicherhandling achten muss, aber wenn man das zu sehr schlauchen lässt. Kommt man spätestens dann, wenn man auf Speicher achten muss, in teufels Küche.

    Wenn ich also Weiß wo und Wie Java sein Speicher reserviert. Und wie es die übergaben von Klassen realisiert wird, weiss ich wie ich dort "Sparmaßnamen" umsetzen kann. Aber dazu brauch ich die Basics.



  • Fedaykin schrieb:

    Und nun programmiere mir ein Programm was möglichst wenig Speicher verbraucht in Java.

    mission impossible


Anmelden zum Antworten