Préface

Pour l’enseignant

Ce livre contient tous les exemples de logiciels utilisés dans ma classe CoderDojo pour enseigner le langage de programmation Python. Le but premier de cette classe est d’enseigner la programmation en utilisant des jeux vidéos pour rendre l’apprentissage plus intéressant. Certains des exemples de cet ouvrage portent entièrement sur l’introduction de nouveaux concepts du langage Python ou sur l’usage de l’interface de programmation Pygame Zero. Toutefois, la plupart des exemples sont un mélange de ces deux tendances.

L’intention est que chaque programme dans les exemples de chapitres soit bref et complet afin qu’il présente seulement un ou deux nouveaux concepts à l’apprenant.

  • Les programmes sont suffisamment courts afin de permettre aux élèves de saisir le code sur leur clavier lors des temps de classes. Écrire le code soit même est une compétence importante à développer chez l’apprenant puisque cela aide à développer la dactylographie et à insérer le code avec précision en évitant les fautes de frappe (qui se traduit généralement en erreur de syntaxe). Même si cela prend du temps à apprendre, les élèves devraient se sentir fières après avoir entré le code correctement! 1

  • Chaque programme est complet afin d’éviter toute confusion causée par des consignes qui indiquent à un étudiant d’ajouter des lignes à un programme à la pièce. Si l’apprenant commet une erreur ou a oublié une étape dans la leçon, il ne sera pas capable de continuer et produire un programme fonctionnel. De plus, puisque chaque leçon est une unité complète et séparée des autres cela permet à la classe de cheminer ensemble même si certains élèves n’ont pas terminé les programmes précédents.

  • L’introduction d’un nombre limité de concepts enseigné de façon graduelle permet aux élèves d’apprendre par la pratique et par l’observation des sorties de chacun de leurs programmes. À cette fin, l’ordre des programmes au sein de chacun des chapitres a été choisi soigneusement. Toutefois, l’ordre des chapitres a un peu moins d’importance et il est possible de passer d’un chapitre à l’autre sans trop de souci. Si les évaluations ou les fondements du langage Python sont lassants pour les élèves, ils peuvent simplement sauter aux chapitres qui traitent des jeux vidéos et revenir lorsque cela leur sera nécessaire.

Après chacun des programmes se trouve des idées pour modifier davantage le code. Ceci est fait pour encourager la créativité des apprenants afin qu’ils soient tentés de modifier leurs programmes pour créer leurs propres jeux vidéos! La difficulté de ces suggestions varie afin d’accommoder les élèves plus vieux ou les élèves qui ont des compétences plus poussées.

Ce livre peut convenir à l’apprenant motivé qui désire apprendre par soi-même, mais il ne prétend pas être exhaustif ou donner des explications détaillées. Ce livre est destiné à être utilisé dans un contexte de classe avec un enseignant qui comblera les lacunes selon les besoins des élèves.

Deuxième édition

J’ai fait deux découvertes importantes à la suite des rétroactions de la première édition:

  1. Ce n’est pas possible d’apprendre à programmer avec seulement une leçon par semaine. Ainsi, s’il n’y a pas d’autres possibilités, il vaut mieux passer le temps à inspirer l’intérêt pour le sujet plutôt qu’à mémoriser la syntaxe du langage ou à se faire une idée des concepts abstraits. Ceux qui sont motivés à en savoir plus à l’extérieur de la classe auront besoin de plus d’information sur la syntaxe et sur les concepts. Le chapitre sur les fondements du langage a donc été considérablement élargi pour accommoder ces élèves.

  2. De nombreux élèves voulaient créer des jeux plus grands que les simples exemples donnés dans la première édition. C’était toujours l’intention du cours qu’ils développent une compétence suffisante grâce aux exemples pour leur permettre de passer à des jeux plus grands. Certainement, certains élèves nécessiteront aussi plus de prise en main.

Par conséquent, il y a quatre nouveaux chapitres d’exemples de style tutoriel. Ces chapitres sont destinés à être réalisés en classe, avec le fichier de code initial remis aux élèves pour gagner du temps. L’intention est de créer un sentiment d’accomplissement au fur et à mesure que chaque modification au programme améliore le jeu tout en laissant beaucoup de place à la créativité et à la personnalisation des élèves.

Comme indiqué ci-dessus, les tutoriels peuvent devenir déroutants, mais j’espère que les enseignants pourront pallier ces lacunes.

1

Pour rédiger de nos jours, il est possible d’utiliser la saisie vocale ou la saisie par écran tactile, mais pour la programmation, la majorité des programmeurs utilisent encore le clavier. Il n’y a aucun signe avant-coureur que cela ne change dans un avenir immédiat, donc cultiver une compétence en dactylographie reste important. Les élèves peuvent pratiquer à la maison avec un programme tel que TuxType. Cela étant dit, de nombreux programmes contiennent du code similaire et être capable de copier et de coller ces segments de code est aussi une compétence utile à développer chez l’apprenant.