OPTION INFORMATIQUE Le Comité Scientifique national (voir Bulletin EPI n° 26 p. 4) est maintenu dans son rôle de suivi et d'évaluation de l'expérience d'introduction de l'enseignement optionnel de l'informatique dans l'enseignement secondaire général. Conformément aux propositions de ce comité : - l'expérience se poursuit en Première et Terminale dans les 12 lycées (l'option étant toujours ouverte en seconde). - il a été recommandé aux chefs d'établissements : · de ne pas ouvrir de nouvelles classes de seconde en plus de celles existant déjà, - il a été demandé aux Recteurs, pour permettre d'assurer le suivi de cette expérience, de faciliter le dégagement d'une journée par semaine, pour les enseignants de cette option et de faciliter leurs regroupements académiques et interacadémiques. Le volume horaire pour la classe de première est de 1 heure de cours et 1 heure 30 de travaux pratiques (classe dédoublée). Les professeurs assurant cette option disposent de 2,5 heures-années (quel que soit le nombre de niveaux assurés) pour leur formation, pour la concertation et pour l'évaluation... Donnez-nous votre avis sur les informations ci-dessus, sur la façon dont les choses se déroulent sur le terrain, sur les programmes (programme de seconde dans le Bulletin EPI n° 23, considéré comme un maximum, programmes de première et de terminale ci-dessous). Les objectifs de l'enseignement de l'informatique ont été rappelés dans le programme de la classe de seconde : - permettre aux élèves de lire un texte pour en dégager une formulation précise du problème à résoudre, en trouver une méthode de résolution, la rédiger dans un langage de programmation et la faire exécuter par un ordinateur, - savoir ce qu'est l'informatique, quelles sont ses possibilités, ses limites, ses grandes applications, ses implications socio-économiques. Plus qu'un programme, le texte qui suit précise en ensemble de thèmes et de concepts qui devraient être envisagés en première et terminale, de manière à atteindre ces objectifs. L'ordre adopté n'est en rien une indication sur l'ordre qu'adoptera le professeur dans la conduite de son enseignement. En fait, ces notions se dégageront plus ou moins simultanément de la résolution des problèmes. En particulier, il y a tout intérêt à lier l'étude des applications de l'informatique avec les exemples traités comme exercices de programmation et comme projets. 1. Matériel · Étude fonctionnelle d'un ordinateur (mémoire, compteur ordinal, unité de commande, exécution d'une instruction...), · Présentation du micro-ordinateur utilisé dans la classe, · Aperçu sur le marché actuel des micro-ordinateurs, performances, facteurs à prendre en compte pour la comparaison des matériels. 2. Outils et méthodes de construction de programmes a) Structures de contrôle - Rappel et compléments sur les constructions étudiées en seconde (séquences, conditionnelles, itérations), - Imbrication de structures de contrôle, - Procédures : le sous-programme comme élargissement de la notion d'instruction. Notion de paramètre formel. Paramètre, donnée, résultat, mixte. Variable locale. Variable globale. La fonction, extension de la notion d'expression, partant de paramètres-données pour fournir un résultat. b) Structures de données - Rappels sur les structures primitives (entiers, réels, booléens, chaînes) - Présentation de quelques structures simples en mettant en évidence les opérations qui les caractérisent (vecteurs, tableaux, fichiers séquentiels fichiers à accès direct). c) Méthodes de programmation - Méthode d'analyse de problèmes plus complexes ; décomposition en sous-problèmes (programmation descendante), notion de modularité. - Documentation des programmes. - Méthodes de test. - Évaluation de performances. 3. L'informatique et ses applications - Présentation de quelques domaines d'application dé l'informatique (traitement de texte, gestion d'entreprise, simulation...). - Notions sur les bases de données. 4. Projets Réalisation d'un ou deux programmes de plus grande importance : spécification des différentes parties, travail en équipe, élaboration de la documentation, intégration des différentes parties. 1. Matériel · Compléments sur l'étude fonctionnelle d'un ordinateur. · Présentation d'une grosse installation avec son système d'exploitation ; quelques notions sur les systèmes d'exploitation. 2. Outils et méthodes de construction de programmes a) Fonctions et procédures récursives. b) Exemples de structures de données plus complexes (files, piles, arbres...) c) Compléments sur les méthodes de programmation : - Rappels sur l'analyse itérative, notion intuitive d'invariant. - Analyse récursive. - Quelques techniques de représentation de structures de données à l'aide des structures de données dont on dispose dans un langage de programmation. 3. L'informatique et ses applications · Panorama des principaux langages de programmation utilisés en mettant en évidence leurs points communs. · Notions de télématique, réseaux d'ordinateurs, bases de données distribuées.· Notions sur l'intelligence artificielle, les programmes de jeux et la génération d'arbres d'essais, les retours en arrière. · Implications socio-économiques de l'informatique. 4. Projets Réalisation d'un projet d'une certaine importance en insistant sur les points précisés dans le programme de première. a) Le programme donné ici indique les points importants qu'il convient de présenter aux élèves. L'enseignement optionnel de l'informatique vise en effet deux buts : - former l'esprit des élèves. On attachera la plus grande importance à l'analyse des problèmes, préalable à toute programmation. On évitera qu'elle ne suit considérée par les élèves comme une programmation en français courant ou par organigramme, précédant de peu une programmation qui ne ferait que dire en d'autres mots la même chose. L'analyse doit être l'étude des situations d'où découlent les actions. Il y a de nombreuses façons de la conduire, laissant place à de multiples pédagogies. - donner aux élèves une vue réaliste de l'informatique, afin qu'ils soient prêts à agir dans un monde informatisé. Il n'en serait pas ainsi s'ils n'avaient jamais entendu parler de structure de données, de fichiers, ou s'ils n'avaient pas une bonne idée des grandes applications ni réfléchie aux implications. Ce peut être l'occasion de travaux pluridisciplinaires et d'une large ouverture sur le monde extérieur. b) Comme il l'est rappelé dans l'introduction, l'ordre de description n'impose pas l'ordre de présentation du cours. Ainsi il conviendra de lier le plus possible la présentation des outils linguistiques (structures de données et structure de contrôle) à celle des méthodes de programmation : conditionnement et analyse par cas, fonctions récursives et analyse récursive... Mais surtout on prendra soin de motiver les différents thèmes abordés ; ainsi, par exemple, l'introduction de nouveaux outils algorithmiques se fera à partir de problèmes concrets. c) Toutefois, tous ces enseignements sont donnés pour la première fois, sans aucune aide (ni manuels, ni recueils d'exercices, ni aucune indication permettant d'apprécier le niveau atteint par les élèves. On se gardera donc de positions trop tranchées et l'on adaptera l'enseignement à ce que l'expérience révèle possible. Ainsi, par exemple, l'analyse d'un problème en vue d'une solution récursive ne se conduit pas comme pour une solution itérative. Ce peut être un atout supplémentaire pour certains, un élément perturbateur pour d'autres. La récursivité peut être perçue comme une façon particulièrement simple ou élégante de résoudre un problème, mais aussi comme plus abstraite ou frustrante, car elle cache la stratégie de résolution. C'est l'expérience actuelle qui permettra d'éclairer ces points. En matière de structures de données, le point essentiel est de faire comprendre aux élèves qu'il convient de dégager les structures du problème posé, par les propriétés des données et les opérations que l'on doit faire sur elles, puis choisir comment elles seront représentées à partir des structures primitives du langage utilisé. Beaucoup d'élèves ont déjà rencontré les fichiers en seconde. Le cours de première et de terminale doit les aider à expliciter les structures de données sous-jacentes (file, enregistrement comme conglomérat d'informations de types variés...), et à comprendre la généralité de ce mécanisme au-delà de la réalisation particulière qu'ils en voient dans un langage donné. On a insisté sur le fait que cet enseignement ne devait en aucun cas être un cours de langage, les grandes idées qu'il faut faire acquérir étant indépendantes de celui-ci. Mais en matière de procédures et de structures de données, le langage LSE peut poser quelques problèmes. On s'efforcera de maintenir bien claire la distinction entre fonction et sous-programme, entre paramètre formel donnée et variable locale. L'épineuse question des effets annexes (expression à préférer à effet de bord) des procédures de fonction est laissée à l'appréciation du professeur. La sortie de sous-programme (et qui pis est de fonction), par une instruction ayant valeur d'instruction de branchement, ne devrait pas être présentée aux élèves, à cause de son caractère déstructurant. Le LSE permet une grande souplesse dans la réunion d'informations diverses dans une même chaîne de caractères par l'emploi de séparateurs. On s'efforcera de montrer la vraie signification de cette opération fondamentale, mais dont la réalisation dans un autre langage peut se faire de façon tout à fait différente. C'est sur des exemples comme celui-ci qu'une ouverture vers d'autres langages prend tout son sens. 11 faut essayer d'obtenir que les élèves connaissent l'existence d'autres langages et ne soient pas esclaves du seul qu'ils ont pratiqué, et qui est devenu en quelque sorte leur langue maternelle. En même temps que l'on montrera l'utilité d'une construction raisonnée et précise de programmes, il sera bon d'apprendre aux élèves à évaluer les qualité : de ce qu'ils ont construit : la correction du programme obtenu est évidemment la qualité essentielle ; on peut essayer de s'en convaincre par l'élaboration de jeux d'essais. Mais il sera utile également de parler aux élèves des problèmes de temps de calcul et de place nécessaire en mémoire, de montrer qu'un même problème peut avoir plusieurs solutions n'ayant pas les mêmes performances, sans toutefois se lancer dans un cours sur la complexité des algorithmes. La discussion de quelques programmes de tri peut servir d'exemple. d) La présentation d'applications de l'informatique peut revêtir des formes très variées : cours par le professeur, exposé par un groupe d'élèves, films, visites, venue de conférenciers extérieurs... Il est tout à fait souhaitable qu'elle soit l'occasion de travaux pluridisciplinaires avec d'autres professeurs. Elle doit être liée aux autres thèmes de l'option et, par exemple, servir de point de départ de projets ou apparaître comme un élargissement d'un sujet ayant donné lieu à la réalisation d'un programme par les élèves. e) Ce souci constant de motiver la technique informatique par les problèmes qu'elle doit résoudre s'exprime de manière privilégiée dans le choix des sujets de projets et leur réalisation. Il faudra bien prendre garde à rester dans des tailles réalisables sans pour autant n'aborder que des « problèmes jouets ». La réalisation d'un projet doit permettre de faire sentir la nécessité d'une démarche méthodique : description précise du problème posé, décomposition de ce problème en sous problèmes plus simples à traiter, résolution modulaire de ces sous-problèmes, tests des différents modulés ainsi obtenus, regroupement de ces modules en un tout cohérent qu'il faut encore vérifier. Il pourra être intéressant de faire que des élèves différents travaillent sur des morceaux différents, ce qui impose un plus grand souci de respect des données et contraintes de chaque partie, et de communicabilité avec les autres. Ceci est à l'appréciation du professeur. L'épreuve de baccalauréat n'est pas encore fixée, mais on peut s'attendre à ce qu'elle consiste en une interrogation orale sur un dossier de projet préparé pendant l'année, ou à partir de ce dossier. Il faudra donc habituer les élèves non seulement à conduire des projets un peu importants, mais encore à en rédiger une bonne documentation. On insistera sur la lisibilité des programmes. Paru dans le Bulletin de l'EPI n° 27 de septembre 1982, pages 58-64. ___________________ |