PROGRAMME D'ENSEIGNEMENT DE SPÉCIALITÉ D'INFORMATIQUE ET SCIENCES DU NUMÉRIQUE EN CLASSE TERMINALE DE LA SÉRIE SCIENTIFIQUE
1. Préambule
L'informatique, et plus généralement les sciences du numérique, ont aujourd'hui envahi nos vies professionnelles et personnelles. Elles ont entraîné des mutations profondes dans nos sociétés (culture, sciences, économie, politique, etc.). Pourtant, seule une faible partie de la population maîtrise les mécanismes fondamentaux qui régissent ces mutations et est en mesure d'apprécier les enjeux sociétaux qui en découlent. L'enseignement de l'informatique au lycée peut contribuer à réduire cette fracture.

L'objectif de l'enseignement de spécialité d'informatique et sciences du numérique (ISN) en classe terminale scientifique est d'approfondir les connaissances et les compétences des élèves en s'appuyant sur les notions, les méthodes et la pratique qu'ils ont développées depuis le collège, et en particulier au cycle 4 en mathématiques et en technologie, ainsi qu'à travers les enseignements de mathématiques des classes de seconde et de première.

L'ISN est un enseignement d'ouverture et de découverte des problématiques actuelles qui contribue au développement de la créativité chez les élèves et aide ceux-ci dans leur choix d'orientation.
2. Mise en activité de l'élève
Afin de refléter le caractère scientifique et technique propre à la discipline et de développer l'appétence des élèves en faveur de cet enseignement, il convient de les mettre en situation d'activité aussi souvent que possible, comme cela a déjà été fait au collège. Dans la continuité du cycle 4, une pédagogie par projets est à privilégier pour favoriser l'émergence d'une dynamique de groupe : la conduite d'un projet (création d'un objet, d'un programme, etc.) permet à un binôme ou un trinôme d'élèves de développer des compétences d'autonomie et de collaboration, de consolider des connaissances, et d'acquérir une expérience de programmation. Dans ce cadre, le professeur joue un rôle central : il impulse et coordonne les projets, anime les débats et met en place l'évaluation et en définit les modalités.

L'informatique enrichit les autres disciplines en apportant ses propres démarches. Connexe à de nombreux domaines, elle est l'occasion d'un travail pluridisciplinaire : la complémentarité des approches, associée à la richesse d'un travail collaboratif, joue un rôle stimulant pour les élèves et les équipes pédagogiques. Le professeur peut s'appuyer sur la mise en place d'exposés suivis de débats au sein de la classe pour introduire des questions sociétales liées à la généralisation du numérique. Enfin, lors de la préparation des exposés, comme lors du développement des projets, le professeur guide les élèves dans leurs recherches documentaires s'appuyant sur des ouvrages ou des ressources disponibles sur le Web.

La progression peut suivre un rythme annuel construit autour de périodes spécifiques favorisant une alternance entre différents types d'activités (acquisition de nouveaux savoirs, exposés, projets) et permettant d'entretenir l'intérêt des élèves et de développer leur autonomie.

Un environnement numérique suffisamment ouvert est choisi pour favoriser cette dynamique de projet.
3. Les projets
Les projets réalisés par les élèves, sous la conduite du professeur, constituent un apprentissage fondamental tant pour la compréhension de l'informatique et des sciences du numérique que pour l'acquisition de compétences variées. Ils peuvent porter sur des problématiques issues d'autres disciplines et ont essentiellement pour but d'imaginer des solutions répondant à l'expression d'un besoin.

Les compétences mises en jeu au cours du développement d'un projet peuvent être regroupées ainsi :
- proposer une approche fonctionnelle qui réponde aux besoins ;

- conduire des recherches documentaires ;

- concevoir des programmes en autonomie et vérifier le comportement attendu ;

- gérer les étapes du projet en dialogue et en interaction avec le professeur.
Les activités des élèves sont organisées selon la démarche de projet autour d'une équipe de projet formée de deux ou trois élèves et dont le fonctionnement est guidé par une démarche incluant des points d'étape pour faire un bilan avec le professeur, valider des éléments, contrôler ou modifier l'avancement du projet, voire le redéfinir partiellement.

