1. Apprentissage basé sur la pratique
Il y a des gens qui aiment CodeGym de tout leur cœur, et il y a des gens qui le détestent de tout leur cœur. Mais même le critique le plus vicieux de CodeGym conviendra volontiers qu'il a un nombre impressionnant de tâches. Et la raison pour laquelle il y en a tant est que toute formation CodeGym repose sur la pratique .
La programmation est une compétence. Personne ne dit "Je sais programmer". Chaque programmeur dit : "Je peux programmer". C'est une compétence pratique, comme nager ou jouer aux échecs. Et vous ne pouvez cultiver la compétence que par une pratique constante.
C'est pourquoi tout le cours CodeGym est une séquence de tâches de plus en plus difficiles. Vous commencez par des tâches très simples et primitives et vous terminez par les plus difficiles et les plus intéressantes. La difficulté augmente un peu à chaque niveau. C'est précisément le chemin qui vous mènera à votre objectif de devenir programmeur.
2. Types de tâches
Tout un tas de tâches différentes vous attendent sur CodeGym. Listons les principaux :
Tâches où vous écrivez du code en suivant un exemple
C'est l'exercice le plus simple. Le but de ces tâches est de pratiquer votre capacité à écrire du code. Pour résoudre la tâche, vous devrez écrire le code tel qu'il existe dans l'exemple de code. C'est très utile, mais ça devient très vite lassant. Il n'y a presque plus de telles tâches : nous les avons remplacées par des tâches plus intéressantes pour les étudiants de CodeGym.
Les cartes pour ces tâches sont marquées de la lettre T :
Tâches où vous écrivez un programme
Ce sont les tâches les plus importantes du cours. Leur niveau de difficulté varie considérablement : des tâches les plus simples à celles auxquelles vous devrez beaucoup réfléchir.
Le but de ces tâches est d'écrire un programme qui répond aux conditions et exigences spécifiées. La plupart des tâches entrent dans cette catégorie. Pour la commodité des étudiants CodeGym, nous marquons ces tâches en fonction de leur niveau de difficulté : FACILE , MOYEN , DIFFICILE et ÉPIQUE .
Les tâches EPIC sont souvent basées sur du matériel d'apprentissage futur dans des leçons que vous n'avez pas encore débloquées. Ils sont populaires auprès des étudiants de CodeGym qui trouvent que le cours est trop facile pour eux. D'autres peuvent simplement ignorer ces tâches et y revenir plus tard, lorsqu'ils se seront déjà familiarisés avec la théorie pertinente.
Projets
L'inconvénient des tâches ordinaires est qu'elles sont petites. Fait et oublié, comme on dit. Par conséquent, il est rarement possible de les rendre très intéressants. Mais un gros programme est difficile à tester : il y a tout simplement trop de façons de le mettre en œuvre.
Ce sont les tâches de projet introduites par CodeGym - de grandes tâches divisées en 10 à 30 sous-tâches ordinaires. Vous effectuez toutes les sous-tâches de manière séquentielle et vous vous retrouvez avec un programme volumineux.
À la fin de chaque niveau dans les quêtes Multithreading et Collections, il y a une grande tâche de projet, qui est divisée en vingt sous-tâches. Il existe également 6 autres tâches de jeu, qui sont également des projets. Au total, il y a 27 tâches de projet dans l'ensemble du cours.
Quiz
Pendant longtemps, CodeGym n'avait ni tests ni quiz. Le créateur de CodeGym est d'avis que les tests réussis créent "l'illusion de la connaissance" chez les gens. Les gens ne savent pas vraiment programmer, mais ils sont convaincus du contraire puisqu'ils ont réussi les tests. Ces personnes cessent d'apprendre, car "elles savent déjà tout".
Par la suite, des quiz ont été ajoutés pour permettre aux étudiants de CodeGym d'identifier facilement les lacunes dans leur apprentissage. Il est utile pour les programmeurs de connaître les nuances des choses avec lesquelles ils travaillent quotidiennement dans leur profession.
Vidéos
Enfin, le tout dernier type de tâche consiste à regarder une vidéo. De nombreuses vidéos utiles et intéressantes liées à l'industrie informatique ont été incluses dans les leçons CodeGym.
3. Statuts des tâches
Chaque tâche sur CodeGym a un statut spécial. Le statut peut changer au fur et à mesure que vous résolvez des tâches.
Chaque tâche CodeGym est associée à une leçon. Au départ, vous n'aurez accès à aucune tâche, ce qui signifie que vous ne pourrez pas les résoudre.
Lorsque vous ouvrez la leçon suivante, toutes les tâches de la leçon deviennent disponibles pour être résolues, c'est-à-dire que leur statut passe à "Disponible".
Si vous avez soumis une tâche pour vérification au moins une fois, son statut passe de "Disponible" à "En cours".
Enfin, lorsque vous avez satisfait à toutes les exigences et que le validateur accepte votre soumission, le statut de la tâche passe à "Terminé".
Les utilisateurs avec un abonnement Premium Pro ont 3 jours supplémentaires pour essayer d'écrire d'autres solutions pour la tâche. Après l'expiration de cette fenêtre de temps supplémentaire, la tâche passe au statut "Fermé" et ce statut ne changera plus.
4. WebIDE
Pour vous faciliter la tâche, nous avons écrit un widget spécial : WebIDE . Il ressemble approximativement à ceci :
Sur la gauche, vous voyez les conditions de tâche et les exigences que votre solution doit satisfaire. Au centre, nous avons l' éditeur, où vous devez écrire votre code . Votre programme a affiché du texte, que vous pouvez voir dans le volet en bas.
Et en haut, vous verrez ces boutons :
- Vérifier : soumettez votre solution pour test.
- Aide : Posez une question sur votre solution dans la communauté CodeGym.
- Discuter : Discutez de la tâche avec d'autres utilisateurs.
- Réinitialiser : Réinitialisez votre solution, c'est-à-dire recommencez.
- Exécuter : Lancez le programme sans le soumettre pour vérification (votre compteur de vérification n'augmentera pas).
- Analyse de code : Obtenez des suggestions sur le style de code de votre solution
5. Exigences
Dans les premières années de CodeGym, lorsque vous vérifiiez chaque tâche, vous obteniez un résultat simple : oui ou non. Soit le programme a réussi tous les tests, soit il ne l'a pas fait. Super simple, mais pas super utile.
Au fur et à mesure que les gens apprennent, il est très important qu'ils comprennent ce qu'ils font mal et comment commencer à le faire correctement. En conséquence, il est parfaitement logique que si le serveur n'accepte pas votre solution, vous vous demandiez, eh bien, qu'est-ce qui ne va pas?
Pour obtenir une réponse à cette question, vous avez besoin de quelqu'un pour plonger dans votre solution, l'analyser et vous dire ce qui ne va pas. Cela prendrait beaucoup de temps et coûterait cher. La beauté de la vérification instantanée des tâches est que vous pouvez vous asseoir pour étudier à 2 heures du matin et tout fonctionnera comme à tout autre moment.
C'est pourquoi nous avons réécrit toutes les tâches sur CodeGym. Désormais, chaque tâche a non seulement des conditions de tâche, mais également une liste de 5 à 10 exigences qui étoffent les conditions. Plus important encore, chaque exigence est vérifiée séparément.
Cela signifie que lorsque vous soumettez une tâche pour vérification aujourd'hui, vous obtiendrez une réponse détaillée : à côté de chaque exigence de tâche, vous verrez une icône spéciale indiquant si votre programme satisfait ou non à cette exigence. Exemple:
Cette approche simplifie grandement la vie lorsque vous travaillez sur des tâches nécessitant l'écriture de plusieurs classes ou méthodes. Vous pourrez toujours voir quelles méthodes ou classes vous avez écrites correctement et celles que vous n'avez pas écrites.
6. Recommandations
Est-il possible de rendre les tâches encore meilleures d'une manière ou d'une autre ? Ne serait-il pas formidable si, après chaque vérification, on vous disait exactement ce qui ne va pas dans votre programme et obteniez des conseils sur la façon de le réparer ? Oui, ce serait cool ! Bien devinez quoi? C'est exactement ce que nous faisons sur CodeGym 🙂
Nous détectons des dizaines d'erreurs courantes en vérifiant chaque exigence de tâche. Si votre programme fait une erreur dont le validateur a connaissance, il fait alors une recommandation — un indice sur la façon dont vous pouvez corriger votre solution afin qu'elle réponde à toutes les exigences.
Pensez-y. Il y a maintenant environ 1 200 tâches sur CodeGym, avec un total d'environ 10 000 exigences. Et il y a plusieurs recommandations associées à chaque exigence. Certaines exigences en ont des dizaines. Le validateur de CodeGym est prêt à faire plus de 50 000 recommandations de solutions utilisateur.
De plus, tout cela se produit au fur et à mesure que votre solution est validée, ce qui dans la plupart des cas prend moins d'une seconde. Personne ne pourrait faire ça. Il s'agit d'un véritable mentor virtuel.
GO TO FULL VERSION