Mais cette réforme du baccalauréat et du lycée général et technologique nécessite l'élaboration de nouveaux contenus d'enseignement. Le Conseil supérieur des programmes (CSP) a donc été saisi par le ministre afin de concevoir les projets de programmes du futur lycée. Depuis la mi-octobre 2018, le CSP a rendu publics ses projets pour les classes de seconde et de première générale et technologique. Mais pour certains enseignements, le projet de programme de terminale n'était pas encore disponible, c'était le cas de la spécialité « Numérique et sciences informatiques ». Le programme est toutefois maintenant disponible.
Objectif de la spécialité
L’objectif de cet enseignement général est l’appropriation des concepts et des méthodes qui fondent l’informatique, dans ses dimensions scientifiques et techniques.
Domaines étudiés
La spécialité s’articule autour de quatre grands domaines : le traitement et la représentation des données, les algorithmes, les langages de programmation et les machines et leurs systèmes d’exploitation. Il est également fait mention dans le programme d'un élément transversal : les interfaces qui permettent la communication, la collecte des données et la commande des systèmes.
Pas seulement théorique, une bonne dose de pratique
Un enseignement d’informatique ne saurait se réduire à une présentation de concepts ou de méthodes sans permettre aux élèves de se les approprier en développant des projets. Ainsi, un tiers au moins de l’horaire total de la spécialité est réservé à la conception et à l’élaboration de projets conduits par des petits groupes d’élèves.
Les projets ont essentiellement pour but d’imaginer des solutions répondant à un problème. Il peut s’agir d’un approfondissement théorique des concepts étudiés en commun, d’une application à d’autres disciplines telle qu’une simulation d’expérience, d’exploitation de modules liés à l’intelligence artificielle et en particulier à l’apprentissage automatique, d’un travail sur des données socioéconomiques, du développement d’un logiciel de lexicographie, d’un projet autour d’un objet connecté ou d’un robot, de la conception d’une bibliothèque implémentant une structure de données complexe, d’un problème de traitement d’image ou de son, d’une application mobile, par exemple de réalité virtuelle ou augmentée, du développement d’un site Web associé à l’utilisation d’une base de données, de la réalisation d’un interpréteur d’un mini-langage, de la recherche d’itinéraire sur une carte (algorithme A*), d’un programme de jeu de stratégie, etc.
Un accès internet et un langage simple d'usage (Python) pour la réalisation des projets
Dans le programme, il est indiqué que les activités pratiques et la réalisation de projets supposent que chaque élève a un accès individuel à un équipement relié à internet. Un langage de programmation est également nécessaire pour l’écriture des programmes : un langage simple d’usage, interprété, concis, libre et gratuit, multiplateforme, largement répandu, riche de bibliothèques adaptées et bénéficiant d’une vaste communauté d’auteurs dans le monde éducatif était à privilégier. Le langage choisi, comme nous l'avons déjà rapporté, est Python version 3 (ou supérieure). Il est toutefois précisé que l’expertise dans tel ou tel langage de programmation n’est pas un objectif de formation.
Éléments du programme de Terminale
Le programme en terminale est organisé en six rubriques :
- histoire de l’informatique : il s'agira de présenter aux élèves les événements clés de l’histoire de l’informatique. Les élèves apprendront par exemple que les algorithmes étaient présents dès l’Antiquité. À la fin de cette rubrique, ils devraient notamment être capables de situer dans le temps les principaux événements de l’histoire de l’informatique (apparition des machines à calculer, la naissance des sciences de l’information, la naissance des premiers ordinateurs, comment leur puissance a ensuite évolué exponentiellement et comment ils se sont diversifiés dans leurs tailles, leurs formes et leurs emplois : téléphones, tablettes, montres connectées, ordinateurs personnels, serveurs, fermes de calcul, méga-ordinateurs) et leurs protagonistes ;
- structures de données : il s'agira d'abord de présenter les structures de données proprement dites. À la fin, les élèves devraient être capables de spécifier une structure de données par son interface, distinguer interface et implémentation et écrire plusieurs implémentations d’une même structure de données. Cette rubrique traitera aussi du vocabulaire de la programmation objet (classes, attributs, méthodes, objets), des listes, piles et files, mais aussi des arbres et graphes ;
- bases de données : cette rubrique d'enseignement abordera le modèle relationnel, les systèmes de gestion de bases de données relationnelles et le langage SQL ;
- architectures matérielles, systèmes d’exploitation et réseaux : au menu, il y aura les composants intégrés d’un système sur puce - les élèves devraient à la fin être capables d'identifier les principaux composants sur un schéma de circuit et les avantages de leur intégration en termes de vitesse et de consommation. Mais cette rubrique traitera aussi de la gestion des processus et des ressources par un système d’exploitation, des protocoles de routage et la sécurisation des communications ;
- langages et programmation : il s'agira d'aborder la notion de programme en tant que donnée (faire comprendre aux élèves que tout programme est aussi une donnée), mais également les questions de récursivité, modularité, les paradigmes de programmation, la mise au point de programmes et la gestion des bogues ;
- algorithmique : cette dernière rubrique traite des algorithmes sur les arbres binaires et sur les arbres binaires de recherche, des algorithmes sur les graphes, de la méthode « diviser pour régner » pour écrire un algorithme, de la programmation dynamique pour écrire un algorithme et de la recherche textuelle où les élèves étudieront l’algorithme de Boyer-Moore pour la recherche d’un motif dans un texte.
Programme de Terminale (Numérique et sciences informatiques, enseignement de spécialité)
Programme de Première (Numérique et sciences informatiques, enseignement de spécialité)
Programme de Seconde (Sciences numériques et technologie, enseignement commun)
Et vous ?
La création de cette nouvelle filière est-elle pertinente ?
Que pensez-vous du programme ? Le parcours parfait pour poursuivre des études supérieures en informatique ?
Certains éléments étant plus étudiés en Licence 1 voire Licence 2, le programme n'est-il pas trop complexe ?
Cela ne va-t-il pas entraîner une ruée des lycéens vers les autres spécialités et donc un manque de talents IT les années à venir ?
Les professeurs de lycée sont-ils aptes à enseigner cette spécialité ? Ou va-t-il falloir faire appel aux professeurs de prépa ?
Voir aussi :
Éducation : Python bientôt langage officiel de programmation en France ? Un projet dans le cadre de la réforme du Bac et du lycée
Réussite en licence : le passé scolaire joue plus que l'origine sociale, d'après une étude, qu'en est-il dans les filières informatiques ?
Les professeurs des classes prépas alertent sur le faible niveau en sciences du bac S, une menace pour l'enseignement supérieur en informatique ?
Les Français auraient perdu en moyenne 3,8 points de QI en l'espace de 10 ans, une menace pour l'enseignement supérieur en informatique ?
France : en 20 ans, le niveau en maths des élèves de terminale S est en baisse de 20 %, une menace pour l'enseignement supérieur en informatique ?