Découverte instrumentée de la programmation fonctionnelle et de la récursivité en terminale NSI

vendredi 25 février 2022
par  Christophe DECLERCQ

Des propositions d’activités et un environnement pour découvrir la programmation fonctionnelle et la récursivité.

La programmation fonctionnelle et la récursivité sont introduites au programme de la spécialité NSI en terminale alors que la programmation impérative avec des fonctions est enseignée dès la classe de seconde. On postule que cette confusion est à la source des difficultés des élèves au moment d’introduire la récursivité.
On propose une initiation à la programmation fonctionnelle, permettant de reformuler, dans le cadre de ce paradigme, quelques solutions à des problèmes étudiés en classe de seconde ou de première.
On adopte le point de vue de l’analyse instrumentale, pour expliquer pourquoi le choix de l’instrument est fondamental : la console est depuis les travaux sur le langage Lisp, reconnue comme l’instrument adapté à l’évaluation interactive d’appels de fonctions alors que d’autres IDE sont mieux adaptés à l’exécution de programmes impératifs.

On propose, pour instrumenter l’apprentissage, un environnement d’édition de programmes par blocs, permettant aux élèves de ne saisir que des programmes fonctionnels corrects. On justifie les choix ergonomiques effectués par la nécessité pédagogique de séparer les difficultés : on évite ainsi tous les pièges qu’ils pourront rencontrer ensuite lors de l’imbrication des deux paradigmes impératif et fonctionnel dans un même programme Python.
L’environnement Block2Py version programmation fonctionnelle a été construit à partir de la version originale qui était dédiée à la programmation impérative. Le nouvel environnement est disponible à l’adresse :
https://iremi974.gitlab.io/block2py

L’article complet est disponible en téléchargement ici :


Commentaires