La NSI (Numérique et Sciences Informatiques) est une spécialité du lycée français qui gagne en popularité dans les écoles AEFE de Montréal, notamment au Lycée Marie de France et au Collège Stanislas. Pour les élèves qui la choisissent, elle ouvre des portes vers l’ingénierie, l’informatique et les sciences des données. Voici comment bien préparer ses épreuves, avec le programme en vigueur, celui de 2019, et le format d’épreuve tel qu’il s’applique depuis la session 2024.

Ce qu’évalue la NSI au Baccalauréat

L’épreuve de NSI au Baccalauréat comprend deux parties, et les deux comptent.

L’épreuve écrite dure 3 h 30 et comporte trois exercices, notés sur 12 points au total. Chaque exercice mêle plusieurs parties du programme : une structure de données, une requête SQL, un protocole réseau, un algorithme à compléter en Python. Une chose a changé et beaucoup d’élèves ne le savent pas : la liste des parties exclues, publiée en 2021, est abrogée depuis la session 2024. Tout le programme de Terminale peut tomber à l’écrit, les graphes, la programmation dynamique et la recherche textuelle de Boyer-Moore compris. Réviser en laissant de côté « ce qui ne tombe jamais » est un pari perdu d’avance. Pour la session 2027, la qualité de la langue écrite compte aussi, pour 2 points.

L’épreuve pratique dure 1 heure, sur ordinateur, et vaut 8 points. L’élève tire deux exercices d’une banque publique, publiée chaque année avant l’épreuve : le premier demande d’écrire une fonction complète à partir d’un énoncé, le second demande de compléter un programme à trous puis de le tester. La banque est publique, donc préparable de bout en bout, et pourtant c’est la partie la plus souvent sous-préparée.

Le programme de Première NSI

En Première, le programme se lit en sept chapitres, et c’est aussi le découpage du hub de NSI en Première, chaque chapitre ayant sa série corrigée et sa fiche.

Les bases de Python : types, structures de contrôle, fonctions, tableaux. Tout le reste s’écrit dessus, et la série sur les bases de Python est le bon endroit pour vérifier que les réflexes sont là.

Représentation des données : entiers en base 2 et 16, entiers relatifs, nombres flottants et leurs approximations, texte en ASCII et Unicode, valeurs et expressions booléennes. Comprendre comment les données sont stockées en machine est fondamental.

Algorithmique : parcours séquentiel d’un tableau, tris par insertion et par sélection, recherche dichotomique, complexité en O(n) et O(n²), et deux méthodes que les élèves rangent à tort en Terminale, les algorithmes gloutons et les k plus proches voisins, qui sont bien au programme de Première. La preuve d’un algorithme, avec la terminaison par un variant et la correction par un invariant, est attendue dès cette année.

Traitement de données en tables : types construits (p-uplets, tableaux, dictionnaires), fichiers CSV, recherche, tri et fusion de tables.

Interactions homme-machine sur le Web : pages HTML, formulaires, événements, dialogue client-serveur et protocole HTTP.

Architectures matérielles, systèmes et réseaux : architecture de von Neumann, système d’exploitation, protocoles TCP/IP, adressage.

La récursivité, elle, n’est pas au programme de Première : elle arrive en Terminale.

Le programme de Terminale NSI

En Terminale, le programme monte en complexité. Le hub de NSI en Terminale porte six chapitres plus une révision d’algorithmique, chacun avec sa série et sa fiche.

Structures de données : listes, piles, files, dictionnaires, arbres binaires et arbres binaires de recherche, graphes. Les arbres équilibrés (AVL, rouge-noir) ne sont pas au programme : le texte officiel se contente de signaler que la recherche dans un arbre équilibré est de coût logarithmique. Ces structures sont au coeur de l’épreuve écrite, et la fiche sur les piles, files, arbres et graphes les résume avec leurs opérations et leurs coûts.

Bases de données : modèle relationnel, clés primaires et étrangères, requêtes SQL avec SELECT, WHERE, JOIN, ORDER BY, et les mises à jour avec INSERT, UPDATE et DELETE. Les clauses GROUP BY et HAVING sont explicitement exclues du programme. Les exercices de SQL sont fréquents aux épreuves, et la série sur les bases de données et SQL en donne une dizaine avec correction.

Langages et programmation : récursivité, programmation orientée objet en Python (classes, attributs, méthodes ; l’héritage et le polymorphisme sont exclus), modularité, mise au point et tests, calculabilité et problème de l’arrêt.

Algorithmique avancée : parcours de graphes en largeur et en profondeur, diviser pour régner, programmation dynamique.

Recherche textuelle : l’algorithme de Boyer-Moore, longtemps laissé de côté parce qu’il figurait sur la liste des parties exclues, et qui peut tomber depuis 2024.

Architectures, systèmes et réseaux : processus et ordonnancement, protocoles de routage, sécurisation des communications (chiffrement symétrique et asymétrique, HTTPS).

Les erreurs fréquentes en NSI

Négliger l’épreuve pratique

Beaucoup d’élèves se concentrent sur la théorie et arrivent à l’épreuve pratique sans avoir suffisamment codé. Or cette épreuve demande de produire du code fonctionnel en une heure. La banque étant publique, la seule façon de la préparer est de pratiquer régulièrement sur ses exercices.

Confondre algorithme et programme

Un algorithme est une description abstraite d’une méthode. Un programme est son implémentation dans un langage. En NSI, les deux sont évalués séparément. Savoir écrire un algorithme en pseudocode avant de le coder en Python est une compétence attendue.

Apprendre les structures de données par coeur sans comprendre leur utilité

Une pile est utile pour gérer des appels récursifs. Un arbre binaire de recherche est utile pour des recherches efficaces. Savoir pourquoi on utilise telle structure plutôt qu’une autre est aussi important que de savoir l’implémenter.

Sous-estimer SQL

Les requêtes SQL apparaissent souvent à l’écrit et sont bien notées. Ce n’est pas un domaine difficile, mais il demande de la pratique pour écrire des requêtes correctes rapidement.

Comment réviser efficacement

Faire les sujets des sessions précédentes

Les annales de NSI sont disponibles sur les sites officiels. Les épreuves sont relativement standardisées : s’entraîner sur de vrais sujets est la meilleure préparation. Attention aux sujets antérieurs à 2024, qui évitaient les parties alors exclues : ils ne couvrent pas tout ce qui peut tomber aujourd’hui.

Coder tous les jours

Même 20 à 30 minutes de programmation Python par jour dans les semaines qui précèdent l’épreuve pratique font une différence importante. Refaire les exercices du cours à partir de zéro est une bonne approche.

Faire des fiches sur les structures de données

Pour chaque structure (pile, file, arbre, graphe), avoir une fiche avec : définition, opérations de base, complexité des opérations, et un exemple d’implémentation en Python. Les fiches de révision du site suivent exactement ce plan, chapitre par chapitre, de Première et de Terminale.

Réviser SQL avec des exercices

Une heure à écrire des requêtes vaut mieux que plusieurs heures à relire des notes. Pour les élèves qui veulent un suivi structuré, un tuteur NSI à Montréal avec une vraie formation en informatique peut accélérer la mise en place des bons réflexes en algorithmique et en programmation Python.

NSI et après

Les élèves qui choisissent NSI et la maîtrisent bien ont un avantage réel pour la suite, qu’ils visent une classe préparatoire (MP2I, MPI), une école d’ingénieurs ou une licence informatique. La NSI pose des bases solides en algorithmique et en structures de données que beaucoup d’étudiants n’ont pas en arrivant en première année de l’enseignement supérieur.

Pour aller plus loin