L'enseignant veille à ce que les projets choisis par les élèves restent d'une ambition raisonnable afin de ne pas empiéter sur le temps consacré aux autres disciplines. Un projet mené durant la seconde partie de l'année permet de mettre en œuvre les savoirs et capacités acquis et donne lieu à un rapport écrit d'une dizaine de pages au maximum.

Au long de l'année, l'évaluation du travail de l'élève s'appuie sur les capacités mentionnées dans les tableaux ci-dessous, sans nécessairement les mobiliser toutes.
4. Culture scientifique et enjeux de société
Avec la diversité des outils informatiques, le développement rapide d'internet et des multiples moyens d'y accéder, l'accroissement considérable des supports de stockage et de diffusion de l'information, l'économie, la société et la culture sont en continuelle transformation. De nouveaux usages se développent qui, tout en repoussant les limites du possible, confrontent l'humanité à de nouvelles questions.

L'enseignement de spécialité Informatique et sciences du numérique contribue au développement d'une culture scientifique et technologique et permet également d'aborder des questions sociétales, éthiques, philosophiques et épistémologiques qui surgissent dans un monde numérique, en complément de l'enseignement des humanités, de l'éducation aux médias et à l'information, et de l'enseignement moral et civique.

Les modalités de ces réflexions peuvent être variées ; elles peuvent prendre la forme de débats, d'exposés, de productions écrites, s'effectuer dans un cadre interdisciplinaire, grâce à l'intervention de professeurs de plusieurs disciplines, de partenaires, de chercheurs…

On propose ci-dessous une liste, ni exhaustive ni exigible, de problématiques susceptibles d'être exploitées en classe et dans les projets de fin d'année des élèves.
Persistance de l'information
La facilité d'usage et la multiplication des supports de stockage de grande taille, des moyens de diffusion de l'information, des moteurs de recherche, permettent une persistance de l'information sur des espaces numériques interconnectés. La difficulté de faire disparaître ces données (juridiques, fiscales, biométriques ou liées à la santé…) et par conséquent leur utilisation potentielle peuvent constituer une menace pour la vie privée et nécessitent une réflexion sur les comportements à adopter pour les particuliers et les évolutions du droit.
Propriété de l'information
L'information en elle-même est un bien non-rival, c'est-à-dire que son usage par une personne n'en limite pas l'usage par d'autres, à la différence de nombre de produits de consommation. La numérisation de l'information facilite un partage et une diffusion de très grande ampleur, mais introduit également des questions de droit parfois nouvelles (par exemple de licences, de droit d'usage, de droit d'auteur…) ainsi qu'une nouvelle réflexion sur la valeur d'un tel bien.
Apprentissage automatique et intelligence artificielle
La quantité de données disponibles et surtout l'augmentation des capacités de traitement de ces données massives (big data), ont permis à l'apprentissage automatique de produire de très bons résultats dans différents domaines, notamment en utilisant des réseaux de neurones artificiels (apprentissage profond). Tous ces progrès modifient nos sociétés et doivent donc amener le citoyen à s'interroger sur leurs conséquences du point de vue éthique, social, politique et juridique.
Informatique dans le nuage (cloud computing)
Le cloud permet de travailler de n'importe quel lieu connecté sur des environnements informatiques virtuels externalisés et flexibles qui répondent aux besoins des utilisateurs. Il est important de s'interroger sur les principes de fonctionnement de cet outil ainsi que sur son impact sur les méthodes de travail et les pratiques sociales.
Informatique et environnement
La maintenance, la production et le développement des réseaux, des réseaux intelligents (smart grids), des nuages (clouds), des infrastructures de stockage, des supports numériques, mobiles ou non, se sont développés de façon considérable en quelques décennies. La création de centres de données induit par ailleurs des coûts écologiques conséquents qu'il s'agisse de consommation énergétique, de réchauffement climatique, de consommation des terres rares, de recyclage. Des démarches visant à limiter l'impact sur l'environnement existent telles que les filières légales de recyclage, d'autres sont à l'étude mais restent encore à développer. La bonne gestion de ces technologies peut être source de limitation des impacts voire de gains écologiques.
L'évolution des métiers induite par le numérique
Les outils numériques révolutionnent les manières de travailler : modalités de conception, de réalisation, instantanéité des échanges, automatisation des tâches, obsolescence des matériels… S'ils suppriment certains métiers, ils en génèrent aussi de nouveaux. Comment cela change-t-il l'organisation du travail ? La notion même de travail ?
L'évolution des outils et des supports d'écriture et de lecture
La transformation des outils et supports de l'écrit a des conséquences importantes sur les modes de production, de réception et de diffusion des textes. Les possibilités d'expression et de création, le déroulement et l'architecture de la pensée, le rapport à l'erreur et à la copie, le statut de l'auteur et la propriété intellectuelle… s'en trouvent profondément modifiés. S'il est vrai que le numérique a démultiplié les possibilités de partage, de collaboration, de reproduction et d'appropriation, le texte, par dispersion, fragmentation, hybridation, formatages et digressions sur les réseaux, ne risque-t-il pas de perdre son unité, son authenticité et sa cohérence ?
Les algorithmes de décision et la question de la transparence
Certaines décisions sont aujourd'hui prises à l'aide d'algorithmes. Quels avantages cela présente-t-il ? Quels en sont les inconvénients ? Quelles exigences définir sur le plan de la transparence des processus ?
Réparation et augmentation des capacités du corps
Pour préserver sa santé, l'être humain accepte d'être équipé d'outils électroniques connectés. Jusqu'où aller dans ce processus ? Comment décider de ce qu'il est acceptable de faire ou non ? Quels sont les risques de piratage des matériels, et des données personnelles ?
5. Eléments de programme
Le programme est construit autour de quatre parties : représentation de l'information, algorithmique, langages et programmation, architectures matérielles. Les séquences pédagogiques ont vocation à être construites en combinant des savoirs et capacités extraits des quatre parties du programme.

