Initier les élèves à la pensée informatique et à la programmation avec Scratch
Initier les élèves à la pensée informatique et à la programmation avec Scratch Version 2 du 25 mars 20171 Pierre Tchounikine Université Grenoble-Alpes - Pierre.Tchounikine@imag.fr Introduction L’enseignement de l’informatique, de façon générale et, notamment, à l’école élémentaire, est actuellement un objet de réflexion. Il y a sur le sujet des discours très divers, plus ou moins fondés, et également plus ou moins liés aux enjeux sous-jacents (disciplinaires, médiatiques, politiques). Il y a beaucoup d’appels en faveur de cet enseignement, avec des arguments différents, étayés ou pas ; en substance : « cela permet de développer des compétences importantes », « cela développe la créativité des élèves », « c’est moderne », « c’est un domaine scientifique important », « c’est un secteur qui embauche », « mon petit frère adore », ou encore « c’est mon domaine d’activité, donc il est important, donc il faut l’enseigner ». Il faut donc prendre de la distance par rapport à un effet de mode et des discours parfois trop généraux et/ou trop prosélytes (ou caricaturalement négatifs), dont certains visent à faire agir le politique sur des questions de long terme plus qu’à aider les enseignants ici et maintenant. Cependant, prendre de la distance ne veut pas dire jeter le bébé avec l’eau du bain, i.e., refuser de considérer l’enseignement de l’informatique car certains discours sont trop généraux et/ou infondés (pour certains, complètement idiots), ou encore porteurs de confusions (par exemple qu’enseigner l’informatique a pour but de faire des élèves de futurs programmeurs : enseigner la lecture et l’écriture ce n’est pas former des écrivains, même si certains élèves deviendront peut-être écrivains). Il y a enfin des ressources pédagogique mais qui, si l’on n’a pas les idées claires sur ce que l’on veut enseigner, pourquoi et comment, peuvent être difficiles à bien exploiter. L’objectif de ce document est d’essayer d’aider les enseignants (et les formateurs d’enseignants) à y voir plus clair. Pour cela, il propose des informations et des réflexions pour connaître et comprendre le domaine, les discours, les programmes et les principales ressources existantes mais, surtout, pour développer une réflexion personnelle. Comme son titre l’indique, ce document se focalise sur l’enseignement de « la pensée informatique », i.e., les compétences suivantes : savoir décomposer un problème en sous-problèmes plus simples ; savoir réfléchir aux tâches à accomplir pour résoudre un problème en termes d’étapes et d’actions (ce que l’on appelle un algorithme) ; savoir décrire les problèmes et les solutions à différents niveaux d’abstraction, ce qui permet d’identifier des similitudes entre problèmes et, par suite, de pouvoir réutiliser des éléments de solutions ; ainsi que, dans l’approche que j’adopte, savoir écrire et tester ces algorithmes avec le langage de programmation Scratch. Pourquoi Scratch ? Parce que c’est le langage qui s’impose de fait pour le niveau scolaire / la classe d’âge considérée, et qu’il y a de bonnes raisons à cela. L’essentiel du discours est cependant indépendant de ce langage particulier2. 1 Évolutions par rapport à la version de janvier 2016 (liées pour l’essentiel aux retours d’expériences suite aux enseignements aux professeurs des écoles stagiaires des années 2015-2016 et 2016-2017, aux exposés devant différents publics et aux commentaires de lecteurs) : refonte du plan général ; affinement des différents types d’objectifs pédagogiques que l’on peut considérer ; réorganisation, affinement et compléments des exemples proposés ; section spécifique sur la différence entre « approche algorithmique » et « approche centrée créativité » ; différents compléments et détails. 1 Enseigner la pensée informatique avec Scratch amène à mettre au cœur de la réflexion l’algorithmique et la programmation, dans une approche traditionnelle ou orientée « informatique créative ». C’est sensiblement différent que d’enseigner l’« informatique », i.e., la discipline informatique, qui amène à considérer d’autres notions (e.g., de machine, d’automate ou de langage). Je fais ce choix car, à mon sens, c’est bien la « pensée informatique » (on pourrait dire également « pensée algorithmique ») qui doit être le cœur de l’enseignement à l’école élémentaire, ce qui n’empêche pas bien sûr d’aborder, au passage, d’autres aspects. Le texte est principalement écrit pour des professeurs des écoles (instituteurs et institutrices) 3. Il s’adresse donc à des lecteurs qui, pour la plupart, n’ont pas suivi de formation à l’informatique4 au cours de leurs études. Le but n’est pas de les former à l’informatique (ce n’est pas un cours d’informatique), mais de donner des éléments permettant de comprendre ce que peut être un enseignement de la pensée informatique et comment l’aborder. C’est un point d’entrée donc. Pour se lancer dans un enseignement effectif il faut ensuite développer une certaine maîtrise de ce que l’on veut enseigner (comme on le verra, c’est abordable quelle que soit sa discipline d’origine, et ce document est suffisant pour cela), puis exploiter les ressources actuellement à disposition (le document présente des exemples réutilisables, pas d’activités/séquences prêtes à emploi ; cependant, des pointeurs vers ce type de ressources sont indiqués). Par souci de simplification pédagogique, je prends par moment un peu de liberté avec les canons de la discipline (quelques approximations qui n’induiront pas de mauvaises conceptions je l’espère). Étant donné le public cible, le niveau considéré est le Cycle 3 (école / CM1 et CM2). Il est cependant possible de faire des choses au Cycle 2 et, par ailleurs, certains éléments sont également potentiellement pertinents pour les niveaux collège/lycée (Scratch reste pertinent pour le collège, voire le lycée pour certains aspects ; à ces niveaux, il est possible d’utiliser d’autres langages de programmation, mais les réflexions pédagogiques sont similaires). Le texte aborde successivement l’enseignement de l’informatique de façon générale, puis l’enseignement de la pensée informatique, puis les ressources utilisables. Il est structuré autour de la liste de questions suivantes : 1. Pourquoi enseigner l’informatique à l’école primaire ? (arguments proposés ici et là, programmes actuels, confusions et mauvaises interprétations à éviter, position personnelle). 2. Que faut-il faire pour enseigner l’informatique à l’école ? (il n’y a pas besoin d’être ou de devenir « informaticien », c’est accessible à tous les professeurs des écoles, mais il faut avoir les idées claires sur ses objectifs pédagogiques). 3. Quels objectifs pédagogiques peut-on considérer ? (il est important de dissocier des objectifs qui peuvent être de natures très différentes). 4. Qu’est-ce que c’est que la « pensée informatique » et pourquoi l’enseigner ? (définitions, intérêt, connaissances requises, etc.). 5. Que veut dire « utiliser Scratch pour enseigner la pensée informatique » ? (principes généraux, puis une série d’exemples thématiques : un exercice faisant écrire aux élèves un algorithme ; un exercice de « pensée informatique », illustrant par ailleurs la différence entre « utiliser un programme » et « construire un algorithme/programme » ; un exercice couplant maths et pensée informatique, illustrant par ailleurs comment aligner le moyen « Scratch » avec l’analyse pédagogique/didactique ; un exercice couplant production d’écrit et pensée informatique ; et enfin un exercice autour de la résolution de problèmes). 2 Il existe beaucoup d’autres langages de programmation ou environnements informatiques pour élèves/enfants, ainsi que des dispositifs de construction/pilotage de robots, des ateliers de composants électroniques, etc. Dans ce document je me limite à indiquer comment utiliser Scratch car c’est la référence, c’est simple et c’est gratuit (ce qui ne veut pas dire que c’est le mieux pour tout bien sûr). Les passionnés sauront trouver et exploiter d’autres ressources. 3 Ce document sert de support à un enseignement à l’Espé (École supérieure du professorat et de l'éducation) de Grenoble. 4 Je parle ici de l’informatique comme discipline, à ne pas confondre avec les formations visant à apprendre à se servir d’un ordinateur et des logiciels standards type bureautique, moteurs de recherche, etc. 2 6. Comment aborder l’enseignement de la pensée informatique ? (il y a deux approches non-disjointes mais significativement différentes, l’approche « orientée algorithmique » et l’approche « orientée créativité »). 7. Que faut-il comprendre à Scratch en tant qu’enseignant, et comment s’y prendre ? 8. Comment définir et gérer des situations pédagogiques ? 9. Quelles difficultés peut-on attendre/anticiper ? Le texte a une logique linaire. Les sections qui abordent le cœur du sujet sont les sections 4 et 5. Il est possible de se faire une idée intuitive de ce que signifie « initier les élèves à la pensée informatique et à la programmation avec Scratch » en lisant directement la Section 5. Si l’on ne connaît pas du tout la notion d’algorithme ou Scratch, il est possible de jeter un œil sur la Section 4.2 avant de lire le reste du document. Bien que les principes abordés ne soient pas liés à un langage de programmation particulier, les exemples proposés sont tous en Scratch. A propos de l’auteur, afin de mieux comprendre le discours développé : je suis Professeur d’informatique à l’Université. J’enseigne donc l’informatique (algorithmique, langages divers, génie logiciel, conception orientée objet, etc.) à des étudiants en sciences et/ou en informatique. J’enseigne également à l’Espé de Grenoble (ce cours, et une initiation à la recherche en éducation). Je mène par ailleurs des travaux de recherche sur des questions relatives uploads/Science et Technologie/ pen-see-in-format-i-que-ecole.pdf
Documents similaires










-
57
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 10, 2022
- Catégorie Science & technolo...
- Langue French
- Taille du fichier 1.2779MB