Le programme est composé des parties et sous-parties suivantes. Les sujets du baccalauréat garantiront que les élèves pourront choisir 3 exercices en évitant les parties en gras s’ils le souhaitent, et en se concentrant sur les « entrées prépondérantes » du programme.
1. Histoire de l’informatique
- Événements clés de l’histoire de l’informatique.
2. Structures de données
- Structures de données, interface et implémentation.
- Vocabulaire de la programmation objet : classes, attributs, méthodes, objets.
- Listes, piles, files : structures linéaires. Dictionnaires, index et clé.
- Arbres : structures hiérarchiques. Arbres binaires : noeuds, racines, feuilles, sous-arbres gauches, sous-arbres droits.
- Graphes : structures relationnelles. Sommets, arcs, arêtes, graphes orientés ou non orientés.
3. Bases de données
- Modèle relationnel : relation, attribut, domaine, clef primaire, clef étrangère, schéma relationnel.
- Base de données relationnelle.
- Système de gestion de bases de données relationnelles.
- Langage SQL : requêtes d’interrogation et de mise à jour d’une base de données.
4. Architectures matérielles, systèmes d’exploitation et réseaux
- Composants intégrés d’un système sur puce.
- Gestion des processus et des ressources par un système d’exploitation.
- Protocoles de routage (les liens avec les graphes ne sont plus dans le programme limitatif).
- Sécurisation des communications.
5. Langages et programmation
- Notion de programme en tant que donnée. Calculabilité, décidabilité.
- Récursivité.
- Modularité.
- Paradigmes de programmation.
- Mise au point des programmes. Gestion des bugs.
6. Algorithmique
- Algorithmes sur les arbres binaires et sur les arbres binaires de recherche.
- Algorithmes sur les graphes.
- Méthode « diviser pour régner ».
- Programmation dynamique.
- Recherche textuelle.
Document diffusé par les IA-IPR en charge de NSI dans les académies.