Organisation : les éléments du programme sont présentés à l'aide d'un tableau en trois colonnes : savoirs, capacités, observations.
5.1. Représentation de l'information
Dans un contexte informatique, l'information est représentée par des suites de symboles. La numérisation est l'opération qui associe à un objet réel du monde physique une description à l'aide d'un ensemble d'informations exploitables par un ordinateur ou, plus généralement, une machine numérique. A cause de l'échantillonnage sous-jacent, la numérisation induit des effets importants sur la qualité de l'information numérique. Elle entraîne des conditions spécifiques de création, de stockage, de traitement et de circulation de l'information.

Les capacités de traitement et de stockage des ordinateurs croissent de façon continue depuis leur apparition. Il est donc crucial d'organiser ces flux d'informations en local sur une machine ou de façon distribuée sur un réseau.

L'intégration croissante du numérique dans les activités humaines et la numérisation de l'information suscitent des transformations culturelles, socio-économiques, juridiques et politiques profondes qui font apparaître de nouvelles opportunités, de nouveaux risques et de nouvelles contraintes qu'il convient d'étudier.
SAVOIRS
CAPACITÉS
OBSERVATIONS
Numérisation L'ordinateur manipule uniquement des valeurs numériques. L'élève comprend qu'une étape de numérisation des paramètres associés aux objets du monde physique est donc indispensable.
Coder un nombre, un caractère au travers d'un code standard, un texte sous forme d'une liste de valeurs numériques.
Il est ici utile de faire référence à des notions technologiques introduites à propos des architectures matérielles. Les images et les sons peuvent être choisis comme contexte applicatif et sont manipulés via des logiciels de traitement ou de synthèse.
Représentation binaire Un ordinateur est une machine qui manipule des valeurs numériques représentées sous forme binaire.
Manipuler à l'aide d'opérations élémentaires les trois unités de base : bit, octet, mot.
On met en évidence, sous forme de questionnement, la présence du numérique dans la vie personnelle et professionnelle, au travers d'exemples.
Formats Les données numériques sont agencées de manière à en faciliter le stockage et le traitement. L'organisation des données numériques respecte des formats qui sont soit des standards de fait, soit des normes.
Identifier quelques formats de documents, d'images, de données sonores. Choisir un format approprié par rapport à un usage ou un besoin, à une qualité, à des limites.
Le choix d'un format approprié pose le problème de l'interopérabilité qui est le fait d'assurer un usage sans restriction des mêmes données sur un système différent. Le choix de l'algorithme de traitement des données dépend en particulier du format de ces données, et vice versa.
Taille de l'information Les données numériques occupent de la place. Il faut évaluer leur taille en vue de leur stockage, de leur traitement, de leur transmission.
Estimer la taille des données. Connaître les ordres de grandeur courants (périphériques usuels de stockage, bibliothèque, corpus littéraire, débits des connexions…)
L'apparition de l'informatique a permis de traiter des données de taille beaucoup plus importante que ce qui pouvait être fait auparavant.
5.2. Algorithmique
Un algorithme se définit comme une méthode opérationnelle permettant de résoudre, en un nombre fini d'étapes clairement spécifiées, toutes les instances d'un problème donné. Cette méthode peut être exécutée par une machine ou par une personne.

