Rapport d'activité de la formation ISN
dans l'académie de Montpellier
de septembre 2011 à juin 2015
Olivier Cogis, Jérôme Palaysi et Richard Terrat
Introduction
L'enseignement de l'informatique a fait son apparition dans les lycées par la petite porte : aux trois spécialités offertes jusqu'alors [1] aux terminales S des lycées d'enseignement général, s'est ajoutée en septembre 2012 la spécialité Informatique et Sciences du Numérique (ISN).
Les autorités de l'Éducation nationale ont décidé de confier l'encadrement des groupes d'élèves ayant choisi la spécialité ISN à des enseignants volontaires issus des « [...] disciplines scientifiques (mathématiques, sciences physiques et chimiques) et technologiques (sciences et techniques industrielles, etc.) » [2] préalablement habilités à l'issue d'une formation pédagogique, chaque académie étant appelée à en définir les contenus et modalités et chargée d'en assurer la mise en place et le suivi. Dans l'académie de Montpellier, la formation ISN à destination des enseignants des lycées a été mise en place à la rentrée 2011 sous la double responsabilité consensuellement arrêtée :
responsabilité académique d'une IA-IPR de Mathématiques, chargée de mission par le recteur,
responsabilité pédagogique d'une équipe universitaire, constituée de trois enseignants-chercheurs en Informatique de l'Université de Montpellier 2 (dont un en activité et deux à titre honoraire) [3].
Cette formation a pris fin, du moins sous cette forme et sous la responsabilité de cette équipe, au bout de quatre ans d'exercice.
Les formations ISN à l'échelle nationale ont vécu indépendamment les unes des autres, et les autorités de l'Éducation nationale n'ont pas, à notre connaissance, cherché à en faire le bilan ni à en unifier les contenus et pratiques.
En rendant compte de l'expérience qui s'est déroulée dans l'académie de Montpellier, nous souhaitons alimenter, à notre mesure, la réflexion et la discussion sur la formation des maîtres à l'informatique.
Ce document évoque successivement les points suivants :
- les modalités de cette formation,
- ses contenus (détaillés en annexe),
- quelques éléments de réflexion suscités par cette expérience.
Moyens pédagogiques et mise en oeuvre
Les moyens arrêtés par les autorités académiques
Les principales dispositions décidées par les autorités académiques de Montpellier pour la mise en place de la formation des enseignants à l'ISN ont été les suivantes :
- une formation répartie en deux modules successifs, ISN1 et ISN2 :
- le premier module menant à l'habilitation,
- le second module permettant aux habilités d'augmenter leurs connaissances (en largeur comme en profondeur) ;
un enseignement à distance basé sur une plate-forme d'apprentissage en ligne gérée par l'académie (plate-forme Moodle) ;
des sessions, ISN1 comme ISN2, dotées chacune de 3 journées en présentiel [4].
En revanche, les contenus de la formation et leur mise en oeuvre ont été laissés à la responsabilité de l'équipe pédagogique.
À noter qu'aucune décharge de cours n'a été prévue pour les enseignants participant à la formation.
La mise en oeuvre
De septembre 2011 à juin 2015, se seront déroulées :
- 5 sessions de formation ISN de niveau 1,
- 2 sessions de formation ISN de niveau 2.
Le nombre de mois en distanciel a été variable selon les sessions.
Les journées en présentiel ont été dévolues à :
- la présentation des thèmes informatiques à venir dans les semaines suivantes,
- un retour sur les thèmes étudiés précédemment, lorsque les échanges sur les forums y incitaient,
- selon les circonstances, une discussion ouverte avec les stagiaires sur des sujets variés.
La plate-forme Moodle a été utilisée lors des différentes sessions pour :
- mettre à disposition des ressources (notes de cours et diaporamas),
- proposer des activités (tests, visant à vérifier l'appropriation des concepts de base, et forums d'exercices et de discussions).
Tous les documents mis à disposition sur la plate-forme d'apprentissage en ligne sont originaux [5].
Au total des 6 sections [6] des sessions de niveau 1 et des 8 sections des sessions de niveau 2, ont été mis à disposition sur la plate-forme d'apprentissage en ligne :
- 7 tests,
- 31 diaporamas,
- 9 notes de cours ou compléments.
Parallèlement, ont été proposés et animés sur cette plate-forme :
- 15 forums d'exercices,
- 15 forums de discussions thématiques, ayant donné lieu à quelque 2 000 interventions des membres de l'équipe pédagogique.
L'observation de l'activité des différentes sessions [7] 10 nous permet d'affirmer que plus de 180 professeurs ont participé aux modules de niveau 1, et plus de 80 aux modules de niveau 2.
Contenus de la formation
Les contenus de cette formation ISN ont été discutés puis arrêtés par l'équipe pédagogique en accord avec la chargée de mission académique et conformément au programme officiel Enseignement de spécialité d'informatique et sciences du numérique de la série scientifique - classe terminale [8] et dans l'esprit du rapport de l'Académie des sciences L'enseignement de l'informatique en France. Il est urgent de ne plus attendre [9] dont nous partageons l'esprit et le contenu et dont nous extrayons les quelques lignes (c'est nous qui soulignons) :
« Même si l'informatique est un domaine où la création est rapide et où les produits deviennent rapidement obsolètes, cette création et ces produits s'appuient sur des connaissances fondamentales et des savoir-faire stables. En particulier, la science informatique repose sur de grands concepts unificateurs. Ainsi, le récent programme de la spécialité Informatique et sciences du numérique [10], en terminale scientifique, s'articule autour de quatre concepts et de leurs interactions : algorithme, langage, information et machine. »
Nous détaillons en annexe les titres des sections constituantes des modules de formation à l'ISN réparties en deux niveaux, en en exprimant succinctement l'esprit.
Réflexions
La formation ISN qui a eu lieu dans l'académie de Montpellier au cours des quatre années scolaires 2011-2015 a revêtu le double aspect d'être à la fois ambitieuse quant à son contenu et exigeante pour les participants [11].
L'équipe pédagogique encadrante s'est fixé comme objectif une transmission des connaissances et des savoir-faire constituant un socle suffisamment solide pour permettre aux participants de pouvoir progresser à titre personnel tout en encadrant des groupes d'élèves de spécialité ISN, et suffisamment large pour pouvoir correctement situer les questions de ces mêmes élèves auxquelles ils n'auraient pas de réponse suffisamment précise à leur fournir dans l'instant.
Il en est résulté que l'acquisition de ces connaissances et de ces savoir-faire a exigé de la part des participants des efforts considérables sachant qu'aucune décharge ne leur a été accordée pour cette formation. Néanmoins les forums ont enregistré un niveau de participation d'une ampleur parfois surprenante et des progressions certaines ont pu y être constatées, bien au-delà du simple satisfecit.
Sur les contenus
L'origine des participants était assez hétérogène, et leurs points forts comme leurs difficultés se sont donc différemment répartis. Nous en évoquons quelques points saillants, en gardant à l'esprit que les apprenants volontaires sont des professeurs en activité.
L'appropriation pas toujours immédiate des booléens
Une illustration y suffira :
le passage de
si A[i] = 0 alors trouvé ← vrai sinon trouvé ← faux
à
trouvé ← A[i] = 0
n'a pas toujours reçu l'accueil enthousiaste qu'il nous semble pourtant mériter.
La spécification des fonctions et des procédures
Chacun connaît la difficulté à obtenir des étudiants :
- qu'ils spécifient leurs fonctions et procédures,
- qu'ils les spécifient « correctement », et alors « suffisamment » [12].
Nous avons fortement insisté sur cette nécessité, en mettant de plus en avant que si de nombreuses difficultés attendaient là les élèves de terminale, l'exercice participait fortement à la constitution de leurs facultés d'abstraction, dans une phase cruciale de leur développement intellectuel et scientifique.
Force nous a été de constater que, au-delà du bien connu « oui, oui, je les ferai après, là je programme » auquel tous n'échappaient pas, les professeurs eux-mêmes ont parfois, et même souvent, éprouvé de grosses difficultés à se soumettre à l'exercice [13].
Les fonctions métier vs les interfaces et les interfaces en elles-mêmes
Il a fallu parfois insister pour obtenir que les instructions d'E/S soient bannies des fonctions et procédures non expressément dédiées à l'interfaçage [14].
Ensuite, la question a été de mettre en évidence qu'il était vain, aussi bien pour les participants que pour leurs futurs élèves, de chercher à sophistiquer les interfaces au-delà d'un certain stade (tentatives destinées au traitement de « toutes » les erreurs de saisie possibles, recherche de « beaux » affichages...).
De fait, les projets ont été l'occasion pour certains de concevoir des interfaces graphiques, malgré l'investissement technique nécessaire.
On peut le comprendre, car certaines réalisations ont dû fortement satisfaire leurs auteurs par leur indéniable qualité.
Mais nous n'avons pas caché qu'à notre avis relevait d'une erreur stratégique le choix d'enseigner ces techniques à des élèves au détriment d'un travail sur la décomposition d'un programme en sous-programmes résultant de la mise en évidence de différents niveaux d'abstraction, sur une spécification minutieuse de ces sous-programmes, ou encore sur un choix judicieux [15] de commentaires, sans parler de justification d'algorithmes sous-jacents.
L'architecture de von Neumann et la programmation en langage machine
Une fois exposé le schéma de l'architecture et donné un jeu d'instructions machine réduit, en particulier sans adressage indirect ni indexé, la trace d'un petit programme effectuant la somme d'un tableau d'entiers dont les valeurs sont rangées dans des mots mémoire successifs a sans surprise suscité l'étonnement. Qu'un mot mémoire puisse être tantôt décodé comme une instruction, tantôt utilisé comme opérande pour l'unité arithmétique et logique et, au final, qu'il ne soit donc pas plus une donnée qu'une instruction, et réciproquement.
Au vu des discussions apparues, nous persistons à trouver l'exercice salutaire.
D'une façon générale
Les quelques points brièvement évoqués ci-dessus ne devraient pas, à vrai dire, surprendre grand monde. Nous les avons présentés dans l'optique de contribuer aux réflexions et discussions sur comptes-rendus des expériences de ce type que la période vient de vivre.
Sur la gouvernance et son impact
Un rapide historique
Du fait d'un changement de responsables académiques de la formation ISN, celle-ci a connu une évolution qu'on peut schématiser en trois phases :
deux années de mise en place et de stabilisation (2011/2012 et 2012/2013),
une année de maintien des modules de formation mais de modification des jurys d'habilitation (2013/2014),
une année de modification des modules de formation (2014/2015).
Le recteur de l'académie de Montpellier en place en 2011 s'est révélé être un partisan déterminé de l'introduction de l'informatique dans les lycées, fût-elle alors limitée à la création de la spécialité ISN pour les terminales S. Il a chargé de mission une IA-IPR de Mathématiques avec la triple responsabilité d'inciter les proviseurs de lycée à ouvrir des groupes ISN, de faire le recensement des professeurs volontaires à l'encadrement de ces groupes et d'organiser la formation de ces professeurs. Cette responsable académique, volontaire pour assumer cette charge, adhérait à l'idée que l'informatique est une discipline scientifique et que les experts se trouvent dans les universités et les grands organismes de recherche.
En conséquence, l'expertise informatique a été mobilisée à différents titres :
trois enseignants-chercheurs de l'Université de Montpellier ont été chargés de concevoir, de mettre en place et d'assurer le suivi de la formation ISN des professeurs des lycées, dans le cadre des moyens arrêtés par l'autorité académique,
ces trois enseignants-chercheurs ont été systématiquement invités à participer aux commissions de sélection et aux jurys d'habilitation organisés par l'autorité académique, avec la participation répétée d'un chercheur d'un grand organisme (Inria),
ces mêmes enseignants-chercheurs ont été fréquemment invités à l'accompagner en visite de classes ISN encadrées par des professeurs déjà habilités ayant suivi le module ISN1, avec l'accord de ces derniers et celui du proviseur de l'établissement, visites ayant généralement pour objectif la validation définitive du professeur visité, le rôle des enseignants-chercheurs étant fixé à la seule attestation de la qualité informatique des contenus exposés [16].
En octobre 2013, le recteur de l'académie a pris sa retraite, mettant fin à ce que nous avons appelé la phase 1. Le changement de recteur s'est accompagné d'une modification de la responsabilité académique de l'ISN : deux IA-IPR, respectivement issus des disciplines SVT et STI, ont remplacé l'IA-IPR de Mathématiques.
L'année 2013/2014 (phase 2) a été caractérisée par :
le déroulement des deux modules de formation ISN1 et ISN2 annoncés et mis en place, comme de coutume, au cours de l'année précédente,
la tenue des jurys d'habilitation hors la participation de l'équipe pédagogique (non sollicitée à l'issue du module ISN1, contrairement à l'usage adopté en phase 1),
l'absence de sollicitation des membres de cette équipe à épauler « informatiquement » les inspections destinées aux habilitations définitives,
la décision des autorités académiques de modifier les contenus des modules ISN1 et ISN2 pour l'année suivante.
L'année 2014/2015 (phase 3) a vu :
pour l'équipe pédagogique, l'obligation de refondre les modules ISN1 et ISN2 en un unique nouveau module ISN1 augmenté (5 journées en présentiel au lieu de 3),
pour l'autorité académique, la reprise en main du module ISN2 sous sa responsabilité exclusive (2 journées en présentiel au lieu de 3).
Sentiments
Au cours de la phase 1, la constitution et le fonctionnement des jurys d'habilitation étaient explicités au cours du module ISN1 :
des équipes d'IA-IPR et d'informaticiens pour les jurys,
un entretien individuel d'une demi-heure portant pour moitié sur une présentation du projet informatique (voir le contenu du module ISN1) et pour moitié sur le projet pédagogique du candidat pour l'encadrement d'un groupe de lycéens en spécialité ISN.
Il nous semble que ces jurys ont fonctionné à la satisfaction générale car, à deux ou trois exceptions près, tous les collègues qui se sont présentés à l'entretien ont été habilités.
Suite au changement de responsables académiques, l'habilitation est devenue du seul ressort des autorités académiques [17]. Nous avons estimé cette mise à l'écart de l'équipe pédagogique contre nature.
En cette quatrième année, la refonte des modules ISN a réduit notre intervention (5 journées en présentiel au lieu de 2×3) et, par là, forcé à l'abandon de certains des thèmes présentés dans la suite initiale ISN1+ISN2 (cf. les contenus détaillés en annexe).
Mais surtout cette refonte a supprimé la « respiration » qui existait jusqu'alors entre les modules ISN1 et ISN2, une pause marquée par l'habilitation, et que nous pensions productive par la prise de recul qu'elle autorisait aux participants, un temps de maturation des connaissances déjà acquises par eux avant d'attaquer le module ISN2.
Ce dernier point nous paraissait particulièrement important. La session ISN1 « nouveau modèle » qui a constitué la phase 3 a confirmé nos réserves.
Enfin, il a été indiqué plus haut que sur 180 participants ayant suivi le module ISN1, 80 avaient suivi le module ISN2. Au-delà d'une interprétation de ces chiffres par une dérive « naturelle » entre les deux modules, il convient d'avoir à l'esprit que :
la cinquième et dernière session d'ISN1 regroupait (bien qu'en partie seulement) les deux anciens modules ISN1 et ISN2, et ses participants n'étaient pas justiciables d'un module ISN2 « à l'ancienne » (le seul pris en compte dans cette estimation de suivi),
des participants aux quatre premières sessions d'ISN1 ont exprimé leur souhait de suivre une session ISN2 dont le contenu leur avait été présenté et brièvement commenté (cf. les contenus détaillés en annexe), mais n'ont pu obtenir satisfaction du fait de la disparition de ce module au profit d'un « nouvel ISN2 » [18].
Conclusion
Ce rapport rend compte d'une expérience de quatre années de « formation ISN » de professeurs du secondaire volontaires pour encadrer des groupes d'élèves de terminale S en spécialité Informatique et sciences du numérique [19].
Or cette situation ne saurait être pérenne et, vu les enjeux pour les jeunes générations, l'objectif s'exprime bel et bien comme l'écrit le Communiqué de la Société informatique de France suite aux annonces de François Hollande et Najat Vallaud- Belkacem [20] :
« Dans un esprit de cohérence, nous attendons maintenant avec impatience la prochaine annonce politique qui permettra de disposer de professeurs d'informatique dont les compétences seront égales à celles que peuvent avoir les professeurs de mathématiques en mathématiques, de physique en physique, de français en français... »
Mais en attendant ? Comment participer au mieux à ce qui, dans l'immédiat pour nos autorités, tient lieu d'introduction de l'informatique dans les cursus du primaire et du secondaire ?
La phase de transition risque d'être encore longue [21] et la question se pose d'élaborer collectivement des moyens destinés à aider au mieux les collègues du primaire et du secondaire chargés de la mise en oeuvre progressive d'éléments d'informatique dans leur enseignement, telle qu'annoncée par les diverses autorités politiques et administratives, et ce, quoi qu'on pense de la méthode apparemment choisie [22].
Ce rapport se veut être une contribution au débat, et peut peut-être susciter d'autres comptes-rendus d'expérience [23].
Olivier Cogis,
Professeur honoraire des Universités en Informatique à l'Université de Montpellier.
Jérôme Palaysi
Maître de Conférences en Informatique à l'Université de Montpellier.
Richard Terrat
Maître de Conférences honoraire en Informatique à l'Université de Montpellier.
Paru dans 1024 – Bulletin de la société informatique de France – numéro 7, novembre 2015.
http://www.societe-informatique-de-france.fr/wp-content/uploads/2015/12/1024-no7-ISN.pdf
Cet article est sous licence Creative Commons (selon la juridiction française = Paternité - Pas de Modification).
http://creativecommons.org/licenses/by-nd/2.0/fr/
Annexe
Niveau 1
Algorithmique
À partir de l'exemple d'un algorithme de multiplication (inspiré d'une méthode égyptienne vieille d'environ 4 000 ans, également appelé multiplication par décalage binaire), sont présentés plus formellement les algorithmes dits « itératifs » :
les instructions sont définies récursivement à la manière classique des programmes tant que : instructions élémentaires, instructions séquentielles, instructions répétitives,
où les instructions élémentaires sont les actions de base dont sont dotés les processeurs auxquels l'algorithme est destiné (certains processeurs peuvent multiplier deux matrices, ou alors colorier un sommet d'un graphe, ou encore retourner une pile de crêpes),
les instructions conditionnelles sont présentées et adoptées comme raccourcis de répétitives jugées trop peu « confortables » dans leur expression [24].
L'impérativité de la spécification des algorithmes est soulignée (doivent y figurer une rubrique donnée et une rubrique résultat), la notion de justification est illustrée, avec en particulier des exemples d'usage d'invariants (du simple commentaire à l'outil de preuve).
La thèse de Church-Turing est présentée.
Programmation
Il s'agit d'une initiation (traditionnelle) incluant les notions de :
- type, variable, expression,
- affectation (l'action de base du processeur),
- conditionnelle,
- répétitive (bornée et non bornée),
- sous-programme
- fonction : abstraction de variables dans une expression,
- procédure : abstraction de variables dans une instruction,
- tableau.
Le langage d'implémentation est Python [25] dont l'apprentissage n'est pas recherché pour lui-même : seuls les éléments jugés indispensables à ce stade d'initiation sont présentés.
Quelques règles de « bonne conduite » sont édictées :
pas de variable globale, pas de break dans les répétitives, pas de multiplicité des return dans les fonctions,
séparation des sous-programmes « métier » des sous-programmes d'E/S et des programmes de test,
spécification impérative des sous-programmes,
usage de commentaires « utiles », déclaration d'invariants si on peut.
Représentation de l'information
Sont exposés les premiers principes de la représentation des :
entiers (écriture positionnelle et addition, base 2, taille fixe et additionneur modulo, implémentation en machine),
réels (mantisse et exposant, la norme IEEE754, effets de la troncature et effets d'échelle),
textes (codage des caractères imprimables ou de contrôle, quelques exemples de l'ASCII à l'Unicode),
images (les pixels d'un écran, formats matriciels, effets de la compression, formats vectoriels),
sons (définition physique, mesure, échantillonnage, profondeur, formats simples ou compressés).
Structure des ordinateurs
La présentation suit un plan en 3 parties :
la genèse des ordinateurs où l'on introduit progressivement et en suivant la voie historique les étapes qui ont conduit à la structure que l'on connaît actuellement,
l'architecture de base des ordinateurs exposant les grands principes communs à toutes les réalisations et quelques évolutions marquantes,
les architectures évoluées mettant en oeuvre des techniques visant essentiellement à améliorer les performances.
Afin d'illustrer les concepts présentés, on définit une architecture de base d'un ordinateur de type « Von Neumann » comprenant :
des cellules mémoire de 12 bits,
un ensemble de 3 registres : accumulateur, compteur ordinal, registre d'instruction,
une unité arithmétique et logique capable d'effectuer 6 opérations : addition, soustraction, ET, OU, OU-exclusif, décalage,
un jeu très élémentaire de 16 instructions (codées sur 4 bits),
une mémoire de 256 cellules (dont les adresses sont codées sur 8 bits).
Cette architecture ne comporte volontairement ni adressage indexé ou indirect, ni instructions d'entrée-sortie, ni instruction mettant en jeu plus d'un opérande. Les modifications d'adresses, par exemple pour le parcours de tableaux, se font par calcul sur le contenu de la cellule contenant l'instruction concernée. Des exemples de petits programmes très simples sont écrits en langage machine ; d'autres sont proposés à titre d'exercice.
Graphes et programmation
Outre fournir aux participants l'occasion de mettre en oeuvre les notions d'algorithmique et de programmation vues jusqu'alors dans la session de formation, l'objectif de cette section est multiple :
introduire la notion de graphe (présentée comme une structure de base pour la résolution de problèmes),
exemplifier la notion de processeur non numérique (exemple d'action de base : colorer un sommet d'un graphe),
exemplifier la notion de structure de données (ici, de façon alternative, matrices booléennes et tableaux de listes),
initier aux algorithmes de descentes dans les graphes (descente non contrainte, descente en largeur, descente en profondeur).
De plus, une notion d'algorithme non déterministe est invoquée à l'occasion des algorithmes de descente.
Projet
Il s'agit de mettre les participants dans des conditions similaires à celles que vivront les élèves de terminale S en spécialité ISN :
- travail de groupe,
- travail en temps limité,
- rapport écrit,
- soutenance orale.
Les participants se constituent en binômes, ils choisissent un sujet parmi une liste qui en présente une quinzaine (ils peuvent soumettre à approbation préalable un sujet de leur cru), et disposent de trois ou quatre semaines (selon les sessions) pour rendre leur rapport (qui doit contenir en annexe le code rendant compte de l'état d'avancement du développement de leur application).
Le projet doit pouvoir faire l'objet d'une présentation orale.
Pour fixer les idées, quelques-uns des sujets proposés :
- le jeu de la vie,
- le tic-tac-toe,
- le Mastermind,
- aide à la cryptanalyse du chiffre de Vigenère,
- tris de tableaux par comparaisons et complexité théorique/effective,
- simulation d'une machine de Turing,
- construction de tablatures de guitare (proposé par des participants).
Niveau 2
Programmation objets
Cette introduction à la programmation objets a pour objectif d'aborder [26] les concepts de :
- classe, objet,
- envoi de message, encapsulation,
- héritage,
- polymorphisme, résolution dynamique,
- méthode abstraite, classe abstraite.
Le langage choisi pour la mise en oeuvre est Java. La notion de typage statique est présentée (par opposition au typage dynamique de Python vu en ISN1).
Programmation récursive
Présentation du paradigme de la programmation récursive en mettant l'accent sur la nécessité du contrôle de la finitude de la suite des appels récursifs engendrés. Seuls sont traités des cas où cette finitude peut être certifiée sans difficulté.
L'accent est mis sur le soin à apporter à la formulation des spécifications des fonctions-procédures récursives dans la perspective de pouvoir vérifier que :
- les paramètres effectifs des appels récursifs :
- satisfont les spécifications relatives aux données,
- sont d'une « taille » (à définir pour chaque problème traité) strictement inférieure à ceux de l'appel environnant ;
le résultat de l'appel environnant satisfait ses spécifications sous réserve que les appels récursifs lancés satisfassent les leurs.
Systèmes d'exploitation
Cette section est une introduction aux fonctions d'un système d'exploitation, notamment celles de son noyau.
Le choix s'est porté sur l'aspect fonctionnel plutôt que sur la description d'un système particulier et de ses commandes. Cette approche vise à comprendre les relations entre les applications, leur environnement et l'ordinateur sur lequel elles s'exécutent.
Après un bref historique on y détaille les fonctions de :
- gestion de fichiers,
- gestion de processus,
- gestion de mémoire,
- gestion des communications.
Réseaux
La section réseaux explique le fonctionnement des réseaux de communication en adoptant un découpage fonctionnel à trois niveaux : transmission, routage (incluant la commutation de circuits, de messages et de paquets) et service. Quelques exemples historiques de réseaux de communication (comme les réseaux télégraphiques) sont présentés sous ce point de vue.
Web
Cette section s'intéresse à un des grands domaines d'application de l'informatique aujourd'hui. Elle présente les trois piliers du web :
les langages HTML et CSS (permettant de présenter un modèle de document, un langage formel, à balises et le principe de séparation de la structure logique d'un document de sa présentation),
le système d'identification de ressources URL (permettant de présenter le concept des systèmes hypertextes),
le protocole de communication HTTP (permettant de présenter un exemple de protocole de communication de haut niveau et sans état).
Par ailleurs quelques aspects particuliers de la programmation web et quelques concepts des bases de données sont abordés.
Complexité des algorithmes et des problèmes
L'objectif de cette section est de présenter les notions :
d'ordre de grandeur,
d'évaluation des algorithmes : notion de complexité asymptotique au sens du plus mauvais cas (en se limitant à la complexité en temps),
de classification des problèmes de décision : les classes P et NP,
de réduction polynomiale de problèmes : la classe NPC et le théorème de Cook-Levin.
La question P vs NP est présentée.
Contrôle de l'information
Cette section aborde les questions relatives au contrôle de la transmission et du stockage des données informatiques. Il ne s'agit pas de l'organisation, qui est du domaine des bases de données. Elle se décline en :
intégrité : détection et correction d'erreur,
compression : optimisation du volume des données textuelles et perceptives (son, image, vidéo),
cryptage : confidentialité et authentification.
Les parties « intégrité » et « compression » s'appuient essentiellement sur la théorie de l'information. La partie « cryptage » s'appuie aussi sur la complexité.
Projet
Les participants ont passé l'« épreuve du projet » lors de la session ISN1. L'objectif n'est plus ici de la leur faire repasser mais plutôt de leur fournir l'occasion de mettre en oeuvre, à propos d'une réalisation de taille « raisonnable », les acquis de la session ISN2.
Un sujet de projet commun est proposé (un jeu de plateau) selon les modalités suivantes :
travail en groupe ou isolé,
seules les sources sont à produire (des sources présentées de façon « exploitable » par le lecteur),
l'application doit être réalisée en programmation objets (Java),
le temps imparti est de plusieurs semaines (voire extensible).
NOTES
[1] Mathématiques (Maths), Physique-Chimie (PC) et Sciences de la Vie et de la Terre (SVT).
[2] http://www.education.gouv.fr/pid25535/bulletin_officiel.html?cid_bo=57998
[3] Les trois signataires de ce rapport.
[4] À l'exception de la dernière session ISN1 dotée de 5 jours, une évolution sur laquelle nous reviendrons.
[5] À l'exception de quelques documents et d'un test conçus par une équipe de l'université de Limoges et mis en ligne pour permettre le démarrage de la première session d'ISN1 dès septembre 2011.
[6] En Moodle, les « sections » permettent de subdiviser un « cours ».
[7] Nous ne disposons pas de statistiques administratives. Nous croyons cependant savoir qu'au moins 125 professeurs ont été habilités.
[8] Bulletin officiel spécial n° 8 du 13 octobre 2011,
http://www.education.gouv.fr/pid25535/ bulletin_officiel.html?cid_bo=57572
[9] http://www.academie-sciences.fr/pdf/rapport/rads_0513.pdf.
[10] Opus cité.
[11] De fait, on peut considérer que le programme de la formation proposé est d'un niveau proche de celui d'une licence d'informatique.
[12] À savoir :
(a) « correctement » : que le sous-programme satisfasse ses spécifications pour tous les paramètres effectifs qui les respectent,
(b) « suffisamment » : par exemple, « retourner vrai » est le corps de fonction le plus économique permettant de satisfaire la spécification « Résultat : retourne vrai si le tableau A contient au moins un 0 ».
[13] Difficultés qui peuvent commencer par celle d'admettre qu'un paramètre formel auquel les spécifications ne font pas référence n'a pas lieu d'exister.
Notons que nous avons constamment affiché notre refus de lire les sous-programmes dépourvus de spécifications.
[14] L'argument comme quoi il n'est pas du ressort d'une fonction de maîtriser l'usage qui peut être fait du résultat de ses calculs – par exemple, et pour la même fonction, le résultat peut une fois servir au calcul effectué par une autre fonction, une autre fois être inscrit dans une base de données distante – a le plus souvent fini par l'emporter auprès des participants.
Il est vrai que certains d'entre eux ont pu être fâcheusement influencés par la regrettable décomposition d'un « algorithme simple » en ses trois « éléments de base » que seraient « Les trois étapes », à savoir « La préparation du traitement », « Le traitement » et « La sortie des résultats », décomposition malheureusement proposée en sa page 6 par le document Éduscol [DGESCO], Mathématiques, Lycée, Ressources pour la classe de seconde – Algorithmique. Comprendre : la saisie des données et l'affichage de ses résultats font partie intégrante d'un algorithme. No comment.
[15] Par opposition, le commentaire « i ← i+1 » # on incrémente i n'est pas jugé judicieux.
[16] Pour mémoire, seuls des avis « informatiques » favorables, voire très favorables ont été exprimés.
[17] Sous des modalités que nous ignorons, comme nous ignorons quelle expertise informatique a remplacé celle de notre équipe pédagogique.
[18] Dont nous n'avons eu connaissance ni du contenu ni des participants.
[19] Ainsi qu'il rend compte d'une collaboration à géométrie variable entre responsables pédagogiques universitaires et autorités académiques locales.
[20] http://www.societe-informatique-de-france.fr/wp-content/uploads/2015/05/2015-05-Communique-SIF-annonces-NVB-et-FH.pdf
[21] Nous ne disposons pas des tableaux nécessaires à une estimation réaliste, mais disposer d'un corps « suffisant » d'agrégés et de certifiés en informatique prendra à l'évidence « un certain temps ».
[22] http://cache.media.education.gouv.fr/file/MEN_SPE_2/84/6/2015_BO_SPE_2_404846 .pdf
et http://cache.media.education.gouv.fr/file/CSP/91/2/prog_Informatique_et_creation_ numerique_19_mai_425912.pdf
[23] Rien ne montre aujourd'hui que le Ministère envisage, à court terme du moins, de travail de synthèse de l'expérimentation faite autour de la création de la spécialité ISN. En ce qui concerne l'académie de Montpellier, aucune enquête n'a été diligentée auprès des participants à cette formation, et aucune réunion de simple débriefing n'a été proposée à l'équipe pédagogique.
[24] Après le petit exercice classique : traduire un si ... alors ...
sous forme d'un tantque ... faire ...
[25] Raisons principales de ce choix :
- la syntaxe du langage permet une mise en oeuvre assez rapide de petits programmes,
- c'est le langage officiel d'apprentissage de la programmation en CPGE.
[26] Et également de s'y limiter, la proposition faite semblant suffisamment ambitieuse.
|