Préparez vos épreuves écrites et pratiques de NSI avec notre guide complet : Python, algorithmes, structures de données, bases de données, réseaux.
📅 Créer mon planning gratuitLa spécialité Numérique et Sciences Informatiques (NSI) au Bac 2026 est la voie royale pour poursuivre en informatique, data science, cybersécurité ou écoles d'ingénieurs informatiques. Contrairement à Mathématiques, NSI est plus accessible car elle valorise la pratique et la résolution de problèmes plutôt que les calculs purs.
NSI au Bac offre une véritable formation informatique : vous apprenez Python (le langage n°1 en data science et IA), les algorithmes, les structures de données, les bases de données SQL, et les réseaux. Ces compétences sont immédiatement employables et très demandées par les entreprises.
Avec un coefficient 16, NSI pèse lourd dans votre note finale. La bonne nouvelle ? Contrairement aux maths, il y a une épreuve pratique (EP) où vous programmez directement. Si vous êtes à l'aise avec Python, vous pouvez scorer très haut.
NSI comprend deux épreuves au Bac 2026 :
Le coefficient total pour NSI est 16 (à raison de 10/16 pour l'écrit et 6/16 pour la pratique). Cela rend l'épreuve pratique très importante : une bonne performance en EP peut rattraper une performance moyenne à l'écrit.
| Épreuve | Durée | Type | Poids |
|---|---|---|---|
| Écrite (QCM + exercices) | 3h30 | Questions de cours + problèmes | ⅔ |
| Pratique (Programmation) | 2h | 2 exercices Python à coder | ⅓ |
| Total | 5h30 | Coef 16 |
Le programme NSI est organisé en 5 thèmes fondamentaux. Vous devez maîtriser chacun d'eux.
Listes et tableaux : représentation en mémoire, opérations (ajout, suppression), complexité, accès aléatoire vs séquentiel. En Python : les listes (dynamiques), tuples (fixes), et tableaux NumPy.
Piles et files : structure LIFO (Last In First Out) pour les piles, FIFO (First In First Out) pour les files. Applications : vérification de parenthèses, parcours en profondeur d'arbres, gestion des processus.
Arbres binaires et généraux : définitions (nœud, arête, feuille, profondeur, hauteur), parcours (inordre, préordre, postordre), arbres binaires de recherche, arbres équilibrés. Implémentation en Python avec classes.
Graphes : représentation (matrice d'adjacence, liste d'adjacence), propriétés (connexe, cyclique, orienté), poids. Très important pour l'Épreuve Pratique.
Dictionnaires et hash tables : tables de hachage (clés → valeurs), résolution des collisions, complexité moyenne O(1). En Python : le dictionnaire natif utilise le hachage.
Recherche et tri : recherche linéaire O(n), recherche dichotomique O(log n), tri par insertion O(n²), tri fusion O(n log n), tri rapide O(n log n) en moyenne. Les tris rapides et fusion sont au programme.
Récursion : fonctions qui s'appellent elles-mêmes, cas de base et cas récursif, pile d'appels. Exercice classique : factorielle, suite de Fibonacci, parcours d'arbre. Crucial pour l'EP.
Programmation dynamique : résolution par mémoïsation, problème du sac à dos, chemin minimal. Moins prioritaire que récursion mais peut apparaître.
Graphes et chemins : parcours DFS (profondeur), BFS (largeur), recherche du plus court chemin (Dijkstra en option). Très attendu au Bac.
Python 3 : syntaxe complète, structures de contrôle (if/else, boucles for/while), fonctions, classes et objets, gestion des exceptions (try/except), modules standard (math, random, collections, heapq).
Bonnes pratiques : lisibilité du code, commentaires, noms de variables explicites, éviter le code dupliqué. À l'examen, les correcteurs apprécient un code propre et lisible.
Débogage : savoir identifier et corriger les bugs, utiliser print() ou un débogueur, tester avec des cas limites. L'EP teste votre capacité à déboguer du code.
Modèle relationnel : tables, schéma, relations, clés primaires/étrangères, intégrité référentielle. Concept fondamental pour comprendre les bases de données.
SQL : requêtes SELECT, INSERT, UPDATE, DELETE, JOIN (INNER, LEFT, RIGHT), agrégations (COUNT, SUM, AVG, GROUP BY), sous-requêtes. SQL est moins testé que Python mais peut aparaître.
Interactions Python-SQL : se connecter à une base de données SQLite depuis Python, exécuter des requêtes, récupérer les résultats. Peut être testée dans l'EP.
Architecture Internet : modèle client-serveur, protocoles TCP/IP, adresses IP, ports, DNS. Fonctionnement de requêtes HTTP/HTTPS vers un serveur web.
HTML et CSS : structure d'une page web, balises HTML, feuilles de style CSS. Moins prioritaire mais notion basique.
Programmation d'interfaces : créer des interfaces graphiques (tkinter en Python) ou web (HTML + JavaScript). Peut être testé mais pas systématiquement.
Historique et évolution du numérique : histoire des ordinateurs, d'Internet, du web, des algorithmes. Questions culturelles possibles à l'écrit.
NSI n'est pas une matière à apprendre par cœur. Vous devez coder tous les jours. Résolvez des exercices Python : commencez par des exercices simples sur Codingame ou Project Euler, puis progressez vers des algorithmes plus complexes. Lors du Bac, vous aurez besoin de cette fluidité.
80% de l'épreuve pratique teste : (1) parcours de listes/arbres, (2) récursion, (3) tris, (4) recherche, (5) structures de données. Entraînez-vous à implémenter ces algorithmes en Python sans aide jusqu'à la fluidité.
Ne mémorisez pas la théorie des arbres ou graphes : implémentez-les en Python. Créez une classe Nœud, une classe Arbre, une classe Graphe. Comprenez comment les opérations (ajout, suppression, recherche) fonctionnent. C'est beaucoup plus utile que de réciter des définitions.
Les vrais sujets de l'épreuve pratique sont disponibles en ligne. Résolvez les 5-10 dernières années en conditions d'examen : 2h, pas d'aide, que Python 3 + documentation. Chronométrez-vous pour gérer le temps.
Bien que moins prioritaire que Python, connaître SQL SELECT, WHERE, JOIN est utile. Pratiquez sur SQLZoo ou w3schools. Vous ne aurez probablement qu'1-2 questions SQL au Bac écrit.
💡 Astuce examen pratique : Lors de l'EP, commencez par lire les deux exercices. Identifiez celui qui vous semble le plus facile et codez-le d'abord. Cela vous donne confiance et points rapides. Ensuite, attaquez le plus difficile avec 45 min de concentration intense.
Deux algorithmes O(n log n) divisant pour régner. Implémentez-les en Python, comprenez leur complexité et quand les utiliser. Tri rapide est plus rapide en pratique.
Rechercher un élément dans une liste triée en O(log n). Fondamental pour comprendre la différence entre O(n) et O(log n).
Parcourir tous les nœuds d'un arbre en profondeur, généralement par récursion. Essentiellement pour les problèmes d'arbres.
Parcourir un graphe en largeur avec une file. Permet de trouver le plus court chemin en nombre d'arêtes (non-pondéré).
Utiliser un dictionnaire pour mémoriser les résultats déjà calculés. Exemple : Fibonacci. Économise une complexité exponentielle.
À l'examen pratique, la clarté du code compte. Utilisez des noms de variables explicites et commentez les logiques complexes.
Testez votre code avec des exemples simples en premier. Vérifiez les cas limites (listes vides, élément non trouvé).
En 2h d'épreuve pratique, vous avez ~60 min par exercice. Allouez 10 min au brouillon, 40 min de coding, 10 min de relecture.
À l'examen, une documentation Python est fournie. Entraînez-vous à l'utiliser pour les fonctions natives (sorted, list.append, etc.).
Le programme NSI couvre : structures de données (listes, arbres, graphes, tas), algorithmes (tri, recherche, récursion), programmation en Python, bases de données et requêtes SQL, réseaux informatiques (protocoles TCP/IP, architecture client-serveur), interfaces utilisateur et programmation événementielle, historique du numérique.
L'épreuve pratique dure 1h en salle informatique. Vous recevez deux exercices de programmation Python à résoudre avec Python 3 fourni par l'examen. Les exercices testent votre capacité à implémenter des algorithmes, manipuler des structures de données et déboguer du code. Aucune aide externe n'est permise.
Pratiquez Python au moins 1h par jour en résolvant des exercices. Utilisez des sites comme Codingame, Project Euler ou LeetCode. Apprenez les structures classiques (listes, dictionnaires, tuples), les fonctions, la récursion et la gestion des fichiers. Lors du Bac, vous pouvez utiliser la documentation Python fournie.
Les algorithmes à maîtriser : tri (tri rapide, tri fusion), recherche (recherche dichotomique), parcours de graphes (DFS, BFS), programmation dynamique (problème du sac à dos), calcul de plus court chemin (Dijkstra en option). Ces 5 types d'algorithmes couvrent 80% de l'épreuve pratique.
NSI en spécialité de Terminale a un coefficient 16 : 3h30 pour l'épreuve écrite + 2h pour l'épreuve pratique (EP). C'est une matière très importante pour votre note finale, surtout si vous visez des études en informatique ou écoles d'ingénieurs.
La clé pour réussir NSI au Bac 2026 est la pratique régulière de Python + la compréhension des algorithmes. Créez un planning qui vous aide à couvrir tous les thèmes progressivement. SiteÉtudiants génère un planning gratuit et personnalisé en 2 minutes.
📅 Créer mon planning Bac 2026Vous hésitez encore sur vos spécialités ? Consultez notre guide d'orientation pour le lycée ou le programme complet du Bac 2026.