Enseigner la programmation Windows à des collégiens dès la classe de sixième

Je suis depuis fort longtemps passionné par la programmation, une des rares activités d’ingénierie que l’on puisse conduire à peu près n’importe où, sans grand prérequis matériels. Le point de départ de cet amour se situe au printemps 1983 quand un enseignant d’anglais menait dans le collège, qui n’existe plus aujourd’hui,  où j’étais élève, une initiation  à la programmation sur des To7 et To7-70. Je ressens encore mon émotion à apprendre à utiliser une telle machine. Dans les faits, cela a orienté ma vie.
Je ne remercierai jamais assez mon pays, cet enseignant (puis-je citer son nom ?) de m’avoir mis une telle machine entre les mains, dans mon coin perdu de montagne !
J’ai eu l’occasion depuis  de mettre quelques uns de mes élèves en situation d’écrire leurs premières lignes de codes. Mais toujours sur un mode personnel, jamais dans une démarche pédagogique construite.

lazarus

Lazarus sous Windows 8.1, ce code a été écrit par un élève de douze ans

Cette année, j’ai eu le courage de m’y atteler sérieusement , courage car dans cette situation inédite pour moi, le risque d’échec me semblait important. J’ai décidé d’apprendre à certains de mes élèves à programmer.
J’ai monté cette activité dans le cadre de l’accompagnement pédagogique et j’ai choisi dès le début de proposer d’emblée une activité Full-Size : construire des applications Windows directement avec un environnement de production.

Je dois préciser que je ne suis pas de ceux qui croient que l’on doive enseigner l’art de la programmation à tout un chacun. J’ai vécu cette situation enfant, dans le cadre du plan « informatique pour tous », j’ai écrit pas mal de petits logiciels, quelques jeux, mais je crois que je n’avais pas de don particulier pour ce type de développement ludique. Je me souviens avoir écrit quelques petits logiciels par la suite jusqu’à mon année de terminale, je n’avais jamais vraiment quitté la programmation, sans y consacrer, cependant, beaucoup de temps.
Ensuite, j’ai de nouveau croisé la programmation en première année d’études supérieures  (programmation en Scheme, langage quasiment défunt, voir sa fiche Wikipedia), puis en licence avec Turbo Pascal, c’est à ce moment-là que je me suis réellement mis de nouveau à programmer de manière intensive. J’ai vu beaucoup de souffrance chez les enseignés, y compris pour des étudiants en deuxième cycle de science dans cet apprentissage. Quand j’en parle avec des gens ayant suivi une formation en physique, en mathématiques, en chimie ou en biologie, le fait revient souvent : la programmation n’intéresse pas tous les scientifiques, loin de là.
Dans mon établissement, le nombre d’élèves intéressés par cette activité (qui implique donc de rester dans l’établissement hors temps scolaire) est de l’ordre de 5 à 10 %. C’est ce public qui est ma cible.

code

Code Pascal sous Lazarus – Le code pascal est particulièrement lisible, même pour un débutant,  tout en permettant la production, c’est un atout unique

Mon choix s’est naturellement porté sur Lazarus, inspiré de Delphi que j’utilise depuis 1996 (!). Il est moins robuste, moins stable que Delphi, génère par défaut des exe énormes (puisqu’il y intègre les infos de débuggage), il est en conséquence très lent en réseau mais bénéficie d’un meilleur éditeur que Delphi (cela me met en colère de voir ce que propose Delphi de ce point de vue sur un outil tarifé 1200 euros !) et est gratuit. Mon expérience de Delphi (évidemment inférieure à celle d’un professionnel mais tout de même importante) me facilite énormément la tâche.

J’ai lancé un appel aux élèves de mon établissement en insistant sur le fait que je recrutais des élèves motivés et à l’aise en maths. J’ai eu plus de 25 candidatures, uniquement masculines (pas de Marisa Mayer à Contrexéville a priori), alors que je visais un groupe de 10 élèves.

J’en ai finalement pris onze (randomisés) pour la première session de niveaux sixième jusqu’à la troisième. C’est un peu trop, l’idéal se situe à mon très humble avis autour de 8 élèves pour les toutes premières séances.
Ma première séance s’est déroulée jeudi 20 mars , ce fut vraiment, réellement, indiscutablement un instant de pur bonheur : après qu’il aient été mis sur les rails, mes jeunes développeurs se sont parfaitement acquittés de leur tâche, tous y sont parvenus, mes deux élèves de sixième étant parmi les plus à l’aise ! Preuve de leur intérêt, j’ai dû mettre tout le monde dehors 20 minutes après l’horaire officiel de fin de la séance ! La chaleur, l’intérêt, la reconnaissance renvoyés par mes développeurs en herbe m’ont marqué.
Merci, merci, merci, à mes élèves pour ce moment intense qui m’a transporté 30 ans en arrière !

