7 astuces utiles pour maîtriser un nouveau langage de programmation
La programmation est difficile. Les seuls à dire le contraire sont ceux qui ont des années d'expérience dans le codage à leur actif. C'est bon d'être submergé! Il y a un lot apprendre et vous oublierez probablement les choses aussi vite que vous les apprendrez. Croyez-moi: c'est normal.
Mais ce n'est pas frustrant que ce soit normal. À vrai dire, apprendre à coder Comment apprendre à programmer sans être stressé Comment apprendre à programmer sans tout stress Peut-être avez-vous décidé de vous lancer dans la programmation, que ce soit pour une carrière ou comme loisir. Génial! Mais peut-être que vous commencez à vous sentir dépassé. Pas si bien. Voici de l'aide pour faciliter votre voyage. Lire plus peut être extrêmement stressant si vous ne l'abordez pas avec le bon état d'esprit et la bonne attitude.
Vous voulez apprendre cette nouvelle langue ou cette nouvelle bibliothèque ou cadre le plus rapidement possible, n'est-ce pas? C'est compréhensible. Heureusement, il existe une poignée de conseils qui peuvent vous aider à mieux conserver toutes ces informations de programmation lourdes qui gardent le fil dans les oreilles..
Plus de sessions de Cram
Personne ne veut l'entendre, mais s'entasser est la pire façon d'apprendre à programmer. Si vous êtes quelque chose comme moi, le bachotage était votre mode opératoire tout au long de l'école et de l'université. C'est la seule façon de savoir étudier.
Mais apprends de mes erreurs: plus vous essayez de vous fourrer, moins vous vous en souviendrez. C'est à peu près vrai pour n'importe quel sujet basé sur la connaissance, mais c'est particulièrement vrai quand il s'agit de programmer.
Cette affirmation découle d'une étude réalisée en 2008 par l'Université de Californie à San Diego:
“Les élèves obtiennent de meilleurs résultats quand ils espacent leurs séances d’étude plutôt que quand ils essaient de tout mettre dans leurs noggins en une seule séance..”
Pourquoi? Très probablement en raison de l'effet de position en série:
“L'effet de position en série est la tendance d'une personne à se rappeler du premier et du dernier élément d'une série, les éléments du milieu étant les pires..”
En d'autres termes: dans une session d'étude donnée, vous êtes plus susceptible de conserver les informations que vous avez apprises au début et à la fin de la session et d'oubli des informations du milieu de la session..
Vous voulez maximiser le nombre de débuts et de fins. C'est pourquoi il est préférable d'avoir plusieurs sessions courtes plutôt que quelques sessions longues lorsqu'il s'agit d'apprendre et d'absorber de nouveaux documents..
La prochaine fois que vous vous asseyez pour apprendre le code, prenez-en un sujet à la fois et faites une courte pause entre chaque sujet. (Veillez simplement à éviter que vos pauses ne se transforment en procrastination!)
Examen, examen, examen
Une autre raison pour laquelle le bachotage est antithétique à la rétention de connaissances à long terme est que la mémoire s'estompe avec le temps. Ce n'est pas toujours vrai - je suis sûr que nous avons tous quelques souvenirs d'enfance qui ne disparaîtront jamais - mais cela semble être le cas général pour des souvenirs qui ne sont pas liés à des émotions..
Il existe un débat sur le fait de savoir si la mémoire elle-même se décompose avec le temps (théorie de la désintégration) ou est simplement expulsée et remplacée par de nouveaux souvenirs au fil du temps (théorie de l'interférence). Quelle que soit la théorie à laquelle vous adhérez, le résultat est que les souvenirs plus anciens sont plus susceptibles de s'estomper.
C'est là que la critique entre en jeu.
Pensez-y comme si vous marchiez dans une forêt de souvenirs. Chaque fois que vous souhaitez accéder à une mémoire, vous devez suivre le chemin neuronal pour le retrouver. Chaque fois que vous tracez cette mémoire, le sentier s'enracine un peu plus, tout comme le fait qu'un sentier de terre se forme naturellement lorsque des personnes empruntent le même sentier à plusieurs reprises. Si vous arrêtez de marcher sur le sentier, il peut disparaître et la mémoire finit par se perdre quelque part dans la forêt..
En mettant de côté toute la psychologie populaire, voici ce qu’il faut retenir: s’agissant de programmation, il ne suffit pas d’apprendre un sujet une ou deux fois. Vous devez y revenir des dizaines, voire des centaines de fois. Chaque critique grave ce sujet dans votre cerveau.
Je sais à quel point cela peut être difficile si vous êtes un bourrelier naturel, mais vous serez surpris de la rapidité avec laquelle vous commencez à conserver du matériel lorsque vous faites un effort pour le consulter régulièrement..
Utiliser plusieurs ressources différentes
L'aspect le plus difficile de la programmation - du moins pour les nouveaux codeurs - réside dans l'ampleur des détails et des nuances à intérioriser. Jusqu'à ce que cette internalisation se produise, vous allez être dans un état perpétuel de grattage..
Selon la langue, vous devrez mémoriser des centaines de règles de syntaxe (mots-clés, points-virgules, espaces, etc.). Certaines langues sont plus strictes, d’autres moins, et d’autres ont leur propre approche de la syntaxe, unique en son genre. Tout cela peut être déroutant si vous n’avez aucune expérience de codage préalable.
Sans parler de toutes les informations conceptuelles qui transcendent les langues individuelles. Des sujets tels que la programmation orientée objet, les systèmes entité-composant et les modèles d'observateurs peuvent vraiment vous faire tourner la tête dès que vous essayez de les apprendre..
J'ai déjà partagé cette illustration auparavant, mais c'est tellement pertinent qu'il vaut la peine de répéter:
“Supposons que quelqu'un vous montre une photo d'une statue. Cela vous donnera peut-être une image suffisante pour vous donner une idée adéquate de la statue, mais vous ne obtiendrez pas une image complète. Une photo zoomée perdrait des détails complexes, tandis qu'une photo zoomée perdrait du sens de la perspective. Cependant, avec des photographies supplémentaires prises sous d'autres angles, vous pouvez vraiment commencer à voir la plénitude de la statue en texture, en taille, en détail, de face à dos, de côté à côté et de haut en bas..”
Apprendre à programmer peut être étonnamment arbitraire. Tout le monde peut louer la ressource A comme étant le meilleur moyen d’apprendre la langue X, mais cela n’a aucun sens pour vous. Peut-être que tout le monde déteste la ressource B, mais vous jetez un coup d'œil et c'est parfaitement logique! Pour ce qui est des autres, ils peuvent peut-être se détacher lorsqu'ils étudient les ressources A et B, mais tirer un grand avantage de la ressource C.
C'est pourquoi il est si important pour vous d'être disposé à consommer toutes sortes de ressources. Tout le monde apprend d'une manière différente. Si vous rencontrez des problèmes avec un sujet particulier, recherchez une autre ressource. Peut-être que celui-ci sera plus approprié pour vous. Peut être pas.
Même si vous pensez comprendre certains sujets, il est possible que vous en appreniez plus. Il est également possible que les explications de quelqu'un d'autre consolident le concept dans votre esprit pour de bon. On ne sait jamais, alors pourquoi ne pas consommer le plus de ressources possible?
Notez que les jeux peuvent être une ressource extrêmement utile! Découvrez ces jeux de codage amusants et éducatifs. Les 10 meilleurs jeux de programmation pour tester et développer vos compétences de codage Les 10 meilleurs jeux de programmation pour tester et développer vos compétences de codage êtes vraiment amusant! Lire la suite .
Enseigner des concepts à mesure que vous les apprenez
Il existe un beau concept de programmation appelé débogage de canard en caoutchouc. Les principes de programmation les plus étranges que vous n'avez jamais entendus Les principes de programmation les plus étranges que vous n'avez jamais entendus Les principes suivants vous apprendront à utiliser votre code avec sagesse. Certains sont étranges et beaucoup sont humoristiques, mais ils sont tous aussi pratiques et importants. Prenez garde! Lire la suite, qui décrit la technique pour expliquer son code, ligne par ligne, à un canard en caoutchouc inanimé. Il est utilisé lorsqu'un segment de code particulier est cassé, mais il n'y a aucune raison évidente pour cela..
Curieusement, la plupart des programmeurs ont un “Euréka!” moment où ils expliquent le code lorsqu'ils voient soudainement où se produit l’erreur dans la logique de codage. La verbalisation déclenche une zone différente du cerveau, vous obligeant à voir le problème sous un nouvel angle.
Ce concept peut également être utilisé pour vous aider à apprendre de nouveaux documents. Vous avez peut-être rencontré cette citation populaire souvent attribuée à Albert Einstein:
“Si vous ne pouvez pas l'expliquer simplement, vous ne le comprenez pas assez bien.”
À l'exception de certains domaines traitant de connaissances théoriques avancées, ce dicton reste vrai. Plus vous comprenez un sujet, mieux vous serez en mesure de l'expliquer de manière à ce que quelqu'un qui n'en ait aucune connaissance puisse tout de même le comprendre.
Le contraire de cela est vrai aussi. Lorsque vous essayez d’enseigner un sujet, vous rencontrerez certains concepts que vous ne pouvez apparemment pas expliquer clairement. Non seulement c'est un moyen formidable de diagnostiquer les faiblesses de vos connaissances, mais le processus même qui consiste à trouver l'explication appropriée peut aider à solidifier le concept dans votre esprit..
C'est ce qu'on appelle l'apprentissage par l'enseignement et c'est fondamentalement une torsion sur le débogage de canard en caoutchouc.
Maintenant, je ne dis pas que vous devriez réellement enseigner aux autres; essayez plutôt de l'enseigner à un canard en caoutchouc (ou à un ami invisible) à chaque nouveau sujet de programmation que vous apprenez. Cela peut sembler idiot au début, mais vous pouvez le trouver incroyablement fructueux en matière de rétention de mémoire..
La pratique délibérée rend parfait
La notion de talent est un déchet complet. Personne ne sort du ventre en tant que violoniste, lutteur ou programmeur de classe mondiale. Bien sûr, certaines personnes pourraient être plus enclines à certaines disciplines, mais un talent sans expérience est inutile Ne laissez pas mourir vos talents cachés: 7 façons de les retrouver et retrouvez-les Ne laissez pas vos talents cachés de mourir: 7 façons d'aller et de trouver Them Again La mauvaise nouvelle est que vous devez travailler dur avec l'intention de polir vos talents cachés. La bonne nouvelle est qu’il ya plus d’opportunités que jamais de cracher vos talents. Lire la suite . De même, le travail acharné vaut toujours plus que le talent.
Cela étant dit, toutes les formes de travail ne sont pas égales. Malcolm Gladwell a inventé la tristement célèbre règle des 10 000 heures, qui stipule que vous devez investir au moins 10 000 heures dans un sujet pour en devenir un maître. Bien que le sentiment puisse être vrai, beaucoup de gens interprètent mal ce qu’il essayait de dire..
En bref, un engagement de 10 000 heures ne garantit pas la maîtrise. Vous connaissez le dicton: “La pratique ne rend pas parfait. La pratique parfaite rend parfait.” Pour que cela ait un sens, la pratique doit être intentionnelle. Voulez-vous devenir un expert à quelque chose? Essayez de pratiquer délibérément Voulez-vous devenir un expert à quelque chose? Essayez une pratique délibérée Il est trop facile de se sentir découragé lorsque vous essayez ardemment d'améliorer une compétence donnée. Utilisez le pouvoir de la "pratique délibérée" pour vous aider à surmonter ces plateaux exaspérants. Lire la suite . La maîtrise ne peut être atteinte que par 10 000 heures de pratique délibérée.
Votre pratique compte beaucoup plus que le temps que vous passez à la pratiquer.
La lecture est passive. Regarder des leçons sur YouTube est passif. L'écoute de podcasts est passive. En tant que programmeur débutant, vous pourriez être tenté de passer d'un tutoriel à l'autre, abordant sujet après sujet sans appliquer réellement ces connaissances de manière pratique. Résistez à cette tentation.
C’est une chose de comprendre un exemple présenté devant vous, mais c’en est une autre de synthétiser une solution à partir de zéro. Si vous souhaitez accélérer le processus d'apprentissage, vous devez être prêt à être actif plutôt que passif. La pratique active est le seul type qui compte finalement.
Expérimenter avec des projets personnels
Pour moi, les devoirs étaient la pire partie de l'école. Cela ressemblait à un stratagème élaboré pour tuer et amuser les élèves, ce qui, pour être juste, était parfois vrai. Mais maintenant que je regarde en arrière, l’importance des devoirs a finalement un sens. Cela m'a obligé à appliquer activement les connaissances nouvellement acquises.
Si vous êtes inscrit à des cours et à des cours de programmation 11 Meilleurs sites de cours de programmation informatique en ligne gratuits 11 Meilleurs sites de cours de programmation informatique en ligne gratuits Ces jours-ci, vous pouvez devenir un maître codeur sans acquérir un diplôme en informatique traditionnel. Où vous trouvez toutes ces excellentes ressources d'apprentissage, demandez-vous? Excellente question. Continuez à lire et nous vous montrerons. En savoir plus, ne sous-estimez pas l'efficacité des devoirs. Prenez-le au sérieux, traitez-le toujours comme une occasion de consolider davantage ce que vous avez appris dans la mémoire à long terme..
Mais souvent, les devoirs ne suffisent toujours pas. (Et si vous apprenez à programmer vous-même sans instructeur, vous n’aurez probablement aucun devoir pour commencer.)
Quelle est la solution? Créez quelques projets secondaires jetables!
Pensez à quelques idées de projet. 5 idées de projet pour vous aider à apprendre à programmer plus rapidement. 5 idées de projet à vous aider à apprendre. Programmez plus rapidement. Il existe plusieurs façons de simplifier l'apprentissage. Mettez la main à la pâte et apprenez plus vite avec les projets annexes que vous pouvez commencer à tout moment. Jouez avec ces cinq. Lisez plus que vous souhaitez mettre en œuvre. Pour les débutants absolus, vous pourriez envisager une partie de Tic-Tac-Toe ou de Pendu. Pour les programmeurs expérimentés qui souhaitent apprendre un nouveau cadre, essayez de coder une application mobile ou un jeu Web simple. Tant que cela vous intéresse sur le plan personnel, allez-y!
La beauté de cette approche est double.
Tout d'abord, il est plus susceptible de retenir votre attention. Des études ont montré que les étudiants apprennent mieux lorsqu'ils peuvent aborder des sujets qui les intéressent. C'est exactement ce que propose un projet personnel. Vous souhaitez réellement atteindre un objectif final, vous êtes donc plus susceptible de conserver les informations qui vous permettront d'atteindre votre objectif..
Deuxièmement, il n'y a aucune pression pour que vous réussissiez. Bien que le succès soit une bonne chose, le manque de formalité vous permet d’être expérimental et créatif. Vous allez inévitablement rencontrer des problèmes, mais c'est plus comme jouer avec Lego que comme devoir. C'est plus amusant et moins stressant.
Détendez-vous et signet tout
La vérité est qu'aucun programmeur ne se souvient tout ils ont appris. Même après avoir travaillé avec une bibliothèque ou une structure particulière pendant un certain temps, il n’est pas rare de ne pas pouvoir se souvenir de toutes les fonctions ou de toutes les variables de façon aléatoire..
En fait, essayer de tout mémoriser pourrait bien devenir une énorme perte de temps et d’efforts. Les feuilles de référence existent pour une raison. Pourquoi enregistrer toute une encyclopédie dans la mémoire alors que vous pouvez l’ouvrir quand vous en avez besoin?
Alors, quand mémoriser et quand se référer?
Lorsqu'il s'agit de matériel conceptuel, intériorisez-le toujours au mieux de vos capacités. J'entends par là comprendre la théorie même si vous ne pouvez pas la convertir en code réel (et la théorie devrait être suffisamment claire pour que vous puissiez l'enseigner clairement).
Pour tout le reste - tels que des noms de fonction spécifiques, des listes de paramètres ou même des défauts de langue - Je ne m'inquiéterais pas de m'engager dans la mémoire. N'hésitez pas à vous reporter à une feuille de référence. Parfois, vous faites référence à quelque chose si souvent que vous finissez par le mémoriser. Si cela se produit, bien. Si non, c'est bien aussi.
Personnellement, j'ai des centaines de signets Internet vers diverses API, guides et didacticiels. Si j'ai besoin d'implémenter une sorte d'algorithme de recherche de chemin, je pourrais me référer à un guide pour m'aider à le coder avant de l'oublier à nouveau. Cela aide à comprendre les concepts sous-jacents, mais j'essaie de ne pas m'inquiéter des détails de la mise en œuvre.
Dernières pensées
Je le répète un million de fois si je dois: la programmation est difficile et ça va si vous luttez avec elle. Je fais de la programmation une activité de loisir depuis plus de dix ans et je me trouve toujours intimidé quand j'ai de nouveaux concepts à apprendre.
Ne vous en faites pas si vous ne vous en souvenez pas tout de suite. Nous espérons que les conseils ci-dessus vous seront utiles. Même s’ils ne le font pas, vous pouvez toujours compter sur les références favorites en dernier recours..
Trouvez-vous la programmation difficile? Quels types de trucs et astuces connaissez-vous qui pourraient être utiles aux codeurs débutants? Partagez votre sagesse avec nous dans les commentaires ci-dessous!
Crédits d'image: Programmeur binaire via Shutterstock, effaceur de mémoire via Shutterstock, code obscurci via Shutterstock, Rubber Ducky via Shutterstock, dactylographe au clavier via Shutterstock, code source PHP via Shutterstock, dossiers de fichiers via Shutterstock
En savoir plus sur: Programmation.