Exercices d'apprentissage


Les exercices d'apprentissage visent à enseigner à l'apprenant les compétences clés nécessaires pour travailler dans un langage donné. Ils couvrent à la fois la façon de faire les choses courantes dans ce langage (par exemple manipuler des strings) et celle de faire des choses plus spécifiques au langage (par exemple les monades, la POO, les fonctions d'ordre supérieur).

Les exercices d'apprentissage ont les caractéristiques suivantes :

  • Chacun a un objectif d'apprentissage clair.
  • Ils sont spécifiques à un langage, pas génériques.
  • On fournit des ébauches et du code passe-partout pour éviter que l'apprenant ait à apprendre ou à écrire du code inutile dans les exercices.

Concepts

Les exercices se déverrouillent en fonction des concepts enseignés et appris. Chaque exercice d'apprentissage doit enseigner un ou plusieurs concepts. Il peut aussi avoir des prérequis sur des concepts, ce qui signifie qu'il ne sera pas déverrouillé avant que les exercices d'apprentissage qui enseignent ces concepts prérequis aient été terminés.

Difficulté

Les exercices d'apprentissage ne doivent pas devenir intrinsèquement plus difficiles au fil du parcours. Un développeur expérimenté dans le langage X devrait pouvoir faire tous les exercices d'apprentissage de ce parcours en passant au maximum 5 à 10 minutes sur chacun. Comme chaque exercice vise à faire utiliser un concept pour la première fois, et que le développeur expérimenté maîtrise déjà ce concept dans le langage X, l'exercice devrait lui sembler relativement trivial. Les exercices plus tardifs peuvent sembler plus difficiles à un développeur qui ne connaît pas le langage X, mais seulement parce que l'exercice en question enseigne un concept qui est en soi plus compliqué (par exemple, la plupart des gens conviendront qu'apprendre la récursion pour la première fois est plus complexe que de transposer une boucle d'un langage à un autre).

Retour

Les exercices d'apprentissage ne sont pas mentorés. Quand un apprenant soumet une solution qui fait passer les tests d'un exercice d'apprentissage, on cherche un analyseur ou un representer pour donner un retour. Si on n'en trouve aucun, la solution est approuvée. Le poids de l'enseignement repose alors sur l'exercice, qui doit offrir un chemin clair vers l'apprentissage du concept enseigné.