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?

Adam
la source
2
Related
Igor Milla
4
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.

Bill le lézard
la source
5

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.

IanGilham
la source
4

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 :).

Kim.Net
la source
4

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 ++.

Macneil
la source
+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.

thorsten müller
la source
1

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.

Anto
la source
1

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!

Dmitry Negoda
la source
1

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.

ElGringoGrande
la source
0

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.

David Weiser
la source
0

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.

Dhanunjai
la source
0

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.

DPD
la source
0

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.

Christopher Mahan
la source
0

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.

Ingo
la source
0

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.

Vincesz
la source