Ich habe gestern etwas Zeit gefunden die 4. Lektion aufzunehmen. Sie scheint mir aber irgendwie zu viel zu sein für den Anfänger. Was haltet ihr davon?
Das erste C Programm
Mich interessieren vor allem: Bewertung von Sprache und Verständlichkeit. Könnte es ein Anfänger jemals (der vorher noch nie programmiert hat) es bis zur 4. Lektion schaffen und noch motiviert sein?
Ich habe mir überlegt das nächste Video als Übungsvideo zu gestalten. Dort soll dann der Übende eine Aufgabe lösen. ALso ein bestimmtes Muster am Bildschirm ausgeben.
Ich freu mich schon auf Feedback!
Geändert von Frank Erlich (22.09.2014 um 11:01 Uhr)
Hallo Frank.
Ich habe mir das vierte Video als erstes deiner Reihe angesehen. Die Sprache ist einwandfrei verständlich - und bewundernswert flüssig vorgetragen parallel zur Computerbedienung!
Die Inhalte werden sehr ausführlich dargestellt. Ich fühle mich dabei an die Tutorials von Borland Turbo Pascal erinnert; die Leute haben den Stoff damals auch super verständlich und nachvollziehbar aufbereitet.
Jetzt habe ich zwar nur rudimentäre C-Kenntnisse, ansonsten aber reichlich Programmiererfahrung. Da fällt es schwer, sich in einen absoluten Anfänger hineinzudenken. Ich glaube aber doch, dass die Ausführlichkeit so gut ist, dass man von Null beginnend gut folgen kann.
Übungen sind immer gut, weil sie den Unterrichtstrott unterbrechen und eine Lernkontrolle ermöglichen. Ob Muster am Bildschirm aber wirklich zielführend sind, bezweifle ich.
Vielleicht fällt dir ja noch ein kleines Projekt ein, das in absehbarer Zeit umsetzbar ist. Spontan fällt mir eine Art Rechenprogramm ein, das formatierte Eingaben einfordert und Rechenergebnisse formatiert ausgibt. Wählbare Rechenoperatoren als Erweiterung, Datenablage in einer Datei etc.; damit kann man die zentralen Teile der stdio.h unter die Füße kriegen.
Just my two cents.
Mach weiter so! Hoffentlich erinnere ich mich an deine Videos, wenn ich zukünftig mal von Assembler auf C umsteige.
Gruß
RoboHolIC
Ich natürlich auch. Ich habe aber damals in meiner Universität erlebt, dass manche nicht einmal das schaffen. Ich dachte mit Mustern für die allererste Aufgabe ist deshalb so sinnvoll, damit auch die Lernenden draufkommen wie man so mit Abständen im printf() umgeht und etwas ein Gefühl dafür entwickeln. Du musst beachten, dass einige Programmieren lernen die wirklich überhaupt keine Ahnung haben. Natürlich werde ich auch das Aufgabenlevel mit den kommenden Tutorials steigern (Einfacher Taschenrechner, erweiterte stdio funktionen, Datenspeicherung usw...). Ich will aber nicht den Fehler machen zu Beginn schon schwierige Aufgaben zu stellen. Ich hatte mir das eigentlich so vorgestellt:Ob Muster am Bildschirm aber wirklich zielführend sind, bezweifle ich.
Lektion1
Lektion2
Lektion3
Lektion4
Aufgabe1
Lösung1
Lektion5
Lektion6
Aufgabe2
Lösung2
.
.
.
Ich denke mit dieser Methode erreiche ich immer noch die Meisten Beginner. Werde aber auch zu jeder Aufgabe dazusagen dass jene für totale Anfänger sind und ev. übersprungen werden können.
Ich danke dir aber für dein motivierendes Feedback! Ich werde eventuell nach der 10. Lektion einige Personen aus meienem Kreis auswählen, die noch nie programmiert haben und keine Idee davon haben und ihnen diesen Kurs vorlegen und einfach eine Art Statistik führen.
Im Endeffekt werde ich aber doch hoffen müssen, dass ich den größeren Kreis damit erreiche.
Mal sehn wie das wird..
Danke nochmal!
Lg
Hallo Frank,
Also ich mal wieder!
3:18 Daten an den Bildschirm senden und von der Bildschirm Tastatur einlesen.
5:20 Hier sollt man darauf hinweisen, dass in C der erste Fehler wichtig ist und der Rest meist Folgefehler sind!
Ich habe es oft erlebt, dass Anfänger versuchten den Fehler zu entfernen, welchen sie verstanden haben, also oft einen Folgefehler, was nicht zum Ziel führt und nur Frust erzeugt.
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Ja ja!! Sehr gut. Danke.3:18 Daten an den Bildschirm senden und von der Bildschirm Tastatur einlesen.
Das Video würde für diese Details zu lang werden. Ich habe mir aber überlegt in der nächsten Lektion einen Folgefehler einzubauen (wenn möglich) und bei diesem speziellen Fall dann zu zeigen, wie man so etwas angeht. Ich denke nämlich bei einer printf Anweisung wird man da nicht so schnell etwas falsch machen.5:20 Hier sollt man darauf hinweisen, dass in C der erste Fehler wichtig ist und der Rest meist Folgefehler sind!
Danke aber für den wertvollen Hinweis!!
Lg
Hallo Frank,
Eigentlich dachte ich nur, dass du das mal kurz erwähnst.
Dein Beispiel erzeugt schon einen Error und eine Warning.
Und zwar den eigentlichen Fehler in Zeile 5 und die Warning in Zeile 6 ist schon ein Folgeproblem.
Grundsätzlich sollte man bei modernen Compilern Warnings wie Fehler behandeln.
Zudem schalte ich bei Compilern immer die höchste Empfindlichkeit ein.
Ich hatte schon viele Projekte übernommen, welche nicht richtig funktioniert hatten, oft waren diese mit "Warnigs = off" übersetzt worden.
Wenn sich dann alles ohne Warnings übersetzen lies, waren meist auch die meisten dubiosen Fehler verschwunden
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Von mir jetzt an der Stelle ein Einwurf für RoboHolIC und andere PIC-begeisterte. Die hier vorgestellte IDE (CodeBlocks) unterstützt einige Compiler, u.a. den SDCC mit dem man PIC16 und PIC18 in C programmieren kann. Ob du als Assembler Programmierer-Profi im Sinne von Frank Anfänger bist, kann ich nicht beurteilen. Mir fehlt ein bisschen die Definition von "Anfänger" bzw. der Zielgruppe und der Vorkenntnisse. Der Begriff Anfänger ist außerdem etwas negativ besetzt, aber das ist Geschmackssache.
Was die Motivation der "Anfänger" angeht, mir würde an dem Kurs eine ganz kurze Inhaltsangabe oder Zielsetzung des Kurses helfen. Eine Programmiersprache ist für mich ein Werkzeug das ich für die Lösung einer Aufgabe brauche. C ist zwar quasi die Weltsprache der verschiedenen Mikrocontroller-Familien, aber ich würde (im Kurs) nur durchhalten, wenn ich wüsste, dass ich in dem Kurs am Ende das lernen kann, was ich brauche. Als Anwender lerne ich eine neue Programmiersprache mit einer bestimmten Zielvorstellung. Ein Kurs muss zu meiner Aufgabe und Zielsetzung passen und das sollte ich am Anfang des Kurses einschätzen können.
@RoboHolIC: Übrigens für den Umstieg von Assembler auf C mit PIC Mikrocontrollern gibt es mMn gute Tutorials bei gooligum und bei Sprut. (Frank sorry für die Querwerbung, aber wir sind hier unter uns oder?)
Geändert von witkatz (24.09.2014 um 16:11 Uhr)
Ich meine den Kurs so (und das werde ich auch wenn er fertig ist für jeden klar stellen und in der Playlist eine passende Beschreibung dazutun): Es soll dem Kursbesucher die Programmiersprache C vollständig beigebracht werden. Dazu zählen nicht nur Grundlegende Sachen wie Ausgaben und Eingaben, oder Variablen, Arrays, Strukturen und dynamische SPeicherverwaltung, sondern es soll ein möglichst breites Spektrum erreicht werden durch Übungen und Projekte, sodass wenn man diesen Kurs hinter sich hat (mit all den Übungen usw...) , man mit gutem Gewissen davon ausgehen kann eine gute Basis von der Programmiersprache C zu haben und es einem nicht sehr schwer fallt auf andere Systeme oder gar OO Sprachen umzusteigen. Dieser Kurs hat also insofern nichts mit Mikrocontrollern und deren Spezialitäten zu tun.Was die Motivation der "Anfänger" angeht, mir würde an dem Kurs eine ganz kurze Inhaltsangabe oder Zielsetzung des Kurses helfen.
Er wird daher natürlich auch keine speziellen Mikrocontrollerfamilien und deren Einschränkungen beachten. Das wäre ja vollkommen daneben und würde zu 1000 de solcher Videotutorials führen. Weiters ist es auch nicht das Ziel Assembler zu präsentieren. Dafür wäre ein anderer Kurs geeignet.
Diesen Satz verstehe ich leider nicht.aber ich würde nur bis zur Lektion 4 eines Programmierkurses durchhalten, wenn ich wüsste, dass ich in dem Kurs am Ende das lernen kann, was ich brauche.
Da bin ich vollkommen einverstanden. Noch ist der Kurs aber insofern kein vollständiger. Wenn er vollständig wäre, könntest du auch zur 44 Lektion schauen und hineinschnuppern. Ich befürchte aber, dass es länger dauern wird bis ich bei Lektion 44 bin, weil ich möglichst wenige Details auslassen möchte. Ich halte überhaupt nichts davon Programmieren einfach irgendwie beizubringen, sodass es eben funktioniert. Nein. Deshalb mache ich ja den Kurs. Ich will damit den Studenten oder auch andere Gruppen sehr genau und verständlich mit der Programmiersprache C konfrontieren, sodass sie nicht nur glauben zu wissen was Sache ist, sondern definitiv wissen was Sache ist. Jedoch muss man da gerade zu Beginn etwas sanfter vorgehen als bei Lektion 44. Ich hoffe das ist verständlich.Als Anwender lerne ich eine neue Programmiersprache mit einer bestimmten Zielvorstellung. Ein Kurs muss zu meiner Aufgabe und Zielsetzung passen und das sollte ich am Anfang des Kurses einschätzen können.
Hehe, du kannst gerne Querwerbung reinbauen(Frank sorry für die Querwerbung, aber wir sind hier unter uns oder?)Kp.
Lg
Klare Ausdrucksweise ist nicht meine Stärke, sorry. Es sollte die Antwort sein auf: Ich wollte damit ausdrücken, dass die Kursinhalte alleine die Motivation sind. Ich verstehe nicht, was du mit "Programmiersprache C vollständig" mit "möglichst wenige Details auslassen" meinst. Ich habe gerade ein C Grundlagen Buch vor mir liegen. 1044 Seiten nur Grundlagen! Dazu kommen dann Verweise auf weitergehende Literatur. Willst du wirklich so ein geballtes Wissen in einem Kurs einem Anfänger, der noch nie programmiert hat aufbrummen?
Lesezeichen