Interaktives C++ Tutorial?



  • Mister C++ schrieb:

    4.Die Software sollte Lösungen anbieten, nach dem Schema Fahrschule für Autos.

    Schreib mal den gewünschten Ablauf auf, wie Du Dir eine Lektion grundsätzlich im Ablauf vorstellst. Einfach nur multiple Choice?

    Ich habe so ein Projekt in Planung... was heißt, dass ich es noch nicht implementiere, sondern mir nur im Hinterkopf Gedanken dazu mache. Entsprechend bin ich an Ideen interessiert.



  • Vorschlag für den Ablauf. (Ideensammlung)
    Wie alt sind sie? jetzt sollte das interaktive Tutorial reagieren
    Kinder bis 12 sollten einfaches C++ lernen, also die Grundlagen
    #include (inkludieren aus einer Auswahlliste (iostream,stdio etc. passend einfügen)).
    Jetzt sollten die Variablen Deklarationen erfolgen.
    Die Variablen sollten aus einem optischen Behälter (z.B Buch oder Tafel, oder Eistüte eingefügt werden) jeweils mit Wahrnsysmbolen wenn was fehlt.
    int main sollte erklärt werden, durch einen Textbaustein
    Geschweifte Klammern und Fehlerquellen sollten erklärt werden.<< mit einem Sprung zum Ende des Quelltextes.
    Einfache Schleifenkonstrukte sollten erklärt werden.

    Und ganz zum Schluss sollte ein vorgefertigtes Ergebnis z.B ein Terminal mit Hello world oder eine Kreide Tafel mit hello World in Erscheinung treten.
    Von Windows kennt man den gelben Hund Fredo, aber der nicht, aber ein Lehrer der an einer Kreide Tafel unterrichtet könnte schon motivierend sein.
    Oder eine Schulklasse (C++) wenn man draufklickt auf die Personen von Schülern Antworten gebn die der Lehrer kommentiert

    PS Ich (Mister C++) bin keine 12 Jahre alt.



  • Ähm, reden wir immer noch über C++, eine der schwersten Programmiersprachen überhaupt?
    Das ist nichts, was man via schönen Bildern und Animationen Kindern beibringt...



  • Warum sollte man Kindern von 12 Jahren kein einfaches C++ beibringen?

    Der Nachwuchs der Zukunft.

    Irgenwo vom Alter muss es doch Anfangen. Und mit 12 Jahren ist man doch schon Vernunft betohnt.

    Ansonsten könnte man C++ auch Hausfrauen beibringen.

    P.S Ich bin kein Lehrer und auch kein Dozent.



  • Mister C++ schrieb:

    Warum sollte man Kindern von 12 Jahren kein einfaches C++ beibringen?

    Der Punkt ist der: Es gibt kein einfaches C++.
    Man muss fast alles von C++ können, um damit vernünftig zu arbeiten.

    Ich hab da prinzipiell nichts gegen C++ so früh wie möglich zu lernen.
    Ich selber habs mit 13 getan.
    Aber man kann C++ nicht so mit interaktiven Lernspielen beibringen.
    Entweder man versteht die Bücher oder man kann es bleiben lassen.
    Soweit meine Meinung.



  • Mister C++ schrieb:

    Vorschlag für den Ablauf. (Ideensammlung)
    Wie alt sind sie? jetzt sollte das interaktive Tutorial reagieren
    Kinder bis 12 sollten einfaches C++ lernen, also die Grundlagen

    Ich sehe hier eher zwei Tutorials - eins für Kinder und eins für Erwachsene.
    Was ist die Interaktion während des Tutorials?

    Mister C++ schrieb:

    Und ganz zum Schluss sollte ein vorgefertigtes Ergebnis z.B ein Terminal mit Hello world oder eine Kreide Tafel mit hello World in Erscheinung treten.
    Von Windows kennt man den gelben Hund Fredo, aber der nicht, aber ein Lehrer der an einer Kreide Tafel unterrichtet könnte schon motivierend sein.
    Oder eine Schulklasse (C++) wenn man draufklickt auf die Personen von Schülern Antworten gebn die der Lehrer kommentiert

    Das wäre dann aber kaum interaktiv - zumal, wenn ich Dich richtig verstehe, die Fragen ja nicht vom Lernenden kommen, sondern vom Tutorial.

    Nathan schrieb:

    Ähm, reden wir immer noch über C++, eine der schwersten Programmiersprachen überhaupt?
    Das ist nichts, was man via schönen Bildern und Animationen Kindern beibringt...

    Ich habe mit 12 Assembler gelernt.
    Allerdings auch nicht mit schönen Bildern, sondern mit einen schlechten Tutorial auf einem Disk-Magazin. Was bedeutete, dass man entweder lesen/abschreiben oder ausprobieren konnte. Multitasking war damals noch nicht so üblich in der Preisklasse der Computer, die ich mir in der Zeit leisten konnte.

    Ansonsten ist C++ in meinen Augen nicht schwerer als Python. C++ ist wie Mathe: Es wird erst dadurch schwer, weil man den Lernenden davon überzeugt, dass es eine der schwersten Sachen ist, die man lernen kann. Lässt man diese Info weg, ist C++ genauso wie Mathe: Erstaunlich einfach zu lernen.
    Wenn ich Leuten C++ oder Mathe beibringe ist das meine Hauptaufgabe: Den Leuten klar zu machen, dass es wirklich so einfach ist. Ein Student in einem C++-Tutorium verweigerte sogar die richtige Antwort mit der Begründung, dass diese zu einfach wäre und deswegen falsch sein muss.

    Als ich Assembler lernte, hat mir auch keiner gesagt, dass Assembler schwer ist. Ich wusste nur, dass es schneller als Basic ist, also habe ich eben Asm gelernt. Und da es für mich normal war, dass ein Programmierfehler den kompletten Computer zum Absturz bringt, bringt mich ein Segmentation Fault heute nicht aus der Ruhe, um etwas als "schwer" zu titulieren. Mit gdb bekomme ich sogar 'nen Stacktrace. Bei 99% der Fehler, um den Fehler sofort zu wissen. Früher hat man solange auskommentiert, bis man sich an die Position rangearbeitet hatte und war dankbar, wenn das Fehler den Computer wenigstens zuverlässig zum Absturz bringt.
    Was heute "schwer" ist, war vor 20 Jahren normal und vor 40 Jahren eine unglaubliche Vereinfachung. Dennis Ritchie hat 1972 eine Begründung für C beschrieben. Da steht beschrieben, wie einfach C ist. "schwer" ist nur eine Frage der Perspektive, die man einnehmen möchte.
    Ein Schüler sollte immer einfach die Perspektive einnehmen "Is' halt so".

    Noch ein PS zu den 12jährigen. Das Assembler-Tutorial war für Erwachsene. Wenn ich als 12jähriger Programmieren lerne, dann will ich etwas tun, was Erwachsene tun. Ich will zu den Großen dazugehören. Ich will also gerade eben kein Kinderbuch oder Kindertutorial, sondern wie ein Großer behandelt werden.



  • Xin

    Das wäre dann aber kaum interaktiv - zumal, wenn ich Dich richtig verstehe, die Fragen ja nicht vom Lernenden kommen, sondern vom Tutorial.

    Das ist schon richtig, aber es gäbe noch etwas was mir einfällt egal ob Kinder ab 12 oder Erwachsene. An dich als Moderator und Ideensammler:
    Was hälst du von der idee, mit Headset also Mikrofon ein Tutorial zu bauen, also mit Sprachsysntese.

    Was ist die Interaktion während des Tutorials?

    Click&Point
    Und noch etwas ein Tutorial ist kein Sourcecodegenerator.
    Interaktiv eben wegen den multimedialen Eigenschaften die ein PC mit OS(Operationsystem) hat.

    Noch ein PS zu den 12jährigen. Das Assembler-Tutorial war für Erwachsene. Wenn ich als 12jähriger Programmieren lerne, dann will ich etwas tun, was Erwachsene tun. Ich will zu den Großen dazugehören. Ich will also gerade eben kein Kinderbuch oder Kindertutorial, sondern wie ein Großer behandelt werden.

    Das ist schon richtig, aber Kinder haben doch meisten Kontakt zu Kindern, dem Imponiergehabe wegen.
    Ansonsten Grosseltern.
    Bei Kindern zählt eher das Geld, und davon haben die weniger.
    Bei den Erwachsenen ist es meistens um die Arbeit bestellt.
    Und ansonsten wie obige Postings, ist das alles sehr spekulativ.



  • Mister C++ schrieb:

    Xin

    Das wäre dann aber kaum interaktiv - zumal, wenn ich Dich richtig verstehe, die Fragen ja nicht vom Lernenden kommen, sondern vom Tutorial.

    Das ist schon richtig, aber es gäbe noch etwas was mir einfällt egal ob Kinder ab 12 oder Erwachsene. An dich als Moderator und Ideensammler:
    Was hälst du von der Idee, mit Headset also Mikrofon ein Tutorial zu bauen, also mit Sprachsysteme.

    Sprachsysteme?

    Wer soll da sprechen? Ich? Quasi ein Hörbuch?
    Oder der Student? Was soll der sagen? "void main runde Klammer auf int argc Komma char const stern eckige klammer auf eckige klammer zu argv runde Klammer zu"?

    Mister C++ schrieb:

    Was ist die Interaktion während des Tutorials?

    Click&Point

    Ich kenne Point & Click Adventures, aber ich weiß jetzt nicht, wie das in C++ funktionieren soll, bzw. wieviel Aufwand notwendig wäre, um effektiv über ein normales Tutorial zu kommen.
    Programmieren lernen ist Ausprobieren. Mit Quelltext.

    Mister C++ schrieb:

    Und noch etwas ein Tutorial ist kein Sourcecodegenerator.
    Interaktiv eben wegen den multimedialen Eigenschaften die ein PC mit OS(Operationsystem) hat.

    Und wofür sollen die genutzt werden?
    Man kann ein Video einbauen, mit dem Gedanken spiele ich schon länger, aber selbst wenn der Lehrer daneben sitzt ist eine Unterrichtsstunde nur begrenzt interaktiv: Der Lehrer gibt die Themen vor und geht auf Fragen ein.
    Bei einem Tutorial gibt's keinen Lehrer.

    Auf meiner Website gibt's Tutorials und ein Forum, um Fragen stellen zu können. Das will ich enger zusammen bringen, und gerne auch interaktiver machen, wenn es dem Studenten einen Vorteil verschafft und in realistischer Zeit realisierbar ist.
    Aber ich sehe da derzeit eigentlich wenig Möglichkeiten - darum frage ich ja nach, was Du Dir da vorstellst.
    Um mir das vorstellen zu können, bräuchte ich aber einen konkreten Anwendungsfall.

    Mister C++ schrieb:

    Noch ein PS zu den 12jährigen. Das Assembler-Tutorial war für Erwachsene. Wenn ich als 12jähriger Programmieren lerne, dann will ich etwas tun, was Erwachsene tun. Ich will zu den Großen dazugehören. Ich will also gerade eben kein Kinderbuch oder Kindertutorial, sondern wie ein Großer behandelt werden.

    Das ist schon richtig, aber Kinder haben doch meisten Kontakt zu Kindern, dem Imponiergehabe wegen.

    Ich habe als Kind programmieren gelernt. Das erste Mal, dass ich hörte, dass das jemandem aus der Kinderzeit imponiert hat, war vor drei Jahren auf dem Klassentreffen - also mit rund 20 Jahren Verspätung.
    Wenn ich irgendjemand hätte imponieren wollen, wäre ich mit einer Spraydose, einem Fussball oder einem BMX-Rad deutlich erfolgreicher und billiger davon gekommen.
    Auf meiner Website sind auch einige Jugendliche unterwegs. Ich kenne keinen, der sich an den Computer setzt, um irgendwen zu imponieren.

    Geld ist nicht das Problem. Heute steht ein Computer, der zum Programmieren lernen reicht, regelmäßig am Straßenrand.



  • Ich sehe hier eher zwei Tutorials - eins für Kinder und eins für Erwachsene.
    Was ist die Interaktion während des Tutorials?

    Da Xin (Moderator) immer noch Ideen sammelt.
    Mach doch ein interaktives Tutorial angepasst an
    1.Archlinux ohne Desktop.
    2.Ubuntuserver ohne Desktop.
    3 Rasberypi(Hardware) OS...
    4.Android Tablett ??

    zu 1.Nur kurz in VirtualBox gestartet.
    zu 2: hab ich zur Zeit auch nicht.
    zu 3 hab ich nicht.
    zu 4 hab ich auch nicht, aber ich stelle mir das als Tutorial toll vor.

    Die Interaktion ist von der Hardware und vom OS abhängig.
    Ein kleines Beispiel zu Ubuntuserver, hier kann man wenn nötig ncurses installieren, alternative dialog installieren, und durch geschickte Auswahl von messageboxen, kann man schon von Interaktion sprechen.



  • Wir haben heute den 1.12, so denke ich ein Weihnachtskalender und C++ Tutorial währe interaktiv.
    Vorstellen würde ich mir das für Kinder, man klickt auf ein 1.Türchen und es kommt keine Schokolade sondern

    #include
    

    .
    2.Türchen offen, everntuell

    int main
    

    Auch ein Puzzle aus Fragmenten beschriftet z.B
    1. Puzzle #include ...
    2. Puzzlestück int main.
    ...
    könnte ich mir als Lernspiel für Jugendliche vorstellen.

    Ein interaktives Tutorial könnte auch nach dem suchen Phenomän aufgebaut sein.



  • Mister C++ schrieb:

    Ich sehe hier eher zwei Tutorials - eins für Kinder und eins für Erwachsene.
    Was ist die Interaktion während des Tutorials?

    Da Xin (Moderator) immer noch Ideen sammelt.

    Ich frage nicht als Moderator.

    Mister C++ schrieb:

    Mach doch ein interaktives Tutorial angepasst an
    1.Archlinux ohne Desktop.
    2.Ubuntuserver ohne Desktop.
    3 Rasberypi(Hardware) OS...
    4.Android Tablett ??

    Ich wiederhole die Frage: Was ist daran der interaktive Teil des Tutorials?

    Mister C++ schrieb:

    Die Interaktion ist von der Hardware und vom OS abhängig.

    Kein Mensch lernt C Programmierung auf einem Raspberry Pi. Das Ding benutzt man, wenn man es kann.

    Mister C++ schrieb:

    Ein kleines Beispiel zu Ubuntuserver, hier kann man wenn nötig Nurses installieren, alternative dialog installieren, und durch geschickte Auswahl von messageboxen, kann man schon von Interaktion sprechen.

    Um eine Messagebox zu öffnen, brauchst du aber schon ein paar C-Kenntnisse. Den Abschluss meines C-Tutorials ist eine MessageBox zu öffnen und zwar mit Gtk. Dabei geht es weniger um die Messagebox, sondern darum, sich eine Library aus dem Internet zu ziehen und diese zu nutzen.

    Wenn ich Dich richtig verstehe, suchst Du ein C/C++-Tutorial mit dem Du GUIs machen kannst.

    Aus Zeitmangel gibt es noch kein brauchbares Gtk-Tutorial, aber Du kannst Dich auf C, dann halbwegs auf C++ und anschließend auf Qt-GUIs einlesen und dann hast Du GUIs.
    Mit NCurses arbeite ich bereits, aber auch hier gibt's ein Zeitmangelproblem. Neben den Tutorials muss ich zwischendurch ja auch arbeiten gehen.

    Ich suchte nach Möglichkeiten das Tutorial interaktiver zu machen, damit der User nicht nur lesen muss, bzw. angenehmer durch das Tutorial geführt wird. Du suchst also kein interaktives C++-Tutorial, sondern ein C++ Tutorial zur Interaktion...

    http://www.proggen.org/doku.php?id=c:start (Grundlagen)
    http://www.proggen.org/doku.php?id=cpp:start (noch nicht fertig)
    http://www.proggen.org/doku.php?id=frameworks:qt:start (GUI)

    Es ist eine Mitmachseite... wer was kann darf auch gerne schreiben.



  • Xin

    Ich suchte nach Möglichkeiten das Tutorial interaktiver zu machen, damit der User nicht nur lesen muss, bzw. angenehmer durch das Tutorial geführt wird.

    Ein interaktives .Pdf Dokument währe auch denkbar. Mit Click&Point.



  • Wie oft willst du noch "mit Click&Point" schreiben? Es heisst "point and click" verdammt nochmal, so doof kann man doch echt nicht sein?
    Abgesehen davon dass das keine Beschreibung der Interaktion ist.

    EDIT: Sorry, schon wieder überreagiert 🙄



  • Das Thema ´Interaktives Tutorial´ ist interessant. Ich stelle mir jedoch wesentlich mehr vor als hier diskutiert wurde.

    So ein Tutorial sollte direkt angebunden sein an eine konkrete Entwicklungsumgebung wie z.B. Visual-Studio.
    Der Lernende probiert sein Verständnis in vorbereiteten Projekten aus, die er schrittweise zum Laufen bringen soll.
    Die möglichen Exceptions, Fehler und Warnungen werden vom Tutorial übernommen und mit dem Wissensstand des
    Lernernden angepassten Hinweisen erklärt.

    Das wäre eine grosse Aufgabe, mit der man etwas anfangen kann. Ein ´Interkatives Tutorial´ nur lesen scheint mir zu wenig.



  • Ich hätte noch eine Idee, ein Wimmelbildspiel mit dem Ziel C++ zu lernen.



  • Jetzt kommts... Das bringt doch alles gar nichts. Entweder kapiert mans, oder man kapierts nicht. Und jeder, der über ein Step by Step Hello World Tutorial hinaus ist, wird trotzdem ein Buch brauchen. Sowas wie ein interaktives Tutorial schaut für mich nach sehr viel Aufwand für eine kleine Starthilfe für jemanden aus, ders wahrscheinlich eh nie kapieren wird.



  • Unabhängig davon, dass viele doch lieber ein gedrucktes Buch lesen muss die Aufgabe
    für ein interaktives Tutorial nicht so gewaltig schwer sein.

    Vorschlag für Tutorial-Autoren mit Unterstützung von Visual-Studio:

    - Projekte zum Lernen vorbereiten
    - Das Tutorial unter [Extras][Externe Tools] bereitstellen (kann ein ganzes Buch sein)
    - [Extras][Codeausschnitt-Manager] und [Extras][Erweiterungs-Manager] nutzen
    - Gggfs. vorbereitete DLL in die Projekte einbinden für mehr Interaktivität
    - Im Tutorial geeignete Links auf die MSDN und andere nützliche Quellen bereitstellen

    Der Anwender hat dann während seiner Lern- und Programmierversuche an Projekten alles papierlos in seiner Hand.

    Bleibt eine Fleissaufgabe. Die Qualität hängt entscheidend von den didaktischen Fähigkeiten des Autors ab.
    Der Nachteil von Büchern ist oft, dass abhängig vom Wissensstand des Lesers manchmal zu viel und
    manchmal zu wenig drin steht.


Anmelden zum Antworten