Machst du die Übungen, wenn du ein Buch liest? [geschlossen]
14
Wie viele von Ihnen arbeiten die Übungen tatsächlich aus, wenn Sie aus einem Buch (einem programmierbezogenen Buch) lernen, und ich arbeite mich derzeit durch ein C ++ - Buch und finde, dass einige der Übungen, die ich für gut halte, übersprungen werden. Tun das die meisten Leute? Oder lesen sie das ganze Buch und kommen zu Übungen zurück, die schwierig aussahen?
Ich fahre gerne Fahrrad, während ich lese, und habe es mir während des Studiums leicht gemacht, mich körperlich zu betätigen und zu lernen. Obwohl ich vermute, dass körperliche Betätigung hier nicht im Zusammenhang steht.
Chris
Tut mir leid, wie einige andere auch, ich war der Wenige, der nie Übungen zu den Lehrbüchern gemacht hat. Ich habe mir die Antworten auf der Rückseite angesehen und versucht zu verstehen, was sie sagten und warum die Antworten so waren.
Buhake Sindi
Niemand sonst findet es komisch, dass dies von StackOverflow migriert und dann sofort auf Programmers.SE geschlossen wurde? Das ist eine Bürokratie sowjetischen Ausmaßes! XD
Drew
Antworten:
17
Ich finde es hilfreich, die Lösungen zu den Übungen einzutippen und auszuführen. Manchmal erhalten Sie die Antwort beim ersten Versuch, und manchmal ist es etwas kniffliger, als es zuerst aussah. Sie werden nie wissen, was Sie vermissen, bis Sie Arbeitscode haben.
Ein großer Vorteil, wenn Sie die Übungen selbst eintippen, wenn Sie das Debuggen üben. Wenn es eine neue Sprache und eine neue Umgebung ist, werden Sie unvermeidlich Fehler machen. Getting die Lösungen selbst die einfachsten Probleme der Arbeit ist eine gute Praxis.
Ich finde, dass ich in der Regel triviale Übungen überspringe, es sei denn, ich befinde mich noch in einem Stadium, in dem ich Schwierigkeiten habe, auch nur die Syntax einer neuen Sprache in den Kopf zu bekommen. Sie sind dazu da, Ihnen etwas zum Üben und eine zum Nachdenken anregende Herausforderung zu bieten.
Es ist ziemlich schwer, eine Sprache aus einem Buch, einer Computersprache oder einem Menschen zu lernen, ohne dass man es übt, wird man es nie beherrschen.
Normalerweise finde ich, dass das Durchführen der Exzise und das Eintippen in die Beispiele Ihnen viel mehr Kontext verleiht, und das Verständnis, auch wenn es einfach aussieht, kann Ihnen etwas über die Funktionsweise des Compilers und andere Dinge beibringen, die man wissen muss, um das tatsächlich zu verwenden Sprache.
Andererseits schaffe ich es fast nie, ein Buch über eine neue Sprache fertig zu stellen, da es Ewigkeiten dauert, alle Übungen durchzuarbeiten, aber ich würde zumindest versuchen, in jedem Thema eine Exzision zu machen.
Eine weitere große Hilfe ist, wie "thorsten müller" vorschlägt, ein Projekt zu starten, um fx umzusetzen. Eine B-Baum-Sortierung oder so etwas macht immer Spaß :) zu implementieren.
Es kommt auf das Buch an. Die Rätsel in K & R sind zum Beispiel ziemlich episch und lehrreich, und es gibt sogar ein Buch namens Das C-Antwortbuch , das die Übungen in den Details behandelt, die sie verdienen.
Wenn Sie Knuth lesen, haben Sie wirklich nichts davon, es sei denn, Sie lesen mit Bleistift und Papier. Natürlich sind einige der Knuth-Probleme allgemein bekannte offene Probleme, sodass Sie nicht erwarten werden, dass sie alle auftreten.
Als Ausbilder habe ich jedoch festgestellt, dass viele Übungen in vielen ansonsten guten Büchern einfach schrecklich sind. Einige von ihnen sind nur BS, scheinbar in letzter Minute angepackt. Infolgedessen muss ich beim Zuweisen von Problemen im Unterricht meine eigenen erstellen. Solange Sie sich auf die richtigen Bücher und die richtigen Probleme konzentrieren, werden Sie viel davon haben. Ich empfehle Ihnen, die in K & R zu machen, auch wenn Sie C ++ lernen möchten.
+1 Für K & R habe ich es (in einem sehr schnellen Tempo) durchgelesen und die meisten Übungen gemacht. Ich hatte das Gefühl, dass ich bei jeder Übung etwas gelernt habe. Andere Bücher scheinen, als hätte ich ausgesucht und gewählt
Adam
2
Nur diejenigen, die interessant und herausfordernd aussehen. Wenn ich die Antwort kenne, ist es nicht sinnvoll, sie einzugeben.
Die meiste Zeit, wenn ich Bücher über eine neue Sprache oder Technologie lese, habe ich meine eigenen kleinen Projekte, die ich zu implementieren versuche. Beginnend mit Conways Spiel des Lebens, gefolgt von einem Sudoku-Löser. Dies hat den Vorteil, dass ich sie bereits in anderen Sprachen gelöst habe und die Ergebnisse vergleichen kann.
Obwohl ich im Moment Racket lerne und da ich einige Schwierigkeiten mit einigen Details der Syntax habe, mache ich weit mehr Übungen als gewöhnlich, um mich daran zu gewöhnen.
Ich mache die einfachsten schnell in meinem Kopf, wenn es diese einfachen Übungen überhaupt gibt. Ich versuche auch zu sehen, ob ich die Idee habe, eine der Übungen zu implementieren, aber die meiste Zeit nicht. Der Grund für die Implementierung besteht darin, zu prüfen, ob Sie die Dinge wirklich richtig verstanden haben, da der Compiler weitaus umständlicher ist als Ihr Verstand und die Sprache auch besser kennt. Dies ist jedoch unterschiedlich, da der Grund für das Durchführen der Übungen darin besteht, das Wissen zu wiederholen, das Sie aus dem letzten Kapitel erhalten haben, und sicherzustellen, dass Sie die Dinge wirklich kennen.
Wenn es keine Übungen gibt, mache ich sie selber. Ich versuche auch immer mindestens, das Zeug in dem Kapitel zu verwenden (tippe den Code in Vim ein, führe aus, ändere usw.).
Ich lasse manchmal einige Übungen für später oder bis zum Ende der Lesesitzung (wenn ich zufällig mehrere Kapitel lese).
Die Übungen helfen beim Lernen und ich benutze sie, wenn ich diese Hilfe brauche.
Das Lesen von Büchern ist Zeitverschwendung, es sei denn, Sie verstehen und erinnern sich, was geschrieben steht. Übungen stellen sicher, dass Sie es tun. Außerdem macht es manchmal Spaß, Übungen zu machen!
Nein, ich lese nur den Code im Buch und mache das manchmal gar nicht. Glaube nicht, dass es notwendig ist. Schließlich lese ich das Buch nicht, um zu lernen, wie man Code schreibt. Ich lese das Buch, um Konzepte zu lernen und neue Ideen zu bekommen.
Es hängt von dem Buch ab, das ich gerade durcharbeite. Wenn ich jedoch auf eine Funktion stoße, mit der ich noch nie zuvor gespielt habe, gebe ich in der Regel ein und führe das Beispiel aus.
Ich trainiere lieber mit diesen Übungen. Diese Fragen lassen uns mehr nachdenken und analysieren und das Ergebnis dieser Übung ist ein Hinweis darauf, wie gut wir wirklich verstanden haben. Je besser Sie verstehen, desto weniger Aufwand müssen Sie sich später merken.
Wenn ich eine neue Sprache lerne und weiß, dass ich viel darin arbeiten werde, werde ich auf jeden Fall jede und jede Übung machen. Auf diese Weise "absorbiere" ich die Sprache und meine grundlegende Syntax wird stark. Auch auf diese Weise lernst du nicht nur zu programmieren, sondern auch in einer bestimmten Sprache zu "denken". Das zweite Mal, wenn ich es überarbeite, muss ich möglicherweise nicht die Übung machen.
Gleichzeitig ist IMO nicht für alle Sprachen gleich. Zum Beispiel musste ich SQL nicht zu hart üben, um C / C ++ zu beherrschen. Ich habe es mindestens vier Mal (einschließlich meines College-Kurses) geübt, um es zu beherrschen.
Noch nie. Ich versuche jedoch, mit dieser Lösung etwas zu schreiben, indem ich aus der Masse vergangener Erfahrungen (mit anderen Worten: Misserfolge) schöpfe und versuche, es zu lösen. Dies scheint wirklich das Neue in mein Gehirn zu ziehen, da ich es auf den bestehenden Kontext beziehe.
Einige Leute haben die Disziplin, Bücher durchzublättern und Übungen zu machen, aber ich bin keiner von ihnen und ich vermute, dass es vielen genauso geht.
Ich denke, das Modell des Buchlernens ist veraltet. Ich würde versuchen, Vorlesungen / Labore online zu finden und diese zu machen.
Zum Beispiel habe ich die Grundlagen von Python durch den Google Code University-Kurs gelernt.
Letztendlich gibt es keinen Ersatz für reale Erfahrungen und alles, was zählt, ist, dass Sie das Material tatsächlich lernen und nicht, wie Sie es tun. Mein Rat ist, es am schnellsten / einfachsten zu machen, anstatt sich selbst zu bestrafen.
Antworten:
Ich finde es hilfreich, die Lösungen zu den Übungen einzutippen und auszuführen. Manchmal erhalten Sie die Antwort beim ersten Versuch, und manchmal ist es etwas kniffliger, als es zuerst aussah. Sie werden nie wissen, was Sie vermissen, bis Sie Arbeitscode haben.
Ein großer Vorteil, wenn Sie die Übungen selbst eintippen, wenn Sie das Debuggen üben. Wenn es eine neue Sprache und eine neue Umgebung ist, werden Sie unvermeidlich Fehler machen. Getting die Lösungen selbst die einfachsten Probleme der Arbeit ist eine gute Praxis.
quelle
Ich finde, dass ich in der Regel triviale Übungen überspringe, es sei denn, ich befinde mich noch in einem Stadium, in dem ich Schwierigkeiten habe, auch nur die Syntax einer neuen Sprache in den Kopf zu bekommen. Sie sind dazu da, Ihnen etwas zum Üben und eine zum Nachdenken anregende Herausforderung zu bieten.
quelle
Es ist ziemlich schwer, eine Sprache aus einem Buch, einer Computersprache oder einem Menschen zu lernen, ohne dass man es übt, wird man es nie beherrschen.
Normalerweise finde ich, dass das Durchführen der Exzise und das Eintippen in die Beispiele Ihnen viel mehr Kontext verleiht, und das Verständnis, auch wenn es einfach aussieht, kann Ihnen etwas über die Funktionsweise des Compilers und andere Dinge beibringen, die man wissen muss, um das tatsächlich zu verwenden Sprache.
Andererseits schaffe ich es fast nie, ein Buch über eine neue Sprache fertig zu stellen, da es Ewigkeiten dauert, alle Übungen durchzuarbeiten, aber ich würde zumindest versuchen, in jedem Thema eine Exzision zu machen.
Eine weitere große Hilfe ist, wie "thorsten müller" vorschlägt, ein Projekt zu starten, um fx umzusetzen. Eine B-Baum-Sortierung oder so etwas macht immer Spaß :) zu implementieren.
quelle
Es kommt auf das Buch an. Die Rätsel in K & R sind zum Beispiel ziemlich episch und lehrreich, und es gibt sogar ein Buch namens Das C-Antwortbuch , das die Übungen in den Details behandelt, die sie verdienen.
Wenn Sie Knuth lesen, haben Sie wirklich nichts davon, es sei denn, Sie lesen mit Bleistift und Papier. Natürlich sind einige der Knuth-Probleme allgemein bekannte offene Probleme, sodass Sie nicht erwarten werden, dass sie alle auftreten.
Als Ausbilder habe ich jedoch festgestellt, dass viele Übungen in vielen ansonsten guten Büchern einfach schrecklich sind. Einige von ihnen sind nur BS, scheinbar in letzter Minute angepackt. Infolgedessen muss ich beim Zuweisen von Problemen im Unterricht meine eigenen erstellen. Solange Sie sich auf die richtigen Bücher und die richtigen Probleme konzentrieren, werden Sie viel davon haben. Ich empfehle Ihnen, die in K & R zu machen, auch wenn Sie C ++ lernen möchten.
quelle
Nur diejenigen, die interessant und herausfordernd aussehen. Wenn ich die Antwort kenne, ist es nicht sinnvoll, sie einzugeben.
Die meiste Zeit, wenn ich Bücher über eine neue Sprache oder Technologie lese, habe ich meine eigenen kleinen Projekte, die ich zu implementieren versuche. Beginnend mit Conways Spiel des Lebens, gefolgt von einem Sudoku-Löser. Dies hat den Vorteil, dass ich sie bereits in anderen Sprachen gelöst habe und die Ergebnisse vergleichen kann.
Obwohl ich im Moment Racket lerne und da ich einige Schwierigkeiten mit einigen Details der Syntax habe, mache ich weit mehr Übungen als gewöhnlich, um mich daran zu gewöhnen.
quelle
Ich mache die einfachsten schnell in meinem Kopf, wenn es diese einfachen Übungen überhaupt gibt. Ich versuche auch zu sehen, ob ich die Idee habe, eine der Übungen zu implementieren, aber die meiste Zeit nicht. Der Grund für die Implementierung besteht darin, zu prüfen, ob Sie die Dinge wirklich richtig verstanden haben, da der Compiler weitaus umständlicher ist als Ihr Verstand und die Sprache auch besser kennt. Dies ist jedoch unterschiedlich, da der Grund für das Durchführen der Übungen darin besteht, das Wissen zu wiederholen, das Sie aus dem letzten Kapitel erhalten haben, und sicherzustellen, dass Sie die Dinge wirklich kennen.
Wenn es keine Übungen gibt, mache ich sie selber. Ich versuche auch immer mindestens, das Zeug in dem Kapitel zu verwenden (tippe den Code in Vim ein, führe aus, ändere usw.).
Ich lasse manchmal einige Übungen für später oder bis zum Ende der Lesesitzung (wenn ich zufällig mehrere Kapitel lese).
Die Übungen helfen beim Lernen und ich benutze sie, wenn ich diese Hilfe brauche.
quelle
Das Lesen von Büchern ist Zeitverschwendung, es sei denn, Sie verstehen und erinnern sich, was geschrieben steht. Übungen stellen sicher, dass Sie es tun. Außerdem macht es manchmal Spaß, Übungen zu machen!
quelle
Nein, ich lese nur den Code im Buch und mache das manchmal gar nicht. Glaube nicht, dass es notwendig ist. Schließlich lese ich das Buch nicht, um zu lernen, wie man Code schreibt. Ich lese das Buch, um Konzepte zu lernen und neue Ideen zu bekommen.
quelle
Es hängt von dem Buch ab, das ich gerade durcharbeite. Wenn ich jedoch auf eine Funktion stoße, mit der ich noch nie zuvor gespielt habe, gebe ich in der Regel ein und führe das Beispiel aus.
quelle
Ich trainiere lieber mit diesen Übungen. Diese Fragen lassen uns mehr nachdenken und analysieren und das Ergebnis dieser Übung ist ein Hinweis darauf, wie gut wir wirklich verstanden haben. Je besser Sie verstehen, desto weniger Aufwand müssen Sie sich später merken.
quelle
Wenn ich eine neue Sprache lerne und weiß, dass ich viel darin arbeiten werde, werde ich auf jeden Fall jede und jede Übung machen. Auf diese Weise "absorbiere" ich die Sprache und meine grundlegende Syntax wird stark. Auch auf diese Weise lernst du nicht nur zu programmieren, sondern auch in einer bestimmten Sprache zu "denken". Das zweite Mal, wenn ich es überarbeite, muss ich möglicherweise nicht die Übung machen.
Gleichzeitig ist IMO nicht für alle Sprachen gleich. Zum Beispiel musste ich SQL nicht zu hart üben, um C / C ++ zu beherrschen. Ich habe es mindestens vier Mal (einschließlich meines College-Kurses) geübt, um es zu beherrschen.
quelle
Noch nie. Ich versuche jedoch, mit dieser Lösung etwas zu schreiben, indem ich aus der Masse vergangener Erfahrungen (mit anderen Worten: Misserfolge) schöpfe und versuche, es zu lösen. Dies scheint wirklich das Neue in mein Gehirn zu ziehen, da ich es auf den bestehenden Kontext beziehe.
quelle
Zumindest nicht bei der ersten Lektüre guter Bücher, denn die meiste Zeit kann ich es kaum erwarten, zu erfahren, was im nächsten Kapitel steht.
quelle
Nein.
Einige Leute haben die Disziplin, Bücher durchzublättern und Übungen zu machen, aber ich bin keiner von ihnen und ich vermute, dass es vielen genauso geht.
Ich denke, das Modell des Buchlernens ist veraltet. Ich würde versuchen, Vorlesungen / Labore online zu finden und diese zu machen.
Zum Beispiel habe ich die Grundlagen von Python durch den Google Code University-Kurs gelernt.
Letztendlich gibt es keinen Ersatz für reale Erfahrungen und alles, was zählt, ist, dass Sie das Material tatsächlich lernen und nicht, wie Sie es tun. Mein Rat ist, es am schnellsten / einfachsten zu machen, anstatt sich selbst zu bestrafen.
quelle