J’échoue en informatique à mon école. Comment puis-je réussir ?


J'ai également eu du mal avec mon premier cours d'informatique et mon cours de programmation. Ma recommandation est de garder une attitude positive (si vous êtes vraiment intéressé) et de pratiquer ! Pratiquez la programmation dans n'importe quel temps de vacances qu'ils vous donnent. C'est votre chance de vous améliorer sans le stress de l'école ! La première fois que vous faites de la programmation, cela peut être vraiment difficile, mais vous devez juste vous y habituer, c'est tout.

Pour l'oubli de la syntaxe, utilisez un langage qui est simple et un IDE qui vous aide à vous souvenir de la syntaxe. Honnêtement, j'oublie tout le temps la syntaxe, ce n'est pas grave, vous devez juste utiliser ce langage de programmation suffisamment jusqu'à ce que ce soit une seconde nature. Chaque fois que je change de langage de programmation, j'oublie les détails de chacun d'entre eux, mais vous pouvez le ramasser et être bon dans ce domaine après un certain temps et vous devez le faire assez jusqu'à ce que votre bon.


Ce qui suit est un conseil qu'ils m'ont enseigné en classe tout le temps mais il est difficile de vraiment le comprendre jusqu'à ce que vous le fassiez vous-même. Je regarde en arrière et je pense, alors c'est ce qu'ils voulaient que je fasse ! Vous le découvrirez avec la pratique mais je vais quand même le mentionner pour voir si cela vous aide.

S'assurer que vous savez comment écrire des programmes et des algorithmes. C'est ainsi que je procède. Pour moi, personnellement, je ne saute que très rarement directement au code. Normalement, j'écris toujours un peu de pseudocode (sur papier), presque en anglais et ne'te pas trop de pression pour que cela ressemble à du code. Assurez-vous d'abord de comprendre le problème et la solution potentielle. Cela vous permettra de vous assurer que vous comprenez réellement ce que vous voulez que votre algorithme/procédure fasse (et donc votre ordinateur). Ensuite, vous pouvez le traduire en code informatique. Ce n'est pas toujours trivial de le traduire en code, mais au moins vous avez quelque chose avec quoi travailler !


Pour un code plus important, dessinez des diagrammes idiots (avec des boîtes et des trucs, presque comme des diagrammes de brainstorming) de ce que vous voulez que votre système fasse dans son ensemble et des flèches montrant comment ces différents morceaux de code devraient interagir. Les abstractions et la modularité sont cruciales pour faire du bon code. Mais il est encore plus important de s'assurer que vous comprenez ce que vous'faites.

Aussi, ne vous'ssez pas trop sur le fait de le rendre parfait. C'est normal d'itérer sur votre programme. Si le premier que vous écrivez est vraiment mauvais, mais qu'il fonctionne, c'est ok puisque c'est un pas de plus vers une meilleure solution. Continuez simplement à essayer et à vous améliorer !

Pour les progrès similaires aux mathématiques, continuez simplement à faire des maths, des calculs ou des preuves, selon le type de maths dont vous avez besoin. Son crucial de faire les problèmes vous-même afin que vous compreniez vraiment ce que vous faites. Souvent, lorsque j'apprends des algorithmes d'apprentissage automatique (et des preuves en général) avec des mathématiques lourdes, cela m'aide à les redévelopper à partir de zéro après avoir examiné leur dérivation. Évidemment, il faut d'abord les essayer soi-même ! Mais il n'y a pas de problème à regarder les solutions et à essayer de comprendre comment vous auriez pu y arriver. Ou une explication intuitive/conceptuelle de ce qu'était l'astuce principale dans la preuve...

(pour un exemple plus spécifique dans l'apprentissage automatique, souvent, les algorithmes ML sont dérivés d'un ou plusieurs concepts clés. Par exemple, si vous voulez redériver l'ACP, c'est facile si vous comprenez l'idée principale de l'ACP : projeter à une dimension inférieure tout en maximisant la variance. Maintenant que vous avez l'étape/le postulat de départ, essayez de le faire et voyez si vous comprenez ce à quoi l'ACP devrait ressembler. Un autre exemple pourrait être l'algorithme de boosting. Vous savez que vous ne voulez pas une erreur pondérée supérieure à 1/2, donc, pouvez-vous utiliser ceci pour dériver le poids du vote [math] alpha_m = frac{1}{2}ln(frac{1 - epsilon_m}{ epsilon_m})[/math] à partir du point de départ conceptuel ? Beaucoup de ces dérivations peuvent être : "ok, donc le but est X et je sais que la réponse est Y. Puis-je obtenir Y en partant de X..." et ensuite vous essayez.).

Essayez aussi de chercher un tuteur, ils peuvent être d'une grande aide et faire gagner beaucoup de temps ! Allez aux heures de bureau. Assurez-vous que si vous êtes coincé, que vous trouvez un moyen de vous décoincer et d'apprendre la matière. À l'examen, personne ne peut vous aider, sauf vous-même. Il est donc essentiel que vous compreniez pourquoi vous avez été bloqué une fois et comment vous l'avez résolu. Qu'avez-vous appris ? De plus, au MIT, nous avons tendance à travailler en groupe parce que les projets et les problèmes sont trop difficiles. Donc s'entraider aide vraiment, parce que si on arrive à le faire, on gagne tous ! 🙂

Essayez également d'identifier ce qui vous fait vraiment "échouer" et confrontez-le. Résolvez le problème directement, tout I est une solution à un problème différent. Mais lequel avez-vous ? Lesquelles vous aideront réellement ? Eh bien....identifiez le problème et essayez une solution !

et aussi, gardez une attitude positive et n'abandonnez pas ! 🙂

Aussi, assurez-vous d'être honnête avec vous-même aussi, voulez-vous vraiment faire du CS, des maths et de la programmation ? Personnellement avec le temps, j'ai découvert que je peux faire de la programmation, mais que je n'aime pas autant ça que j'aime faire des maths, de la théorie ou du machine learning. Mais cela dépend de chacun d'entre nous 🙂

Bonne chance.