Avec l'amour de Stepik : plateforme éducative Hyperskill

Je veux vous expliquer pourquoi nous réparons la plomberie plus souvent que nous n'écrivons des thèses à ce sujet, des différentes approches de l'enseignement de la programmation et de la manière dont nous essayons d'appliquer l'une d'entre elles dans notre nouveau produit Hyperskill.

Si vous n’aimez pas les longues introductions, passez directement au paragraphe sur la programmation. Mais ce sera moins amusant.

Avec l'amour de Stepik : plateforme éducative Hyperskill

digression

Imaginons une certaine jeune femme Masha. Aujourd'hui, Masha allait laver des fruits et regarder un film en toute tranquillité, mais pas de chance : soudain, elle a découvert que l'évier de la cuisine était bouché. On ne sait pas encore quoi faire avec cela. Vous pouvez reporter ce problème indéfiniment, mais il y a maintenant du temps libre, alors Masha décide de régler le problème immédiatement. Le bon sens suggère deux options : a) appeler un plombier b) vous en occuper vous-même. La jeune femme choisit la deuxième option et commence à étudier les instructions sur YouTube. Suivant les conseils de l'utilisateur Vasya_the_plumber, Masha regarde sous l'évier et voit un tuyau en plastique serpentant composé de plusieurs parties. La jeune fille dévisse soigneusement une pièce au fond de l'évier et ne trouve rien. Un morceau de tuyau inférieur s'avère étroitement obstrué par une substance inconnue, et même une fourchette trouvée sur la table ne peut pas faire face au blocage. Les experts d'Internet donnent des prévisions décevantes : la pièce devra être changée. Sur la carte, Masha trouve le magasin le plus proche, emporte avec elle le malheureux morceau de pipe et achète le même, mais neuf. Sur les conseils du vendeur, Masha se procure également une nouvelle passoire à titre préventif. La quête est terminée : l'évier fonctionne à nouveau comme il se doit, et son personnage principal, quant à lui, a appris ce qui suit :

  • Vous pouvez dévisser et serrer vous-même les tuyaux sous l'évier ;
  • Le magasin de plomberie le plus proche se trouve à un kilomètre et demi de l’appartement de Mashina.

Très probablement, Masha n'a même pas remarqué combien de nouvelles choses elle avait apprises et apprises, car elle s'inquiétait de son propre confort à l'avenir, tout en regardant un film et en lavant sa pomme. La prochaine fois qu'un problème similaire surviendra, la fille le résoudra plusieurs fois plus rapidement. En fait, Masha n’a pas simplement ramené le monde à son état habituel ; elle a étudié inductivement, c'est-à-dire dans des cas particuliers, et orienté vers la pratique, c’est-à-dire en faisant les choses plutôt qu’en les étudiant en détail et à l’avance.

Tout aurait pu se passer différemment. Supposons que Masha soit assise sur une chaise le soir et se rende compte soudain qu'elle n'est pas préparée mentalement et physiquement à un bouchon dans l'évier. Elle s'inscrit rapidement dans une académie de plomberie, étudiant les types d'éviers, de canalisations et de raccordements possibles, la classification des problèmes de plomberie et leurs solutions possibles. Masha ne dort pas la nuit, mémorisant des termes et des noms. Peut-être est-elle même en train de rédiger une thèse de doctorat sur la science théorique des canalisations, dans laquelle elle discutera des joints en caoutchouc. Enfin, après avoir reçu le certificat, Masha regarde fièrement autour de la cuisine avec la certitude que désormais, même le moindre problème avec l'évier sera résolu en un claquement de doigts. Dans ce scénario, la jeune fille étudiait déductivement, passant du général au spécifique, et était davantage axé sur la théorie.

Alors, quelle est la meilleure approche ? Dans le cas d'un évier et d'un bouchon - le premier, et pour ces raisons :

  1. Si seul un évier fonctionnel est important, il suffit alors de savoir uniquement ce qui concerne cette zone particulière. Lorsque Masha se rendra compte qu'elle manque de connaissances, elle trouvera certainement un moyen d'en apprendre davantage.
  2. Les connaissances encyclopédiques peuvent ne pas être activées dans une situation réelle parce que l'habitude n'a pas été développée. Afin d'apprendre la séquence d'actions, il est logique de ne pas les lire, mais de les exécuter.

Laissons la pauvre Masha tranquille et passons au processus d'apprentissage en tant que tel.

Programmation : apprendre ou faire ?

