Faites-vous les exercices lors de la lecture d'un livre? [fermé]
14
Combien d'entre vous travaillent réellement sur les exercices lors de l'apprentissage à partir d'un livre (tout livre lié à la programmation), je travaille actuellement sur un livre C ++ et je trouve que certains des exercices que je pense pouvoir accomplir assez facilement que je saute. La plupart des gens font-ils cela? Ou lisent-ils tout le livre et reviennent-ils à des exercices qui semblaient difficiles?
J'aime faire du vélo stationnaire pendant la lecture, il était facile de faire de l'exercice physique et d'étudier pendant les études de premier cycle. Bien que je soupçonne que l'exercice physique n'est pas en contexte ici.
Chris
Désolé, comme certains autres, j'étais les rares à n'avoir jamais fait d'exercices sur les manuels, j'ai regardé les réponses au dos et j'ai essayé de comprendre ce qu'elles disaient et pourquoi les réponses étaient-elles ainsi.
Buhake Sindi
Personne d'autre ne trouve hilarant que cela ait été migré à partir de StackOverflow puis fermé rapidement sur Programmers.SE? C'est une bureaucratie de magnitude soviétique! XD
Drew
Réponses:
17
Je trouve utile de taper réellement les solutions aux exercices et de les exécuter. Parfois, vous obtiendrez la réponse du premier coup, et parfois c'est un peu plus compliqué qu'il n'y paraissait à première vue. Vous ne saurez jamais ce qui vous manque tant que vous n'aurez pas de code fonctionnel.
Un énorme avantage à taper vous-même les exercices si vous vous entraînez à déboguer. S'il s'agit d'une nouvelle langue et d'un nouvel environnement, vous ferez inévitablement des erreurs. Obtenir les solutions aux problèmes les plus simples pour le travail est une bonne pratique.
Je trouve que j'ai tendance à ignorer les exercices triviaux, à moins que je ne sois encore au stade où j'ai du mal à comprendre la syntaxe d'un nouveau langage. Ils sont là pour vous donner quelque chose à pratiquer autant que pour vous fournir un défi stimulant.
Il est assez difficile d'apprendre une langue à partir d'un livre, d'un langage informatique ou humain, sans pratiques vous ne la maîtriserez jamais.
Je trouve généralement que faire les accises et taper dans les exemples vous donne beaucoup plus de contexte, et la compréhension, même celles qui semblent faciles, pourrait vous apprendre quelque chose sur le fonctionnement du compilateur, et d'autres choses que l'on doit savoir pour utiliser réellement le Langue.
D'un autre côté, je n'arrive presque jamais à terminer un livre sur une nouvelle langue, car il faut du temps pour parcourir tous les exercices, mais j'essaierais au moins de faire une accise sur chaque sujet.
Comme le suggère «thorsten müller», une autre grande aide est d'avoir un projet à mettre en œuvre, fx. un tri B-tree ou quelque chose est toujours amusant à implémenter :).
Cela dépend du livre. Les puzzles dans K&R par exemple sont assez épiques et instructifs, et il y a même un livre, appelé le C Answer Book, qui couvre les exercices dans les détails qu'ils méritent.
Si vous lisez Knuth, vous n'en tirez vraiment rien à moins de lire avec un crayon et du papier. Bien sûr, certains des problèmes de Knuth sont des problèmes ouverts bien connus, vous ne vous attendez donc pas à les obtenir tous.
En tant qu'instructeur, cependant, j'ai constaté que de nombreux exercices dans de nombreux livres autrement bons sont tout simplement terribles. Certains d'entre eux ne sont que des BS, apparemment cloués à la dernière minute. Par conséquent, lors de l'attribution des problèmes en classe, je dois faire le mien. Tant que vous vous concentrez sur les bons livres et les bons problèmes, vous en tirerez beaucoup. Je vous recommande de faire celles de K&R, même si votre objectif est d'apprendre le C ++.
+1 Pour K&R, je l'ai lu (à un rythme très rapide) et j'ai fait la plupart des exercices et j'ai eu l'impression d'avoir appris quelque chose sur chacun d'eux. D'autres livres semblent avoir été choisis et choisis
Adam
2
Seuls ceux qui semblent intéressants et stimulants. Si je connais la réponse, il ne sert à rien de la taper.
La plupart du temps, lorsque je lis des livres sur un nouveau langage ou une nouvelle technologie, j'ai mes propres petits projets que j'essaie de mettre en œuvre. À commencer par le jeu de la vie de Conway, suivi d'un solveur Sudoku. Cela a l'avantage que je les ai déjà résolus dans d'autres langues et que je peux comparer les résultats.
Bien qu'en ce moment j'apprenne le Racket et comme j'ai des difficultés avec certains détails de la syntaxe, je fais beaucoup plus d'exercices que d'habitude pour m'y habituer.
Je fais les plus simples rapidement dans ma tête, si des exercices simples existent. J'essaie également de voir si j'ai une idée de la façon de mettre en œuvre l'un des exercices, mais je ne les mets pas en œuvre la plupart du temps. La raison de l'implémentation réelle est de voir si vous avez vraiment bien fait les choses, car le compilateur sera beaucoup plus pédant que votre esprit, et il connaîtra également mieux le langage. Mais cela varie, car la raison de faire les exercices est de répéter les connaissances que vous avez acquises dans le dernier chapitre et de vous assurer que vous connaissez bien les choses.
Si les exercices n'existent pas, j'en invente moi-même. J'essaie aussi toujours au moins d'utiliser les trucs du chapitre (taper le code dans Vim, exécuter, changer etc.).
Je laisse parfois quelques exercices pour plus tard, ou jusqu'à la fin de la session de lecture (s'il m'arrive de lire plusieurs chapitres).
Les exercices sont là pour faciliter l'apprentissage, et je les utilise quand j'ai besoin de cette aide.
La lecture de livres est une perte de temps, à moins que vous ne compreniez et ne vous souveniez de ce qui est écrit. Assurez-vous que vous faites des exercices. De plus, faire des exercices est parfois amusant!
Non. Je ne lis que le code du livre et parfois je ne le fais même pas. Ne pensez pas que c'est nécessaire. Après tout, je ne lis pas le livre pour apprendre à écrire du code. J'ai lu le livre pour apprendre des concepts et trouver de nouvelles idées.
Cela dépend du livre que je lis. Habituellement, cependant, si je rencontre une fonctionnalité avec laquelle je n'ai jamais joué auparavant, je vais taper et exécuter l'exemple.
Je préfère m'entraîner sur ces exercices. Ces questions nous incitent à réfléchir et à analyser davantage et aussi le résultat de cet exercice est une indication de la façon dont nous avons vraiment compris. Mieux vous comprenez, moins vous devrez mémoriser plus tard.
Si j'apprends une nouvelle langue et que je sais que je vais y travailler beaucoup, je ferai assurément chaque exercice et chaque exercice. En faisant cela, j'absorbe le langage et ma syntaxe de base devient forte. De cette façon, vous apprenez non seulement à coder, mais aussi à "penser" dans une langue particulière. La deuxième fois que je le révise, je n’ai peut-être pas besoin de faire l’exercice.
En même temps, l'OMI n'est pas la même pour toutes les langues. Par exemple, je n'ai pas eu à pratiquer SQL trop dur pour devenir compétent en it / en C / C ++, je l'ai pratiqué au moins quatre fois (y compris mon cours universitaire) pour devenir compétent.
Jamais. Cependant, j'essaie d'écrire quelque chose avec cette solution en puisant dans la masse des expériences passées (échecs en d'autres termes) et j'essaie de la résoudre. Cela semble vraiment attirer la nouvelle chose dans mon cerveau, car je la relie au contexte existant.
Certaines personnes ont la discipline de lire des livres et de faire des exercices, mais je n'en fais pas partie et je pense que beaucoup sont de la même façon.
Je pense que le modèle d'apprentissage du livre est dépassé. Je voudrais essayer de trouver des conférences / laboratoires en ligne et les faire.
Par exemple, j'ai appris les bases de Python en suivant le cours Google Code University.
En fin de compte, il n'y a pas de substitut à l'expérience du monde réel et tout ce qui compte, c'est que vous appreniez réellement le matériel, pas comment vous le faites. Mon conseil est de le faire de la manière la plus rapide / la plus simple au lieu de vous punir.
Réponses:
Je trouve utile de taper réellement les solutions aux exercices et de les exécuter. Parfois, vous obtiendrez la réponse du premier coup, et parfois c'est un peu plus compliqué qu'il n'y paraissait à première vue. Vous ne saurez jamais ce qui vous manque tant que vous n'aurez pas de code fonctionnel.
Un énorme avantage à taper vous-même les exercices si vous vous entraînez à déboguer. S'il s'agit d'une nouvelle langue et d'un nouvel environnement, vous ferez inévitablement des erreurs. Obtenir les solutions aux problèmes les plus simples pour le travail est une bonne pratique.
la source
Je trouve que j'ai tendance à ignorer les exercices triviaux, à moins que je ne sois encore au stade où j'ai du mal à comprendre la syntaxe d'un nouveau langage. Ils sont là pour vous donner quelque chose à pratiquer autant que pour vous fournir un défi stimulant.
la source
Il est assez difficile d'apprendre une langue à partir d'un livre, d'un langage informatique ou humain, sans pratiques vous ne la maîtriserez jamais.
Je trouve généralement que faire les accises et taper dans les exemples vous donne beaucoup plus de contexte, et la compréhension, même celles qui semblent faciles, pourrait vous apprendre quelque chose sur le fonctionnement du compilateur, et d'autres choses que l'on doit savoir pour utiliser réellement le Langue.
D'un autre côté, je n'arrive presque jamais à terminer un livre sur une nouvelle langue, car il faut du temps pour parcourir tous les exercices, mais j'essaierais au moins de faire une accise sur chaque sujet.
Comme le suggère «thorsten müller», une autre grande aide est d'avoir un projet à mettre en œuvre, fx. un tri B-tree ou quelque chose est toujours amusant à implémenter :).
la source
Cela dépend du livre. Les puzzles dans K&R par exemple sont assez épiques et instructifs, et il y a même un livre, appelé le C Answer Book, qui couvre les exercices dans les détails qu'ils méritent.
Si vous lisez Knuth, vous n'en tirez vraiment rien à moins de lire avec un crayon et du papier. Bien sûr, certains des problèmes de Knuth sont des problèmes ouverts bien connus, vous ne vous attendez donc pas à les obtenir tous.
En tant qu'instructeur, cependant, j'ai constaté que de nombreux exercices dans de nombreux livres autrement bons sont tout simplement terribles. Certains d'entre eux ne sont que des BS, apparemment cloués à la dernière minute. Par conséquent, lors de l'attribution des problèmes en classe, je dois faire le mien. Tant que vous vous concentrez sur les bons livres et les bons problèmes, vous en tirerez beaucoup. Je vous recommande de faire celles de K&R, même si votre objectif est d'apprendre le C ++.
la source
Seuls ceux qui semblent intéressants et stimulants. Si je connais la réponse, il ne sert à rien de la taper.
La plupart du temps, lorsque je lis des livres sur un nouveau langage ou une nouvelle technologie, j'ai mes propres petits projets que j'essaie de mettre en œuvre. À commencer par le jeu de la vie de Conway, suivi d'un solveur Sudoku. Cela a l'avantage que je les ai déjà résolus dans d'autres langues et que je peux comparer les résultats.
Bien qu'en ce moment j'apprenne le Racket et comme j'ai des difficultés avec certains détails de la syntaxe, je fais beaucoup plus d'exercices que d'habitude pour m'y habituer.
la source
Je fais les plus simples rapidement dans ma tête, si des exercices simples existent. J'essaie également de voir si j'ai une idée de la façon de mettre en œuvre l'un des exercices, mais je ne les mets pas en œuvre la plupart du temps. La raison de l'implémentation réelle est de voir si vous avez vraiment bien fait les choses, car le compilateur sera beaucoup plus pédant que votre esprit, et il connaîtra également mieux le langage. Mais cela varie, car la raison de faire les exercices est de répéter les connaissances que vous avez acquises dans le dernier chapitre et de vous assurer que vous connaissez bien les choses.
Si les exercices n'existent pas, j'en invente moi-même. J'essaie aussi toujours au moins d'utiliser les trucs du chapitre (taper le code dans Vim, exécuter, changer etc.).
Je laisse parfois quelques exercices pour plus tard, ou jusqu'à la fin de la session de lecture (s'il m'arrive de lire plusieurs chapitres).
Les exercices sont là pour faciliter l'apprentissage, et je les utilise quand j'ai besoin de cette aide.
la source
La lecture de livres est une perte de temps, à moins que vous ne compreniez et ne vous souveniez de ce qui est écrit. Assurez-vous que vous faites des exercices. De plus, faire des exercices est parfois amusant!
la source
Non. Je ne lis que le code du livre et parfois je ne le fais même pas. Ne pensez pas que c'est nécessaire. Après tout, je ne lis pas le livre pour apprendre à écrire du code. J'ai lu le livre pour apprendre des concepts et trouver de nouvelles idées.
la source
Cela dépend du livre que je lis. Habituellement, cependant, si je rencontre une fonctionnalité avec laquelle je n'ai jamais joué auparavant, je vais taper et exécuter l'exemple.
la source
Je préfère m'entraîner sur ces exercices. Ces questions nous incitent à réfléchir et à analyser davantage et aussi le résultat de cet exercice est une indication de la façon dont nous avons vraiment compris. Mieux vous comprenez, moins vous devrez mémoriser plus tard.
la source
Si j'apprends une nouvelle langue et que je sais que je vais y travailler beaucoup, je ferai assurément chaque exercice et chaque exercice. En faisant cela, j'absorbe le langage et ma syntaxe de base devient forte. De cette façon, vous apprenez non seulement à coder, mais aussi à "penser" dans une langue particulière. La deuxième fois que je le révise, je n’ai peut-être pas besoin de faire l’exercice.
En même temps, l'OMI n'est pas la même pour toutes les langues. Par exemple, je n'ai pas eu à pratiquer SQL trop dur pour devenir compétent en it / en C / C ++, je l'ai pratiqué au moins quatre fois (y compris mon cours universitaire) pour devenir compétent.
la source
Jamais. Cependant, j'essaie d'écrire quelque chose avec cette solution en puisant dans la masse des expériences passées (échecs en d'autres termes) et j'essaie de la résoudre. Cela semble vraiment attirer la nouvelle chose dans mon cerveau, car je la relie au contexte existant.
la source
Du moins pas à la première lecture de bons livres, car la plupart du temps j'ai hâte d'apprendre ce qui se trouve dans le chapitre suivant.
la source
Non.
Certaines personnes ont la discipline de lire des livres et de faire des exercices, mais je n'en fais pas partie et je pense que beaucoup sont de la même façon.
Je pense que le modèle d'apprentissage du livre est dépassé. Je voudrais essayer de trouver des conférences / laboratoires en ligne et les faire.
Par exemple, j'ai appris les bases de Python en suivant le cours Google Code University.
En fin de compte, il n'y a pas de substitut à l'expérience du monde réel et tout ce qui compte, c'est que vous appreniez réellement le matériel, pas comment vous le faites. Mon conseil est de le faire de la manière la plus rapide / la plus simple au lieu de vous punir.
la source