Les élèves ont déjà appris au collège à écrire, mettre au point et exécuter un programme. Les programmes de mathématiques des classes de seconde et première développent une pratique de l'algorithmique sur laquelle il convient également de s'appuyer.

A partir du développement d'algorithmes, l'élève s'initie à la notion de complexité algorithmique. Ces algorithmes sont exprimés dans un langage de programmation et exécutés sur une machine ou bien définis de manière informelle.
SAVOIRS
CAPACITÉS
OBSERVATIONS
Algorithmes de référence

			- recherche dichotomique ;

			- addition de deux entiers exprimés en binaire ;

			- tri par sélection ;

			- tri par fusion ;

			- recherche d'un chemin dans un graphe par un parcours en largeur ou en profondeur.
Comprendre un algorithme et expliquer ce qu'il fait. Modifier un algorithme existant pour obtenir un résultat différent. Concevoir un algorithme. Programmer un algorithme. S'interroger sur l'efficacité d'un algorithme.
On présente simultanément les notions d'algorithme et de programme, puis on les distingue. L'objectif est une compréhension de ces algorithmes et la capacité à les mettre en œuvre. Les situations produisant une erreur (division par zéro, dépassement de capacité) sont mises en évidence. On présente les complexités logarithmique, linéaire et quadratique sur les exemples de la recherche dichotomique, de l'addition de deux entiers et du tri par sélection.
Traitement d'image Programmation d'algorithmes simples sur les images bitmap.
Modifier format, taille, contraste ou luminance d'images numériques. Détecter des informations spécifiques.
L'objectif est d'appliquer effectivement des programmes simples à des images. On peut aussi étudier le floutage, la rotation, la recherche de contour, etc.
5.3. Langages et programmation
La programmation est l'expression d'un algorithme dans un langage exécutable par une machine et joue un rôle central dans le développement des systèmes et produits informatiques.

L'apprentissage de la programmation vise d'une part, à savoir programmer un algorithme décrit en langue naturelle et d'autre part, à comprendre un programme et exprimer en langue naturelle l'algorithme sous-jacent.

On commence par rappeler les éléments de base de tout langage de programmation (affectation, séquence, test et boucle) tels qu'ils ont été présentés au collège et en mathématiques en classe de seconde et consolidés en classe de première. La notion de fonction permet d'éviter des redondances, de structurer les programmes et d'organiser leur conception. Enfin, on met en évidence la qualité des programmes en les testant sur différents jeux de données.

On compare la programmation séquentielle et la programmation parallèle, en s'appuyant sur la programmation déjà développée au cycle 4 du collège.

On insiste sur la clarté et la documentation qui facilitent la reprise du code par d'autres programmeurs. On montre enfin l'universalité de la notion de langage au-delà de la programmation.

L'enseignant choisit un langage de programmation selon les critères suivants : simplicité d'utilisation, liberté d'installation, présence d'outils associés, existence d'une communauté d'utilisateurs et de bibliothèques facilitant le développement, la richesse et la qualité de la documentation.
SAVOIRS
CAPACITÉS
OBSERVATIONS
Types de données

			- nombre entier ;

			- virgule flottante ;

			- booléen ;

			- caractère ;

			- tableau ;

			- chaîne de caractères.
