En mai 2024, après 3 mois de travail acharné, j'ai enfin terminé le cours Harvard CS50X. Finalement, j'ai terminé tout le voyage et j'ai obtenu un certificat gratuit de Harvard. C'était l'un des meilleurs cours que j'ai jamais suivi. Voici mon certificat,
Comme vous êtes ici, je peux supposer que vous savez quelque chose sur le CS50x. Il s’agit du cours d’introduction à la programmation de l’Université Harvard qui vous enseigne les bases du monde de la programmation. Je vois beaucoup d’idées fausses que j’avais avant de commencer. Je vais essayer de donner un aperçu complet et des directives générales pour vous aider à comprendre pleinement le CS50x. En fin de compte, vous pouvez obtenir un certificat gratuit de Harvard, tout comme moi. Commençons
Alors, qu’est-ce que le CS50 ? Harvard dit :
Il s'agit du CS50, l'introduction de l'Université Harvard aux entreprises intellectuelles de l'informatique et de l'art de la programmation, pour les concentrateurs et les non-concentrateurs, avec ou sans expérience préalable en programmation.
Le cours comprend 11 semaines (parties) de matériel d'apprentissage et dans chaque partie, vous recevez un ensemble de problèmes que vous devez résoudre vous-même sans l'aide de l'IA ou de toute autre méthode. Au cours de la 11ème semaine dernière, vous devez soumettre un projet final que vous devez réaliser avec votre créativité.
L'une des spécialités du CS50 est son instructeur David Malan et l'équipe CS50 qui vous soutient. Vous tomberez amoureux du style d'enseignement de David Malan. Sa présentation et son enseignement étaient merveilleux. Je n'ai rien à redire sur les enseignements de ce cours.
Vous trouverez ci-dessous un aperçu complet de toutes les semaines. n'hésitez pas à sauter. Comment réussir ces sections est expliqué plus loin dans ce blog
**Scratch de la semaine 0 :
**dans cette section, vous apprendrez quelques concepts d'introduction à l'informatique, tels que la pensée computationnelle, la résolution de problèmes, le binaire, l'ASCII, l'Uniconde, les algorithmes, etc.
David vous montrera quelques réflexions sur les principes fondamentaux de la programmation à travers un langage bébé appelé Scratch. En guise de défi, vous devez soumettre votre propre projet Scratch. C'est amusant TBH.
**Semaine 1C :
**Vous écrirez de vrais programmes dans cette section. Vous apprendrez à programmer en C. Cela inclut les principes fondamentaux d'un langage de programmation tels que les conditions, les boucles, les variables, les types de données et les commandes de terminal de base. Malan plongera dans certains concepts profonds comme le débordement d'entier et la troncature.
Ici, les problèmes à résoudre sont Mario, l'argent liquide et le crédit.
Mario et le cash sont simples mais le crédit est délicat.
**Tableaux de la semaine 2 :
** Vous apprendrez les étapes de traitement et de compilation, le débogage et les concepts de programmation cruciaux tels que les tableaux et les chaînes. Vous réaliserez deux programmes « greet.c » et « touppercase » en classe
Les problèmes sont le Scrabble et la lisibilité. Notez que la lisibilité est difficile. Aussi, vous devez soumettre un de ces projets,
César (relativement facile) et Substitution (difficile ++).
Algorithmes de la semaine 3 :
En cours, vous apprendrez la notation asymptotique pour calculer l'efficacité algorithmique. La vidéo montre les opérations de recherche et les tris tels que la recherche linéaire, la recherche binaire, le tri à bulles, le tri par fusion et le tri par sélection. Un beau concept de programmation qui est récursif est également présenté ici.
vous devez obligatoirement compléter le tri et la pluralité. les facultatifs sont Runoff et Tideman. vous devez remplir l’un des deux. Mon conseil est de terminer Runoff car c'est plus facile. Tideman est l'un des problèmes les plus difficiles que vous rencontrerez dans votre vie.
Mémoire de la semaine 4 :
Cette semaine, Malan enseigne comment fonctionne la mémoire. Les pointeurs, malloc, l'exécution de mémoire libre et de base comme le tas et la pile sont traités ici. vous en apprendrez également sur les fuites de mémoire, les valeurs inutiles et les opérations d'E/S de fichiers.
Comme problème, vous devez soumettre Volume, Recover et toute version de filtres. J'ai soumis les deux problèmes de filtre.
Structures de données de la semaine 5 :
Vous apprendrez quelques bases des structures de données. des concepts tels que les files d'attente, les piles, les tas, les listes chaînées, les arbres de recherche, les tables de hachage et les essais sont abordés ici
Les problèmes sont Speller et Inheritance qui sont comparativement plus simples que les précédents. Si vous êtes arrivé jusqu'ici, je suis sûr que vous avez la capacité de terminer tout le voyage.
Semaine 6 Python :
Vous appliquerez les concepts précédents du langage de programmation mais dans un langage Python beaucoup plus simple.
Les ensembles de problèmes sont faciles. En fait, vous réécrivez vos précédentes solutions pset en Python. Notez que vous trouverez peut-être le problème de l'ADN un peu délicat.
Semaine 6.5 Intelligence artificielle :
Vous apprendrez comment l'IA moderne prend des décisions et fonctionne derrière elles. Quelques bases de l'ingénierie Prompt, de l'apprentissage automatique, de l'apprentissage profond et de l'IA générative sont abordées ici.
Aucun problème ne se pose ici.
Semaine 7 SQL :
Plongeons en profondeur dans le monde des bases de données relationnelles. Vous apprendrez les bases de la base de données sqlite3 et les concepts tels que les tables, les lignes, les index, les fonctions et les attaques par injection, etc.
Si vous vous êtes concentré sur les sujets de la vidéo, le problème posé est trop facile à résoudre pour vous. Les problèmes sont les chansons, les films et FiftyVille.
J'adore le FiftyVille. Je crois que vous allez l'adorer aussi.
Semaine 8 HTML, CSS et JavaScript :
Les concepts de base du Web sont abordés dans la vidéo, tels que le fonctionnement d'Internet, TCP, IP, HTTP, etc. Vous apprendrez ensuite les éléments de base d'un site Web que sont HTML, CSS et JavaScript. Vous n'aurez qu'une brève compréhension de ces technologies.
Vous devez soumettre les solutions de deux problèmes qui sont Trivia et Homepage. vous devez créer des sites Web personnalisés en utilisant HTML, CSS et Javascript pour résoudre ce problème
Flacon de la semaine 9 :
Flask est une bibliothèque construite sur Python pour rendre un site Web dynamique. La vidéo couvre des sujets tels que Flask, Route, Requêtes, Réponses, Sessions, Cookies et montre la syntaxe de base de Jinja.
Vous devez résoudre deux problèmes d'anniversaire et de finance en créant deux sites Web dynamiques en utilisant flask et jinja. La finance est un problème difficile mais amusant.
Semaine 10 Cybersécurité :
Les bases de la cybersécurité sont couvertes dans la vidéo et celle-ci ne pose aucun problème lié à la cybersécurité. Il vous suffit de réaliser un projet final pour terminer l'ensemble du cours. Vous pouvez faire appel à l'IA ici, mais votre projet doit être unique. Pour réaliser le projet, vous pouvez choisir ce que vous voulez réaliser et les technologies que vous souhaitez choisir.
Bien que le Cs50 puisse bénéficier à la plupart des gens, vous devez considérer certaines choses avant de commencer. sinon, vous pourriez vous sentir déçu ou ne pas terminer le cours et perdre du temps.
**Vous n'avez jamais codé auparavant :
** Bien qu'un peu d'expérience en codage vous fera gagner beaucoup de temps, si vous n'avez jamais codé auparavant, vous devriez commencer avec CS50. Si vous parvenez à le terminer jusqu'à la fin, vous pouvez devenir imparable. Notez que la plupart des débutants ne terminent pas le cours car cela semble trop difficile.
**Vous souhaitez avoir une compréhension globale du monde de la programmation :
**Que vous soyez un employé, un travailleur créatif ou un étudiant, CS50 vous aidera à acquérir une bonne compréhension du monde de la programmation. Vous trouverez peut-être une voie à suivre dans votre carrière. Tout comme moi.
J'étais un développeur front-end, travaillant principalement sur le front-end et créant de belles interfaces utilisateur. Après avoir terminé CS50, j'ai commencé à m'orienter vers le backend.
vous souhaitez augmenter vos compétences en résolution de problèmes :
Le CS50 a un énorme ensemble de problèmes à résoudre. Chaque semaine, les problèmes deviennent plus difficiles et plus intéressants. Je suis sûr que si vous souhaitez augmenter vos compétences en résolution de problèmes tout en apprenant un aperçu du monde de la programmation, CS50 est définitivement une voie à suivre.
À la recherche d'un titre reconnu :
Obtenir le certificat de Harvard est une chose fantastique à réaliser dans votre vie. Pensez-y de cette façon,
Si vous étiez RH et que vous choisissiez de recruter deux candidats pour un seul poste, celui qui avait déjà complété le CS50 occupera toujours une position pratique dans votre liste. Bien que d'autres facteurs comptent également.
**Vous souhaitez faire appel à un expert dans un domaine :
**C'est un point important. D'après ma propre expérience, je peux dire que le CS50x n'est pas un cours qui vous spécialise dans un certain domaine. qu'il s'agisse de développement Web, mobile ou backend. Il vous donne seulement un aperçu de base du monde de la technologie. Vous acquérez une vaste connaissance du monde de la programmation. alors votre tâche consiste à choisir un domaine et à en apprendre davantage à son sujet. CS50 possède également ses propres cours Python ou Web. vous pouvez les vérifier.
Vous souhaitez un emploi au plus vite :
Je veux vous transmettre ce message crucial. Comme je l'ai dit plus tôt, le CS50x n'est pas un cours spécialisé, cela ne fait pas de vous un expert ni ne vous donne une connaissance approfondie d'un certain domaine. Pour cela, vos connaissances ne sont pas si complètes. C’est une idée fausse courante que je trouve dans la communauté. Si vous souhaitez un emploi le plus tôt possible, recherchez d'autres cours ou parcours d'apprentissage complets. CS50 propose des cours comme Python, R ou Web. vous pouvez les vérifier. mais sans exception, il est difficile d'obtenir un emploi avec uniquement le CS50x. Vous pouvez m'envoyer un message privé sur Twitter afin que je puisse vous aider.
REMARQUE : le certificat CS50 peut vous aider à être présélectionné pour l'entretien
Vous n'avez pas le temps de vous engager :
Quand j'ai commencé, je pensais terminer ce cours en un mois en travaillant énormément dur.
Gardez à l'esprit que le CS50 est un cours difficile et que c'est une spécialité de celui-ci. Cela prend du temps pour le terminer. Parfois, vous devrez peut-être revoir les cours pour comprendre les concepts. Au moins 2 mois de travail dédié sont nécessaires pour le réaliser. Ngl Il m'a fallu 3 mois pour terminer CS50. Un engagement de temps est nécessaire.
Autres facteurs :
Vous avez un emploi du temps chargé ou vous êtes programmeur et vous ne souhaitez pas apprendre en profondeur un langage de bas niveau comme le C.
Peut-être que vous êtes déjà dans un processus d'apprentissage de quelque chose et qu'il y a constamment quelque chose dans votre esprit qui vous appelle à propos du CS50. Terminez d’abord l’apprentissage, puis vous pourrez venir au CS50 à tout moment.
Comme j'ai déjà suivi le cours, je vous donne quelques conseils et directives pour compléter le CS50. J’aurais aimé connaître certains de ces conseils plus tôt. Je pense que cela vous aidera dans le processus.
Nous avons choisi le CS50 non pas parce que c'est facile, mais parce que c'est difficile.
Gardez à l’esprit : ce n’est pas facile
Une chose est de vous rappeler que si vous êtes débutant et n'avez aucune connaissance préalable en programmation, CS50 est un cours DIFFICILE à suivre. J'ai eu la chance d'avoir une formation en apprentissage de JavaScript dont les concepts m'ont beaucoup aidé. Les choses pourraient éventuellement devenir difficiles et vous pourriez être frustré. Mais ne vous inquiétez pas, ce n'est pas seulement vous. Nous sommes tous passés par là et nous l'avons surmonté.
**Terminez le cours sur le site Web du CS50
**Vous pouvez suivre gratuitement l'intégralité du cours depuis EDX, mais je pense que le suivre depuis le site Web de CS50 est beaucoup plus simple. C'est absolument votre choix.
Relevez le défi
L'une des raisons pour lesquelles il m'a fallu 3 mois pour terminer le CS50x est que j'ai complété pratiquement tous les psets, y compris ceux facultatifs. Je me suis lancé le défi de terminer toutes les tâches problématiques. Cela a également enrichi mes connaissances. Je vous suggère au moins d'essayer de compléter tous les psets, qu'ils soient facultatifs ou obligatoires.
Prendre des notes :
Vous devez prendre des notes de chaque sujet important abordé dans la conférence afin de ne pas avoir à revoir toute la vidéo pour comprendre à nouveau le concept.
Les vidéos CS50 sont quelque peu complexes. Parfois, il faut revoir la vidéo. Si vous prenez des notes, vous ne pourrez peut-être pas revoir la vidéo et vous contenter de parcourir uniquement les notes. c'est utile. J'ai pris des notes sur la notion. Si vous les voulez, envoyez-moi un message sur Twitter. Je les partagerai avec vous.
Ne sautez pas les explications de Lloyded :
Après la leçon de David de chaque semaine, pour vous faire mieux comprendre les sujets, des vidéos supplémentaires sont proposées. Doug Lloyd est le présentateur et il essaie de donner un aperçu des sujets avec quelques exemples. Ma suggestion est de ne pas les ignorer.
Ne restez pas coincé dans un problème facultatif :
Il est nécessaire de compléter les ensembles de problèmes obligatoires, mais certains problèmes prendront beaucoup de temps. surtout les «les plus confortables» . **C'est l'une des erreurs que j'ai commises. J'ai été bloqué pendant des semaines pour résoudre un seul problème. Ne fais pas ça. Parfois, sauter est une option judicieuse.
Voici un conseil : ne soumettez pas les options facultatives qui vous semblent trop difficiles. Recherchez simplement la solution sur Google et essayez de comprendre quelle était l'erreur. et **notez que : ne soumettez pas cette solution.
Tideman est coriace !!
Au cours du Pset de la semaine 3, vous devez soumettre l’un des Runoff et Tideman. **Tideman est TROP DUR. Je répète TROP DUR.
**J'étais têtu et j'ai essayé et bloqué pendant près de 17 jours. La solution de ce problème se fait par récursion. Ensuite, j'ai dû passer à autre chose. Si vous pensez que c’est difficile (c’est évidemment le cas), passez à autre chose. terminez le ruissellement et continuez. J'aurais aimé que quelqu'un me le dise avant.
Obtenez l'aide juridique de Discord
La communauté Discord de CS50 est très utile. demandez simplement l'aide du serveur si vous êtes bloqué ou si vous avez une question. mais notez que vous ne devriez pas partager votre solution complète. C'est illégal.
le lien : CS50 Discord
Soyez honnête
CS50 a une politique d'honnêteté académique. Il est absolument illégal de copier du code provenant d'autres sources et de soumettre la solution comme si elle avait été écrite par la vôtre. L'équipe CS50 peut disqualifier votre certificat pour cela.
De plus, vous êtes ici pour apprendre. Pourquoi être malhonnête ici ?
Conseils pour la soumission finale du projet :
Vous devez prendre le temps et soumettre le projet final avec amour et créativité, comme si vous créiez votre propre produit technologique. Réfléchissez-y profondément et réalisez un projet sympa.
CONSEIL : tous les autres pset, à l'exception du projet final, peuvent être réalisés via CS50.dev . Vous devez créer votre projet final dans votre environnement local. De plus, vous devez pousser le projet final et créer un long fichier readme.md de 750 mots et enregistrer une vidéo à ce sujet.
Ensuite, soumettez-le. mais ici, vous pourriez être confronté à des défis. J'ai dû soumettre manuellement pour cela.
sur cs50.me, vous devez vous connecter avec GitHub et vous pouvez voir votre carnet de notes. après avoir terminé chaque pset requis et le projet final, vous serez éligible pour obtenir un certificat gratuit de Harvard. C'est à vous !
Merci d'avoir lu ceci. J'espère que vous obtiendrez votre certificat de Harvard. Mais il ne s’agit pas ici du certificat. Il s’agit d’acquérir des connaissances précieuses auprès des meilleurs instructeurs. vous allez adorer tout le voyage.
Merci d'avoir lu, tout cela venait de moi. J'espère que vous avez trouvé des choses intéressantes dans cet article. Si vous rencontrez d'autres défis ou avez d'autres questions, n'hésitez pas à m'envoyer un message privé sur Twitter : Shihab Haque
crédit de la page de couverture : freecodecamp
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!