Je suis évidemment très enthousiaste et cela prouve, quoiqu’on en pense, qu’il est possible d’aborder le monde du développement très tôt directement en générant des applications Windows.

Lazarus sur le Web : http://www.lazarus.freepascal.org/

Les documents, base de travail de mes élèves pour les quatre premières heures (pour les meilleurs), pour la suite, je propose du travail différencié en fonction des aptitudes et des envies de chacun :
seance1_Lazarus (fichier Pdf, 5 pages, 500 ko environ )
seance2_Lazarus (fichier Pdf, 7 pages, 650 ko environ )

Ces documents sont évidemment perfectibles, je m’estime compétent en Pascal objet, mais absolument néophyte dans l’art de l’enseigner.

 

Publicités

6 réflexions sur “Enseigner la programmation Windows à des collégiens dès la classe de sixième

  1. Bonjour Bruno,
    Je suis professeur de sciences physiques au collège et je suis intéressé par votre expérience sur la programmation au collège.
    J’ai parcouru Le lien de Lazarus, que faut-il installer.
    J’ai aussi une petite requête, j’ai acheté Domodidac il y a quelques années, on a changé de matériel informatique, plus rien be fonctionne! J’ai visité Pierron, le prix est de 100e; la moitié de mon budjet annuel.
    Bonne continuation et merci pour les différents logiciels qui nous ont bien simplifiés le travail.
    Cordialement
    L.Soltani
    CLG Baldung GRIEN HOERDT 67720

    • Bonjour Lakhdar,

      Tout d’abord, merci pour ce commentaire.

      Pour ce qui est de Lazarus, voici ce que l’on peut installer (sous un Windows récent) dans leur page Download : « Windows (32 and 64 Bits) Direct download »

      Le fichier doit faire 100 Mo, c’est simple à installer, cela marche tout de suite, après il faut prendre en main l’outil, et tout seul, ce n’est pas forcément simple.
      Cette année, pour la troisième session de mon atelier programmation, ( alors que précédemment je n’avais pris uniquement que des élèves aimant les maths et la résolution de problèmes ), j’ai accepté deux élèves motivés mais faibles en maths, en raisonnement et en manipulation de concepts abstraits. Et malheureusement, ce n’est pas brillant pour eux deux.

      Je ne sais pas quels seront les outils utilisés quand on voudra enseigner le code à tout le monde, dans un an ou deux, mais les enseignants de techno à qui on le demandera devront faire preuve d’imagination et de patience.
      Je sors renforcé dans mon idée que l’apprentissage du code doit être proposé à tous mais imposé à personne.
      Or, les gens, qui décident mais n’auront pas à le faire eux-mêmes, sont fermement convaincus de l’obligation de proposer cet apprentissage à tous. Pendant mes études, même en deuxième année de sciences, certains n’y arrivaient pas !

      Pour le côté financier, c’est vrai, nos budgets matériels sont bien bas, et même si le mien est un peu plus conséquent, il a aussi baissé. Il m’est d’ailleurs arrivé souvent ces dernières années, d’acheter personnellement du matériel dont j’avais vraiment besoin. Mon collègue de SVT me dépanne quelquefois très gentiment quand il lui reste quelques deniers sur son budget.

      Pour ce qui est du tarif de Domo², il correspond, je crois, à une bien maigre rétribution du temps que j’y ai passé, l’ordre de grandeur étant un petit millier d’heures. Sans entrer dans les détails, personne en France, tous emplois confondus, n’accepterait de travailler au taux horaire qui correspondrait à ce que le logiciel me rapportera in fine.
      Pour obtenir un geste commercial, c’est du ressort de Pierron, uniquement.

      L’outil est donc entièrement nouveau, il a été entièrement réécrit par rapport à la version de 1999, comme lui, il est portable, il emporte tout qu’il faut pour pouvoir tourner 10 ans sur les machines sous Windows. Comme la version de 1999, qui a été vendue pendant une douzaine d’années.
      La version de 1999 de DomoDidac ne fonctionne plus car Microsoft a banni les logiciels 16 bits de Windows 7. Et la décision de développer DomoDidac, premier du nom, uniquement en version 16 bits ne fut pas la mienne, à l’époque j’étais même franchement contre.

  2. Bonjour Bruno,
    Merci pour ta réponse et tes éclaircissements.
    J’ai téléchargé la version #1.2.6 je vais tenter de m’initier avant les conseils de classe.
    Je suis entièrement d’accord avec toi concernant ta retribution et je peux ajouter avec une petite modification:
    « personne en France, tous emplois confondus, n’accepterait de travailler au taux horaire d’un professeur de sciences physiques ».
    Bonne continuation.
    Cordialement.
    L.SOLTANI

  3. Je ne sais pas si cela t’intéresse, mais je peux mettre en ligne les deux premières séances (4 heures en tout pour mes meilleurs élèves).
    Elle sont perfectible, mais cela peut-être un point de départ.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s