Organisateurs et assistants pédagogiques sur les programmes en ligne du centre CS

Le 14 novembre, le CS Center lance pour la troisième fois les programmes en ligne « Algorithmes et informatique efficace », « Mathématiques pour les développeurs » et « Développement en C++, Java et Haskell ». Ils sont conçus pour vous aider à vous plonger dans un nouveau domaine et à jeter les bases de l’apprentissage et du travail dans le domaine informatique.

Pour vous inscrire, vous devrez vous immerger dans l’environnement d’apprentissage et réussir un examen d’entrée. En savoir plus sur le programme, l'examen et le coût sur code.stepik.org.

En attendant, les assistants pédagogiques et le conservateur des programmes des lancements précédents vous expliqueront comment la formation est organisée, qui vient étudier, comment et pourquoi les assistants font des révisions de code pendant leurs études et quelle participation aux programmes leur a appris.

Organisateurs et assistants pédagogiques sur les programmes en ligne du centre CS

Comment les programmes sont organisés

Le centre CS propose trois programmes en ligne sur la plateforme Stepik : "Algorithmes et informatique efficace", "Mathématiques pour les développeurs" и "Développement en C++, Java et Haskell". Chaque programme se compose de deux parties. Il s'agit de cours préparés par des enseignants et des scientifiques expérimentés :

  • Algorithmes et informatique théorique dans le cadre du programme d'algorithmique.
  • Analyse mathématique, mathématiques discrètes, algèbre linéaire et théorie des probabilités dans le programme de mathématiques destiné aux développeurs.
  • Cours de C++, Java et Haskell dans le programme Langages de programmation en ligne.

Ainsi que des activités supplémentaires, par exemple la révision du code, la résolution de problèmes théoriques avec des preuves, les consultations avec les assistants et les enseignants. Ils sont difficiles à mettre à l’échelle, c’est pourquoi la formation se déroule en petits groupes. Les activités vous aident à mieux comprendre le sujet et à recevoir des commentaires de qualité.

Artemy Pestretsov, assistant pédagogique : « Il me semble que la révision de code est la principale caractéristique distinctive des programmes en ligne sur les langages et les algorithmes. Pour trouver la réponse à votre question, vous pouvez simplement la rechercher sur Google. C'est dur et long, mais possible. Mais Google ne procédera pas à une révision du code, c’est donc très précieux.

Chaque cours du programme dure environ deux mois. En finale, les étudiants doivent réussir un examen ou recevoir des crédits pour tous les cours.

Organisateurs et assistants pédagogiques sur les programmes en ligne du centre CS

Qui sont nos étudiants

Étudiants du programme en ligne :

  • Ils veulent combler des lacunes en mathématiques ou en programmation. Par exemple, des développeurs expérimentés qui souhaitent améliorer leurs connaissances mathématiques.
  • Ils commencent à se familiariser avec la programmation et intègrent les programmes du centre dans leur plan d’auto-éducation.
  • Ils se préparent à entrer dans un programme de master ou dans un centre CS.
  • Des étudiants avec une formation spécialisée différente qui ont décidé de changer radicalement de direction. Par exemple, les chimistes ou les enseignants.

Artemy Pestretsov : « Nous avions un étudiant, un homme dans la fleur de l'âge, qui travaillait dans une société pétrolière et gazière et qui a pris un sursis en raison des délais parce qu'il était parti en voyage d'affaires vers un puits. C’est cool que des personnes issues d’horizons complètement différents voient que les technologies informatiques et les mathématiques ont pris de l’ampleur. Ce sont des personnes accomplies qui peuvent déjà vivre une vie merveilleuse, mais qui essaient d’apprendre quelque chose de nouveau et souhaitent se développer dans d’autres domaines.

Mikhaïl Vesselov, vmatm: « Le niveau de chacun est différent : quelqu'un ne comprend pas complètement les bases du langage, tandis que quelqu'un vient en tant que programmeur Java ou Python, et vous pouvez engager une conversation avec lui dans l'esprit de « comment faire mieux ». » L’essentiel est de se concentrer non pas sur les meilleurs des meilleurs, mais sur le niveau moyen, pour que le cours soit utile à tout le monde.

Comment s’organise la formation ?

Plusieurs outils aident les organisateurs et les éducateurs à construire le processus.

Correspondance par courrier. Pour les annonces importantes et formelles.
Discutez avec les enseignants et les organisateurs. Les gars commencent souvent à s'entraider dans le chat avant même que l'enseignant ou l'assistant ne voie la question.
Vous suivez. Pour les questions et soumettre des tâches aux enseignants et aux assistants. Ici, vous pouvez poser des questions privées et discuter de la solution en tête-à-tête : les étudiants, bien sûr, ne peuvent pas partager de solutions entre eux.

Les organisateurs communiquent avec les étudiants et tentent de résoudre rapidement les problèmes. Kristina Smolnikova : « Si plusieurs étudiants posent la même question, cela signifie qu'il s'agit d'un problème courant et que nous devons en parler à tout le monde. »

Comment les assistants aident

Révision des codes

Les étudiants des programmes soumettent des devoirs et les assistants vérifient la propreté et l'optimisation de leur code. C'est ainsi que les gars ont organisé la revue la dernière fois.

Artemy Pestretsov a essayé de répondre aux questions dans un délai de 12 heures, car les étudiants soumettaient leurs problèmes à des moments différents. J'ai lu le code, trouvé des problèmes du point de vue des normes, des pratiques générales de programmation, suis allé au fond des détails, demandé d'optimiser, suggéré quels noms de variables devaient être corrigés.

