Mon rapport comporte trois points :
1- une courte présentation du langage de programmation Python ;
2- un compte rendu de quelques-unes des présentations de « l’Education Summit » ;
3 (dans le prochain épisode) – un court film et un texte qui résume la journée « jeunes codeurs », cette journée de formation offerte aux jeunes francophones le samedi et aux jeunes anglophones le dimanche.
Quelques mots sur Python…
Guido van Rossum, un Néerlandais, est le créateur du langage de programmation Python. Il est un grand amateur des humoristes anglais « Monty Python » d’où vient le nom du langage de programmation qu’il a créé pendant ses vacances de Noël 1989 et dont il a poursuivi le développement dans ses temps libres.
Le langage de programmation Python est maintenant sous la responsabilité de la Python Software Foundation (PSF) dont la mission est de promouvoir, de protéger et de faire progresser le langage de programmation Python, et de soutenir et faciliter la croissance d’une communauté internationale de programmeurs Python (traduction libre à partir de la Mission Statement de la PSF) .
La Python Software Foundation (PSF) est une société à but non-lucratif qui détient la propriété intellectuelle du langage de programmation Python, et en assure l’accès gratuit à tous. Python est un langage « open source ». Le PSF protège les marques de commerce associées à Python, organise la conférence annuelle PyCon en Amérique du Nord et offre support aux autres conférences PyCon présentées ailleurs au monde.
Le langage de programmation Python
Comme vous le savez, l’ordinateur ne comprend que le langage binaire des 0 et des 1.
« 01000010 01101111 01101110 01101010 01101111 01110101 01110010 » signifie « bonjour » à ce que j’ai lu.
À ce rythme les conversations avec la machine risquent d’être longues et laborieuses. Le processus de communication « Homme /Machine » peut être schématisé ainsi : vous écrivez dans un langage quasi-humain un programme pour donner des ordres à la machine, en deuxième étape un programme de traduction change ce langage en binaire, le langage que la machine comprend.
Python est un langage de programmation parmi plusieurs autres. C’est un langage de haut-niveau, nommé ainsi parce qu’écrire et lire Python est facile car il ressemble beaucoup à de l’anglais.
Certains langages de programmation sont dits compilés et nécessitent l’usage d’un logiciel spécialisé pour transformer le code du programme en langage machine.
Python est un langage interprété, c’est-à-dire que chaque instruction du programme est directement traduite en langage machine au moment de sa lecture.
Les deux principales caractéristiques d’un langage interprété sont sa simplicité et sa portabilité. Un tel langage fonctionne aussi bien avec Windows, Linux ou Mac OS.
Le langage Python est orienté objet, il permet de manipuler des structures de données, les objets, pour modéliser et exécuter des programmes. On peut créer diverses applications à partir du langage Python, des jeux, des logiciels et il donne accès à quantité de bibliothèques logicielles, qui peuvent être utilisées sans avoir à réécrire le code qu’elles contiennent.
On dit que Python optimise la productivité des programmeurs. Il offre des outils de haut niveau dans une syntaxe simple. Il est apprécié des pédagogues car cette syntaxe permet une initiation facile aux concepts de base de la programmation.
Python 2.x is legacy, Python 3.x is the present and future of the language ou Python 2.x c’est le passé, Python 3.x est le présent et le futur du langage.
Les langages de programmation sont des entités très complexes et qui évoluent. Chaque nouvelle version du code du langage est identifiée par un chiffre : 1, 2, 3, . . . Les corrections et les changements mineurs d’une version seront indiqués par un point : 2.1, 2.2.3 . . . Malgré les variations apportées, chacune de ces versions améliorées du même groupe numérique demeurent compatibles les unes avec les autres.
La dernière version du groupe 2 de Python est le 2.7 sorti au milieu des années 2010. Guido van Rossum, le créateur original du langage Python a décidé de corriger Python sans s’attarder à la compatibilité entre les codes versions 2.x et 3.x. Quelle version utiliser se demandera le programmeur et la réponse donnée est : tout dépend de ce que vous voulez faire. Le site wiki.python.org répond aux questions de ceux qui désirent en connaître davantage à ce sujet.
Education Summit
Une journée entière, le neuf avril, était consacrée à l’Education Summit : une centaine de participants venus de tous les coins du monde, une douzaine de conférenciers et deux séances de Lightnings Talks (présentations éclairs de 5 minutes) auxquels se sont inscrits environ une vingtaine d’intervenants. J’ai échangé quelques mots avec des Russes, des Coréens, des Péruviens, des Allemands, quantité d’États-uniens et ai suivi les présentations d’universitaires d’Australie et de l’Inde, entre autres. Mon origine montréalaise me donnait un air quasiment exotique au sein de ce groupe.
À cette conférence j’étais toute ouïe, Alice dans ce pays des merveilles si différent de mon univers habituel. À ma consolation, un spécialiste de longue date de l’informatique et de la programmation m’avouait qu’il se sent maintenant dépassé tant le domaine s’est complexifié.
Charles R. Severance aussi surnommé Dr. Chuck a traité de quelques unes de ses expériences et en particulier du très célèbre MOOC : Programming for everybody with Python – La programmation pour tous (Python) offert sur la plate-forme Coursera et auquel on prévoit près de 220 000 inscriptions pour la présentation offerte du premier juin au neuf août 2015.
L’intérêt, la passion de Charles R. Sererance est la diffusion du savoir.
Programming for everybody with Python ne vise pas uniquement l’apprentissage de Python, mais veut initier l’étudiant au concept de la programmation afin qu’il puisse par la suite suivre les cours offerts par la Khan Academy, Codacademy et Code.org.
Le deuxième objectif de ce cours est d’apprendre à l’étudiant à enseigner la programmation car les besoins dans ce domaine sont immenses à notre époque où l’exploration de données (data mining) est un domaine en pleine croissance. Tout le matériel nécessaire pour suivre et donner le cours, le guide pédagogique, les diapositives, le matériel vidéo et audio est disponible gratuitement sur le site de l’université du Michigan.
Comme il croit que l’initiation à la programmation doit être faite dans la langue d’origine de l’étudiant, tous sont invités à traduire le cours et les ouvrages, à les réécrire sous la licence Creative Commons (CC). Une version braille de Programming for everybody with Python a même été créée. Plus qu’un cours, il désire créer un mouvement à travers le monde où la programmation sera vraiment accessible à tous.
L’âge idéal pour initier les jeunes à la programmation est selon son expérience de 13 à 17 ans environ.
Charles Severance est professeur agrégé à l’École des sciences de l’information de l’Université du Michigan. Il a été directeur exécutif de la Fondation Sakai dont il a été l’architecte en chef. Il enseigne deux MOOCs populaires partout au monde sur la plate-forme Coursera : Internet History, Technology and Security (L’histoire d’Internet, de la technologie et de la sécurité) et Programming for Everybody in Python ( La programmation pour tout le monde). Il est un défenseur de longue date des ressources éducatives ouvertes et participe au IMS Global Learning Consortium. Il est l’éditeur de Computing Conversations dans IEEE Computer magazine.
Je suis un peu brouillonne, alors je n’ai pas bien noté le nom de tous les conférenciers qui se sont succédés pendant la journée. Si certains d’entre vous me lisent, excusez-moi s’il-vous-plaît. C’est en vrac que je livre quelques idées et faits qui ont particulièrement capté mon attention, mais les sujets discutés étaient beaucoup plus diversifiés que ce court compte-rendu:
- un consensus relativement à l’âge idéal pour initier les écoliers à la programmation Python, entre 13 et 17 ans ;
- le travail d’équipe est recommandé ;
- les étudiants peuvent avoir un carton vert qu’ils soulèvent quand ils ont terminé une tâche et peuvent aller en aider d’autres qui ont des difficultés, par contre ils lèveront leur carton rouge pour recevoir de l’aide ; la coopération est encouragée et valorisée ;
- la formation est plus difficile dans un contexte BYOD (AVAN en français) ;
- il demeure évident que tous les écoliers doivent savoir utiliser les applications de bureautique de base ;
- il est possible d’organiser des formations en programmation « hors murs » de type EdCamp pour les écoliers, il faut alors une équipe de bénévoles aux talents diversifiés, savoir faire appel aux compagnies locales, penser à offrir un lunch aux adolescents et savoir que la plupart d’entre eux ne lisent pas leurs courriels, donc trouver un moyen plus efficace pour les contacter ;
- certains ont proposé une année entière d’école consacrée à la programmation (Python) à la fin du collège afin de permettre aux écoliers de devenir les créateurs de leurs technologies ;
- d’autres suggèrent que tous les sujets soient enseignés à partir de la programmation.
Quelques mots pour souligner les expériences des formateurs avec le milieu scolaire :
- beaucoup d’enseignants sont mal à l’aise face à ce nouveau domaine d’apprentissage. Ils n’ont ni l’intérêt, ni les compétences élémentaires ni le vocabulaire de base ;
– plusieurs groupes de différentes régions du monde qui offrent bénévolement des formations en programmation aux jeunes écoliers, décrivent tous une expérience similaire. Il leur est extrêmement difficile d’entrer dans les écoles pour y présenter (gratuitement) les formations en programmation aux élèves. Souvent les écoles refusent carrément de les recevoir.
Que faut-il penser de cette situation qui semble universelle ?
La programmation et le codage dans quelques pays
L’Estonie est le pays des créateurs de Skype.
On trouve dans les écoles estoniennes des ordinateurs et connexion à Internet depuis plus de 15 ans. Le code et la programmation y est enseigné obligatoirement dans toutes les écoles dès l’âge de 7 ou 8 ans. Les écoliers sont initiés à la robotique et apprennent à écrire des programmes QR pour leurs téléphones intelligents. Les enfants disent aimer ces activités qui les obligent à réfléchir. Est-ce ceci « l’école active »?
La programmation est obligatoire au niveau du lycée au Vietnam et le sera sous peu en Angleterre (UK).
Monsieur James R. Curran est un linguiste informaticien de l’Université de Sydney et directeur de la National Computer Science School , une école d’été en informatique pour des étudiants d’Australie et de Nouvelle Zélande.
L’Australie réécrit présentement les cursus pour les écoliers du primaire et du secondaire et la programmation y sera obligatoire. Monsieur Curran aimerait beaucoup que Python soit choisi comme langage de formation à la programmation, principalement parce qu’il est très facile à apprendre. Cependant l’éthique l’empêche de faire pression.
Conclusions de la pédagogue
Je suis impressionnée. Je suis bouche bée devant le dynamisme de ces éducateurs émérites, ces informaticiens, ces programmeurs qui s’activent à la formation des générations montantes avec une grande philosophie du partage.
La marche arrière est impensable. Indéniablement tous les élèves feront de la programmation un jour ou l’autre selon les pays. Je ne crois pas qu’il serait bon d’enseigner tous les sujets d’étude à partir de la programmation. Par contre, un futur idéal intégrerait l’usage occasionnel de la programmation lors de l’apprentissage de tous les sujets.
Retrouvez la journée « jeunes codeurs » dans le prochain épisode.