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 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 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.