Nous sommes habitués à penser que pour évoluer et devenir un expert dans un domaine inconnu, il faut d'abord aller à l'université ou au moins s'inscrire à des cours. Nous écoutons régulièrement ce qu'ils nous disent et effectuons des tâches. Lorsque nous avons entre les mains le diplôme ou le certificat tant convoité, nous sommes instantanément perdus, car nous ne comprenons toujours pas pourquoi nous avons besoin de tant d’informations et comment les appliquer concrètement. Ce n'est pas un problème si vos prochains projets sont de rédiger des articles scientifiques et de voyager avec eux à des conférences. Sinon, cela vaut la peine de rechercher des compétences, c'est-à-dire de faire et de refaire des choses spécifiques, d'essayer et de commettre des erreurs afin de se souvenir longtemps de ce qu'il vaut mieux ne pas faire.

L’un des domaines dans lesquels une « main dure » ou un « œil de diamant » vont de pair avec une vision large est celui de la programmation. Si vous parlez à des développeurs expérimentés, vous entendrez des histoires courageuses dans lesquelles une personne a étudié les mathématiques/la physique/l'enseignement dès son plus jeune âge, puis s'est fatiguée et est passée au backend. Il y aura aussi des programmeurs sans formation supérieure ! Tout d'abord, ce qui est valorisé chez un développeur n'est pas un certificat ou un diplôme, mais la quantité et la qualité des programmes écrits, des scripts et des sites Web.

"Mais attendez!", objectez-vous, "Ça a l'air magnifique - prenez-le et faites-le!" Je ne peux pas facilement écrire moi-même un programme si je n’ai jamais programmé auparavant ! Il est important pour moi de comprendre où écrire, comment parler dans un langage de programmation avec un compilateur. Ce n’est pas comme trouver le numéro de téléphone d’un plombier sur Google.

Il y a là aussi une amère vérité. Un aspect inconnu en amène un autre, qui à son tour en amène un troisième, et bientôt ce processus se transforme en un spectacle de magicien, qui continue de sortir les mouchoirs noués et ne peut pas les sortir du haut-de-forme. Le processus, pour être honnête, est désagréable : au 5ème « mouchoir », il semble déjà que la profondeur de l'ignorance soit proche de la fosse des Mariannes. Une alternative à cela est les mêmes conférences sur 10 types de variables, 3 types de boucles et 150 bibliothèques potentiellement utiles. Malheureusement.

Hyperskill : nous avons construit, construit et enfin construit

Nous avons longuement réfléchi à ce problème. La date du dernier article sur notre blog en dit long sur la durée de notre réflexion. Après tous les débats et tentatives pour intégrer la nouvelle approche sur Stepik, nous nous sommes retrouvés avec... un site différent. Vous en avez peut-être déjà entendu parler dans le cadre de la JetBrains Academy. Nous l'avons appelé Hyperskill, intégré à l'apprentissage par projet, y avons lié une base de connaissances Java et obtenu le soutien de l'équipe EduTools. Et maintenant plus de détails.

Avec l'amour de Stepik : plateforme éducative Hyperskill

Objectif précis. Nous proposons un « menu » de projets, c'est-à-dire programmes que vous pouvez écrire avec notre aide. Parmi eux figurent le tic-tac-toe, l’assistant personnel, la blockchain, le moteur de recherche, etc. Les projets comprennent 5 à 6 étapes ; Le résultat de chaque étape est un programme terminé. « Alors pourquoi avons-nous besoin des autres étapes si tout s’est déjà bien passé lors de la première ? Merci pour la question. À chaque étape, le programme devient plus fonctionnel ou plus rapide. Au début, le code prend 10 lignes, mais au final, il peut même ne pas tenir dans 500 lignes.

Un peu de théorie. Il est impossible de s'asseoir et d'écrire ne serait-ce que Hello World sans connaître un mot de programmation. Ainsi, à chaque étape du projet, vous voyez quelles bases théoriques vous devez maîtriser et, surtout, où les obtenir. Les bases se trouvent également sur Hyperskill dans la rubrique « Knowledge Map ». Si, lors de la première étape du projet, les étudiants ne sont pas tenus de lire les données d'un fichier, ils ne pourront peut-être pas continuer. Ils l'apprendront eux-mêmes plus tard, pour leur développement général, ou ils en auront besoin lors de l'étape suivante.

Avec l'amour de Stepik : plateforme éducative Hyperskill