« Tout le monde écrit du code différemment, les gens vivent des expériences différentes. Il y a des étudiants qui l'ont pris et l'ont écrit du premier coup. J'aime tout, ça marche très bien et le test prend 25 secondes car tout est parfait. Et il arrive que vous passiez une heure à essayer de comprendre pourquoi une personne a écrit un tel code. Il s'agit d'un processus d'apprentissage absolument adéquat. Lorsque vous effectuez des révisions de code dans la vie, voici ce qui se produit.

Mikhail a essayé de construire le processus indépendamment pour chaque élève, afin qu'il n'y ait aucune situation : « J'ai déjà expliqué cela à quelqu'un, demandez-lui. Il a fait un premier commentaire détaillé sur le problème, puis l'étudiant a posé des questions de clarification et a mis à jour la solution. Par approches successives, ils ont obtenu un résultat satisfaisant tant le mentor que l'étudiant en termes de qualité.

« Au cours des deux premières semaines de formation, les gens écrivent du code pas très soigné. Il faut leur rappeler soigneusement les normes qui existent à la fois en Python et en Java, leur parler des analyseurs de code automatiques pour les erreurs et les lacunes évidentes, afin que plus tard ils ne soient pas distraits par cela et que la personne ne soit pas dérangée pour l'ensemble semestre par le fait que ses virements ont été mal effectués ou que la virgule est au mauvais endroit.

Conseils pour ceux qui souhaitent procéder à des révisions du code de formation

1. Si un élève a écrit du code problématique, il n’est pas nécessaire de lui demander de le refaire. Il est important qu'il comprenne quel est le problème avec ce code particulier.

2. Ne mentez pas aux étudiants. Il est préférable de dire honnêtement « je ne sais pas » s’il n’y a aucun moyen de comprendre le problème. Artemy : « J'avais un étudiant qui approfondissait beaucoup le programme, descendait au niveau matériel, puis remontait, et lui et moi montions constamment cet ascenseur d'abstractions. J’ai dû retenir certaines choses, mais c’était très difficile à formuler tout de suite.

3. Il n'est pas nécessaire de se concentrer sur le fait que l'étudiant est un débutant : lorsqu'une personne fait quelque chose pour la première fois, elle prend les critiques plus au sérieux, ne sait pas du tout comment cela se fait habituellement et ce qu'elle réussit. et ce qu'il ne fait pas. Il est préférable de ne parler soigneusement que du code et non des inconvénients de l'élève.

4. C'est formidable d'apprendre à répondre aux questions de manière « pédagogique ». La tâche n’est pas de répondre directement, mais de s’assurer que l’étudiant comprend réellement et trouve lui-même la réponse. Artemy : « Dans 99 % des cas, je pouvais répondre immédiatement à la question d'un étudiant, mais pas souvent je pouvais écrire immédiatement une réponse, car je devais peser beaucoup. J'ai écrit cinquante lignes, je l'ai effacé, je l'ai réécrit. Je suis responsable de la réputation des cours et des connaissances des étudiants, et ce n'est pas un travail facile. Un sentiment très cool se produit lorsqu’un élève dit : « Oh, j’ai une révélation ! » Et je me disais aussi : « Il a une révélation ! »

5. Il est important d’être attentif et de ne pas trop critiquer. Inspirez, mais pas trop, pour que l'élève ne pense pas qu'il fait tout bien. Ici, vous devrez apprendre à gérer avec compétence le niveau de vos émotions.

6. Il est utile de collecter les commentaires généraux et les erreurs du même type pour gagner du temps. Vous pouvez enregistrer le premier message de ce type, puis simplement copier et ajouter des détails en réponse aux autres à la même question.

7. En raison de la différence de connaissances et d'expériences, certaines choses semblent évidentes, c'est pourquoi au début les assistants ne les déchiffrent pas dans les commentaires destinés aux étudiants. Il est utile de simplement relire ce que vous avez écrit et d’ajouter à ce qui vous semble banal. Mikhaïl : « Il me semble que plus j'aide à vérifier les solutions longtemps, plus je suis compréhensible dès le début pour les étudiants du nouveau cours. Je lisais maintenant les premiers commentaires sur le code et disais : « J'aurais dû être plus prudent, plus détaillé. »

Enseigner et aider est génial

Nous avons demandé aux gars de nous raconter quelles expériences utiles ils ont vécues en effectuant des révisions de code et en communiquant avec les étudiants.

Artemy : « La principale chose que j'ai apprise, c'est la patience en tant qu'enseignant. C'est une compétence complètement nouvelle, je maîtrise des domaines complètement nouveaux et non techniques. Je pense que l'enseignement sera très utile lorsque je prendrai la parole lors de conférences, lorsque je discuterai avec des collègues ou que je présenterai des projets lors d'un rassemblement. Je conseille à tout le monde de l'essayer !

Mikhail : « Cette expérience m'a aidé à être un peu plus tolérant envers le fait que quelqu'un écrit du code différemment de moi. Surtout quand vous commencez tout juste à chercher une solution. J'ai moi-même suivi des cours de Python et de Java et j'ai résolu des problèmes similaires différemment. Variables nommées et fonctions différemment. Et les solutions des gars sont toutes un peu différentes, car en programmation, il n’y a pas de solution standard. Et là, il faut un peu de patience pour ne pas dire : « C’était la seule façon de faire ! » Cela m’a aidé plus tard, au travail, à discuter des avantages et des inconvénients de décisions spécifiques, et non des avantages et des inconvénients du fait que ce n’était pas moi qui l’avais prise.

En savoir plus sur les programmes en ligne et les avis des anciens élèves

Source: habr.com

Ajouter un commentaire