Nachdem ich diese Folge "bereits mehrfach" gesehen hatte ist mir folgender gedanke gekommen für eine neue YT Serie. Denken wie ein Programmierer. Ich bin mir sicher, dass Sie dieses Problem kennen. Man kennt die Syntax einer Sprache aber man weiß nicht genau wie man damit umzugehen hat. Mir fiel es immer schwer zu denken wie ein Programmierer. Eines Tages habe ich mit der Spielprogrammierung angefangen und musste eine ganz neue Art des "Denkens" erlernen. Viele Ihrer Studenten hatten bestimmt das gleiche Problem (oder auch nicht). Daher schlage ich vor das Sie vielleicht noch ein zwei, ganz viele, Videos zu der Thematik. "Die Logik - Denken wie ein Softwareentwickler" erstellen, wo sie versuchen näher zu bringen wie die eigentliche Logik bzw. die Richtung und die Art des Denkens näher bringen. Wie und wo Abläufe geschildert werden können etc. Ich bin der Meinung das die Spielprogrammierung dafür ein guter Einstiegspunkt ist da dort die logischen Abläufe der Softwareentwicklung sehr nahe kommen z.B: int HP = 100 If(Spieler trifft Schwachpunkt vom Gegner kritisch = true) Gegner = HP - 50 else if gegner = HP - 10 else Verfehlt OK dieses Beispiel hinkt vorne und hinten aber so fiel es mir immer leichter. Naja wie dem auch sei... Ich bedanke mich Sensei! Danke für die tolle Reihe.
Das Erlernen einer Programmiersprache funktioniert ähnlich wie das Erlernen einer Fremdsprache. Es reicht überhaupt nicht aus, immer nur wieder Grammatik- und Vokabelbücher zu lesen, sondern man muss die Sprache aktiv sprechen. Idealerweise greift ein Lehrer korrigierend ein oder man bemerkt selbst, dass man etwas falsch gemacht hat. Bei C++ ist das genauso: Es reicht nicht aus, nur mein Skript oder Buch zu lesen oder nur meine Videos zu sehen. Man muss selbst Hand anlegen, meine Beispiele modifizieren oder besser ein eigenes C++-Projekt zu einem Thema verfolgen, das einem Spaß macht: Spieleprogrammierung, elektronische Schaltungen simulieren usw. Ein Lehrer, der jeden "Grammatik- und Vokabelfehler" sofort ahndet, ist immer zur Stelle: der Compiler. Er weist einen darauf hin, was man noch nicht so gut verstanden hat. Dann liest man sich das Thema noch mal durch oder sieht es sich als Video nochmal. Auf diese Weise lernt man. Meine Videos und mein Buch sollen helfen, die Lernkurve etwas schneller zur erklimmen und ein tieferes Verständnis von der Sprache zu gewinnen. Das Thema "Denken wie ein Software-Entwickler" hat allerdings noch weitere Aspekte neben der Programmierung: Analyse und Entwurf von SW-Architekturen. Wenn ich mit dem C++ Tutorial durch bin, kann ich mich ja mal an das nächste UA-cam-Projekt machen. Also dran bleiben, vielleicht kommt ja irgendwann das Special "Die Logik - Denken wie ein Software-Entwickler" ;)
Als Baisisinformation gut erklärt. Mir fehlt zwar noch das Wort "dereferenzieren" aber das kommt sich auch noch. Oder eine Andeutung, dass man Zeiger auch als Funktionsparameter nehmen kann.. Ich denke das wird später noch kommen. Danke.
Danke für den Hinweis. Zeiger werden in den folgenden Videos immer wieder mal verwendet. Möglicherweise habe ich dort auch mal den Begriff "dereferenzieren" genannt. Vielleicht aber auch nicht, um Verwirrung mit den C++ Referenzen zu vermeiden. Für alle, die hier mitlesen und sich fragen, was mit "dereferenzieren" gemeint ist: int i=1; int* z = &i; *z = 2; Der "*"-Operator in der letzten Zeile ist hier der Indirektionsoperator und damit "dereferenziert" man den Zeiger z, um über *z auf den Wert von i zuzugreifen.
Nachdem ich diese Folge "bereits mehrfach" gesehen hatte ist mir folgender gedanke gekommen für eine neue YT Serie.
Denken wie ein Programmierer.
Ich bin mir sicher, dass Sie dieses Problem kennen. Man kennt die Syntax einer Sprache aber man weiß nicht genau wie man damit umzugehen hat.
Mir fiel es immer schwer zu denken wie ein Programmierer. Eines Tages habe ich mit der Spielprogrammierung angefangen und musste eine ganz neue Art des "Denkens" erlernen.
Viele Ihrer Studenten hatten bestimmt das gleiche Problem (oder auch nicht). Daher schlage ich vor das Sie vielleicht noch ein zwei, ganz viele, Videos zu der Thematik.
"Die Logik - Denken wie ein Softwareentwickler" erstellen, wo sie versuchen näher zu bringen wie die eigentliche Logik bzw. die Richtung und die Art des Denkens näher bringen. Wie und wo Abläufe geschildert werden können etc.
Ich bin der Meinung das die Spielprogrammierung dafür ein guter Einstiegspunkt ist da dort die logischen Abläufe der Softwareentwicklung sehr nahe kommen z.B:
int HP = 100
If(Spieler trifft Schwachpunkt vom Gegner kritisch = true)
Gegner = HP - 50
else if
gegner = HP - 10
else
Verfehlt
OK dieses Beispiel hinkt vorne und hinten aber so fiel es mir immer leichter.
Naja wie dem auch sei...
Ich bedanke mich Sensei! Danke für die tolle Reihe.
Das Erlernen einer Programmiersprache funktioniert ähnlich wie das Erlernen einer Fremdsprache. Es reicht überhaupt nicht aus, immer nur wieder Grammatik- und Vokabelbücher zu lesen, sondern man muss die Sprache aktiv sprechen. Idealerweise greift ein Lehrer korrigierend ein oder man bemerkt selbst, dass man etwas falsch gemacht hat. Bei C++ ist das genauso: Es reicht nicht aus, nur mein Skript oder Buch zu lesen oder nur meine Videos zu sehen. Man muss selbst Hand anlegen, meine Beispiele modifizieren oder besser ein eigenes C++-Projekt zu einem Thema verfolgen, das einem Spaß macht: Spieleprogrammierung, elektronische Schaltungen simulieren usw.
Ein Lehrer, der jeden "Grammatik- und Vokabelfehler" sofort ahndet, ist immer zur Stelle: der Compiler. Er weist einen darauf hin, was man noch nicht so gut verstanden hat. Dann liest man sich das Thema noch mal durch oder sieht es sich als Video nochmal. Auf diese Weise lernt man. Meine Videos und mein Buch sollen helfen, die Lernkurve etwas schneller zur erklimmen und ein tieferes Verständnis von der Sprache zu gewinnen.
Das Thema "Denken wie ein Software-Entwickler" hat allerdings noch weitere Aspekte neben der Programmierung: Analyse und Entwurf von SW-Architekturen. Wenn ich mit dem C++ Tutorial durch bin, kann ich mich ja mal an das nächste UA-cam-Projekt machen. Also dran bleiben, vielleicht kommt ja irgendwann das Special "Die Logik - Denken wie ein Software-Entwickler" ;)
Als Baisisinformation gut erklärt. Mir fehlt zwar noch das Wort "dereferenzieren" aber das kommt sich auch noch. Oder eine Andeutung, dass man Zeiger auch als Funktionsparameter nehmen kann.. Ich denke das wird später noch kommen. Danke.
Danke für den Hinweis. Zeiger werden in den folgenden Videos immer wieder mal verwendet. Möglicherweise habe ich dort auch mal den Begriff "dereferenzieren" genannt. Vielleicht aber auch nicht, um Verwirrung mit den C++ Referenzen zu vermeiden.
Für alle, die hier mitlesen und sich fragen, was mit "dereferenzieren" gemeint ist:
int i=1;
int* z = &i;
*z = 2;
Der "*"-Operator in der letzten Zeile ist hier der Indirektionsoperator und damit "dereferenziert" man den Zeiger z, um über *z auf den Wert von i zuzugreifen.
2. Runde