Carte des connaissances. Il vous montre les sujets que vous avez déjà étudiés et comment ils sont liés les uns aux autres. Ouvrez n'importe quel joli haut. Vous pouvez le parcourir, mais nous vous recommandons d'effectuer de petites tâches pour vous assurer que les informations rentrent dans votre tête. Tout d’abord, la plate-forme vous proposera des tests, après quoi elle vous confiera quelques tâches de programmation. Si le code compile et réussit les tests, comparez-le avec la solution de référence, cela aide parfois à trouver une manière plus optimale de l'implémenter. Ou assurez-vous que votre solution est déjà excellente.

Rien de plus. Nous attendons à la fois des utilisateurs « verts » et des développeurs expérimentés. Si vous avez déjà écrit des programmes, ce n'est pas grave, nous ne vous obligerons pas à ajouter 2+2 ou à retourner une ligne. Pour accéder immédiatement au niveau souhaité, lors de votre inscription, indiquez ce que vous connaissez déjà et choisissez un projet plus difficile. N'ayez pas peur de vous surestimer : si quelque chose arrive, vous pouvez toujours revenir sur un sujet oublié dans la carte des connaissances.

Avec l'amour de Stepik : plateforme éducative Hyperskill

Outils C'est bien d'écrire de petits morceaux de code dans une fenêtre spéciale sur le site, mais la vraie programmation commence par travailler dans l'environnement de développement (Iintégré Développement Eenvironnement). Les programmeurs expérimentés savent non seulement comment écrire du code, mais aussi comment concevoir une interface graphique, assembler différents fichiers dans un projet, utiliser des outils de développement supplémentaires et l'EDI prend en charge certains de ces processus. Pourquoi ne pas acquérir ces compétences pendant que vous apprenez la programmation ? C'est là que JetBrains vient à la rescousse et une version spéciale d'IntelliJ IDEA Community Educational avec un plugin EduTools préinstallé. Dans un tel IDE, vous pouvez suivre des cours de formation, vérifier les problèmes résolus et consulter des conseils sur le projet si vous avez oublié quelque chose. Ne vous inquiétez pas si c'est la première fois que vous entendez le mot « plugin » ou « IDE » : nous vous dirons de quoi il s'agit et comment l'installer sur votre ordinateur ou ordinateur portable avec un minimum de souffrance. Comprenez la théorie, puis accédez à l'EDI et terminez la prochaine étape du projet ici.

Délais. Il n'y en a aucun ! Qui sommes-nous pour frapper à la tête et vous dire à quel rythme écrire un programme ? Lorsque vous aimez écrire du code et que vous voulez le terminer, vous le terminez, aujourd'hui ou demain. Faites du développement pour votre propre plaisir.

Erreurs. Tout le monde les admet, vous aussi à l'une des étapes du projet, et alors cette étape ne passera pas les tests automatiques. Eh bien, vous devrez découvrir par vous-même ce qui n'a pas fonctionné. Nous pourrions vous dire où se situe l’erreur, mais cela vous apprendrait-il à écrire du code avec soin ? Lisez les conseils d'IDEA ou un sujet théorique sur les bugs, et lorsque le programme fonctionnera enfin, la montée de dopamine ne tardera probablement pas à venir.

Un résultat clair. Alors, vous avez terminé la première ébauche, et ensuite ? Profitez des fruits de votre travail ! Jouez au tic-tac-toe avec vos amis et vantez-vous de votre réussite en même temps. Téléchargez le projet sur GitHub pour le montrer à un futur employeur, rédigez vous-même une description et indiquez-y les connaissances que vous avez appliquées. 4 à 5 projets complexes, et maintenant un modeste portefeuille pour un développeur débutant est prêt.

Opportunité de croissance. Disons que vous regardez Hyperskill et n’y voyez aucun sujet important ou projet utile. Laisse-nous savoir! Si votre parcours est plus large et plus riche que la carte des connaissances, alors écrivez-nous via le formulaire Contribuer. Notre équipe partagera avec vous nos propres trucs et astuces, nous serons donc heureux de vous aider à transformer vos connaissances en contenu utile et compréhensible pour les utilisateurs de différents âges et niveaux. Peut-être même que nous paierons, mais ce n'est pas sûr.

Bienvenue: salut.hyperskill.org Entrez, regardez, essayez, suggérez, félicitez et critiquez. Nous apprenons également à vous enseigner.

Source: habr.com

Ajouter un commentaire