Choisir un type de donnée en fonction d'un problème à résoudre.
On adapte la présentation de ces notions en fonction du langage de programmation retenu.
Fonctions

			- notion de fonction ;

			- portée des variables et passage d'arguments ;

			- définition récursive de fonctions.
Concevoir l'entête (ou l'interface) d'une fonction, puis la fonction elle-même.
On adapte la présentation de ces notions en fonction du langage de programmation retenu.
Programmation séquentielle versus parallèle

			- affectation, séquences, tests, boucles ;

			- exécution parallèle de processus.
Ecrire un programme séquentiel. Ecrire un programme parallèle simple.
En s'appuyant sur le travail mené au cycle 4, on met en évidence le fait que la majorité des programmes est composée de processus qui s'exécutent en parallèle et on initie aux notions correspondantes.
Correction d'un programme

			- test ;

			- instrumentation ;

			- situations d'erreur ou bugs.
Mettre un programme au point en le testant, en l'instrumentant. Utiliser un outil de mise au point.
On évoque les risques issus des programmes incorrects et des bugs qui en résultent, aux conséquences parfois graves.
Langages de description Présentation des langages HTML et CSS et du principe de séparation du contenu et de la mise en forme.
Créer et analyser une page web.
On met en évidence la diversité des langages utilisés en informatique : langages de programmation, de description, de requêtes, de spécification… On met en valeur le double usage du langage, lisible par un humain et interprétable par une machine.
5.4. Architectures matérielles
Exprimer un algorithme dans un langage de programmation a pour but de le rendre exécutable par une machine numérique. La découverte de l'architecture de ces machines constitue une étape essentielle d'une initiation à l'informatique. De plus, mieux comprendre cette organisation est nécessaire pour programmer de manière efficace, en tenant compte des capacités et limitations des machines numériques.

La présentation commence avec celle des machines, puis se poursuit avec leur connexion en réseau, où le transport des informations repose sur des méthodes de routage, en remobilisant ainsi les acquis du programme de technologie du cycle 4.

Finalement, l'étude d'un système en interaction avec le monde physique, par exemple un minirobot, peut permettre, en fonction de l'équipement disponible dans l'établissement, de découvrir les mécanismes de pilotage et de communication dans l'exécution de tâches complexes.
Architecture des ordinateurs
SAVOIRS
CAPACITÉS
OBSERVATIONS
Jeu d'instructions Instructions simples (chargement, stockage, opérations arithmétiques et logiques, saut conditionnel). Les circuits combinatoires réalisent des fonctions booléennes.
Savoir dérouler l'exécution d'une séquence d'instructions simples de type langage machine.
On propose des activités sous forme d'exercices sur papier sans utiliser d'ordinateur.
Réseaux
SAVOIRS
CAPACITÉS
OBSERVATIONS
Adressage sur un réseau Mécanismes d'adressage pour identifier des machines distantes.
Décrire une situation d'adressage sur un type de réseau particulier.
On introduit ces notions en comparant différents types d'adressages existants (téléphone, courrier postal).
Routage Mécanismes induits par la communication sur un réseau dont la structure est de type graphe. Notions de paquets, de chemins, de routage.
Décrire le chemin suivi par l'information sur un exemple de routage.
On peut prendre l'exemple du routage des courriels. On explique la différence entre les réseaux de type arborescent et de type graphe.
Structuration en couches des protocoles de réseau

			- notion de protocole ;

			- description des couches physique, liaison, réseau, transport et applications.
Identifier des protocoles et les rattacher à une couche, sur des exemples simples.
On peut, au choix, s'appuyer sur le modèle TCP/IP ou le modèle OSI. On introduit ces notions en présentant divers protocoles, par exemple : ethernet, Wi-Fi ; IP, TCP ; http, ftp, smtp. On évitera tout excès de technicité.
Initiation à la robotique
SAVOIRS
CAPACITÉS
OBSERVATIONS
Découverte d'un système robotique et de sa programmation
Identifier les différents composants du système utilisé, comprendre leurs rôles respectifs et le programmer dans un langage de haut niveau.
On propose des activités adaptées aux équipements et logiciels disponibles dans l'établissement.