France · Programmes Officiels
Terminale Numérique et sciences informatiques.
L'enseignement de spécialité Numérique et sciences informatiques (NSI) en classe de terminale permet aux élèves d'approfondir leurs connaissances en informatique. Il prépare à l'enseignement supérieur en développant l'abstraction, la modélisation et la maîtrise des concepts algorithmiques et de programmation.

01Structures de données
Étude des structures de données abstraites et de leurs implémentations pour organiser et traiter l'information de manière efficace.
Étude des listes, piles et files, ainsi que de leurs implémentations. Compréhension des interfaces et de la séparation entre spécification et implémentation.
Découverte des arbres hiérarchiques, des arbres binaires et des arbres binaires de recherche. Calcul de la taille et de la hauteur d'un arbre.
Modélisation de relations à l'aide de graphes orientés et non orientés. Représentation par matrices d'adjacence et listes de successeurs.

02Bases de données
Découverte du modèle relationnel et du langage SQL pour la structuration, l'interrogation et la gestion des données persistantes.
Introduction au modèle relationnel, aux tables, attributs et clés. Compréhension des contraintes d'intégrité et des clés étrangères.
Interrogation et manipulation de bases de données relationnelles à l'aide du langage SQL. Réalisation de requêtes simples et de jointures.
Rôle du SGBD dans la persistance, la sécurité et la concurrence des accès. Sensibilisation aux enjeux de confidentialité.

03Architectures matérielles, systèmes d'exploitation et réseaux
Compréhension du fonctionnement des systèmes sur puce, de la gestion des processus par l'OS et des protocoles de routage réseau.
Étude des systèmes sur puce (SoC) intégrant processeur, mémoire et périphériques. Avantages en termes de coût et de consommation.
Rôle du système d'exploitation dans la gestion des processus. Ordonnancement, états d'un processus et situations d'interblocage.
Fonctionnement des réseaux TCP/IP et des routeurs. Étude des algorithmes de routage RIP et OSPF.
Principes de base de la cryptographie symétrique et asymétrique. Sécurisation des échanges sur Internet (HTTPS).

04Langages et programmation
Approfondissement des concepts de programmation, incluant la récursivité, la modularité et les différents paradigmes de programmation.
Compréhension et écriture de fonctions récursives. Analyse de la pile d'exécution et des conditions d'arrêt.
Utilisation d'API, de bibliothèques et de modules. Pratiques de tests (assertions, tests unitaires) et documentation du code.
Découverte des différents paradigmes : impératif, fonctionnel et objet. Sensibilisation à l'impact du choix du paradigme sur la conception.

05Algorithmique
Conception et analyse d'algorithmes avancés sur les structures de données, et découverte de nouvelles méthodes de résolution de problèmes.
Parcours d'arbres (préfixe, infixe, suffixe, en largeur). Recherche, insertion et suppression dans un arbre binaire de recherche.
Parcours de graphes en largeur et en profondeur. Recherche de chemins, détection de cycles et applications pratiques.
Principe de la méthode diviser pour régner. Application au tri fusion et analyse de la complexité algorithmique.
Introduction à la programmation dynamique pour l'optimisation. Résolution de problèmes classiques comme le rendu de monnaie ou l'alignement de séquences.