Career upgrade: Learn practical AI skills for better jobs and higher pay.
Level up
All Practice Exams

100+ Free Bac NSI Practice Questions

Pass your Baccalaureat General - Specialite Numerique et Sciences Informatiques (NSI) exam on the first try — instant access, no signup required.

✓ No registration✓ No credit card✓ No hidden fees✓ Start practicing immediately
100+ Questions
100% Free
1 / 100
Question 1
Score: 0/0

When pushing the values 3, 7, then 5 onto an initially empty stack and then performing one pop, which value is returned?

A
B
C
D
to track
2026 Statistics

Key Facts: Bac NSI Exam

France's terminale computer-science specialism: a 3h30 written paper (15 pts, three exercises) plus a ~1h practical Python test (5 pts), coefficient 16, on data structures, algorithmics, SQL and networks.

Sample Bac NSI Practice Questions

Try these sample questions to test your Bac NSI exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1In a stack (pile) implementing the LIFO discipline, which element is removed by a pop (dépiler) operation?
A.The element added most recently
B.The element added first
C.The element with the smallest value
D.A randomly chosen element
Explanation: A stack follows Last In, First Out (LIFO): the dépiler operation removes and returns the element that was empiled (pushed) most recently. The top of the stack is always the last element added.
2A queue (file) follows which discipline?
A.LIFO (Last In, First Out)
B.FIFO (First In, First Out)
C.Sorted by priority
D.Random access by index
Explanation: A queue (file d'attente) follows First In, First Out (FIFO): elements are enfilé (enqueued) at the rear and défilé (dequeued) from the front, so the oldest element leaves first, like a line of people.
3In Python, which expression correctly retrieves the value associated with key 'age' in a dictionary d, raising no error if the key is present?
A.d.age
B.d(age)
C.d['age']
D.d->age
Explanation: Python dictionaries are accessed with square-bracket key indexing: d['age'] returns the value bound to the key 'age'. Keys are passed as objects (here a string), not as attributes.
4What is the height of a binary tree consisting of a single root node with no children, using the convention that a single node has height 0?
A.Undefined
B.1
C.2
D.0
Explanation: Under the common French NSI convention, the height of a tree is the length of the longest path (number of edges) from the root to a leaf. A tree with only the root has no edges, so its height is 0.
5In a binary search tree (arbre binaire de recherche, ABR), what property holds for every node?
A.All keys in the left subtree are less than the node's key and all keys in the right subtree are greater
B.All keys in the left subtree are greater than the node's key
C.The tree is always perfectly balanced
D.Each node has exactly two children
Explanation: A binary search tree maintains the ordering invariant: for any node, every key in its left subtree is smaller than the node's key, and every key in its right subtree is larger. This makes search, insertion, and in-order traversal efficient.
6An in-order (infixe) traversal of a binary search tree visits the keys in which order?
A.Decreasing order
B.Increasing (sorted) order
C.Level-by-level order
D.Random order
Explanation: An in-order traversal of a BST processes the left subtree, then the node, then the right subtree. Because of the ABR ordering invariant, this visits keys in increasing (sorted) order, which is a common exam result.
7A complete binary tree of height h (edge convention) contains at most how many nodes?
A.h nodes
B.2h nodes
C.2^(h+1) - 1 nodes
D.h^2 nodes
Explanation: A perfect binary tree of height h has all levels full. Level i (for i from 0 to h) holds 2^i nodes, so the total is 2^0 + 2^1 + ... + 2^h = 2^(h+1) - 1 nodes.
8A graph (graphe) in which every edge has a direction is called what?
A.An undirected graph (graphe non orienté)
B.A weighted graph
C.A complete graph
D.A directed graph (graphe orienté)
Explanation: A directed graph (graphe orienté) has edges (arcs) with an orientation from one vertex to another. Following an arc is only allowed in its direction, unlike an undirected graph where edges can be traversed both ways.
9When representing a graph by an adjacency matrix (matrice d'adjacence) for n vertices, the matrix has which dimensions?
A.n x n
B.n x 1
C.2 x n
D.n x (n-1)
Explanation: An adjacency matrix uses one row and one column per vertex, so it is an n x n matrix. Entry (i, j) is 1 (or the weight) if there is an edge from vertex i to vertex j, and 0 otherwise.
10What data structure is typically used to implement a breadth-first search (parcours en largeur, BFS) of a graph?
A.A stack (pile)
B.A queue (file)
C.A binary search tree
D.A dictionary only
Explanation: Breadth-first search explores vertices level by level. A queue (file) stores the vertices to visit next in FIFO order, ensuring that closer vertices are processed before more distant ones.

About the Bac NSI Exam

The Specialite Numerique et Sciences Informatiques (NSI) is a computer-science specialism of the French baccalaureat general, taken in terminale with a coefficient of 16. The assessment has two parts: a 3-hour-30 written paper of three independent exercises worth 15 points, and a roughly one-hour practical Python programming test worth 5 points. The terminale programme covers data structures, algorithmics, languages and programming, relational databases with SQL, and hardware, operating systems and networks. Python is the reference programming language and SQL is used for databases. From the 2026 session the practical exam adopts a new format in which the candidate programs an application from a supplied document while explaining and justifying their approach to an examiner.

Questions

100 scored questions

Time Limit

Written: 3 hours 30 minutes; Practical: about 1 hour

Passing Score

Marked out of 20 (written 15 points, practical 5 points); coefficient 16 toward a bac awarded at an average of 10/20.

Exam Fee

No specific fee; covered by the free national baccalaureat for enrolled students. (Ministere de l'Education nationale (DGESCO / Eduscol))

Bac NSI Exam Content Outline

22%

Structures de donnees

Stacks, queues, dictionaries, trees, binary search trees, graphs and their representations and traversals.

24%

Algorithmique

Divide and conquer, dynamic programming, greedy algorithms, searching, sorting, graph and tree traversals, complexity.

22%

Langages et programmation

Recursion, object-oriented and functional paradigms, modularity and APIs, debugging and testing, computability and decidability.

14%

Bases de donnees

Relational model, primary and foreign keys, and SQL queries including joins, filtering, and aggregation.

14%

Architectures, systemes et reseaux

Operating systems and processes, hardware and System on a Chip, routing protocols (RIP, OSPF) and TCP/IP.

4%

Securite et histoire

Securing communications, symmetric and asymmetric encryption, HTTPS, and the history of computing.

How to Pass the Bac NSI Exam

What You Need to Know

  • Passing score: Marked out of 20 (written 15 points, practical 5 points); coefficient 16 toward a bac awarded at an average of 10/20.
  • Exam length: 100 questions
  • Time limit: Written: 3 hours 30 minutes; Practical: about 1 hour
  • Exam fee: No specific fee; covered by the free national baccalaureat for enrolled students.

Keys to Passing

  • Complete 500+ practice questions
  • Score 80%+ consistently before scheduling
  • Focus on highest-weighted sections
  • Use our AI tutor for tough concepts

Bac NSI Study Tips from Top Performers

1Practice tracing Python code by hand and computing complexities (O(n), O(log n), O(n log n)) on paper, since the written exam is done without a computer.
2Master the core data structures: implement stacks, queues, dictionaries, binary search trees and graphs in Python and rehearse their traversals (DFS, BFS, prefix, infix, postfix).
3Drill SQL queries with SELECT, WHERE, JOIN, GROUP BY and aggregate functions on small relational schemas with primary and foreign keys.
4Learn the algorithmic paradigms by example: merge sort (divide and conquer), memoised Fibonacci (dynamic programming), and coin change (greedy).
5For the 2026 practical, rehearse explaining your code aloud and justifying your design choices, as the examiner now evaluates your spoken reasoning.
6Review networks and systems: routing with RIP (hops) and OSPF (cost), TCP/IP roles, processes and operating-system basics, and symmetric vs asymmetric encryption.

Frequently Asked Questions

What is the coefficient of the Bac NSI specialty?

NSI carries a coefficient of 16 toward the French baccalaureat general, making it one of the most heavily weighted specialty subjects in terminale.

How is the Bac NSI exam structured?

It has two parts: a 3-hour-30 written paper with three independent exercises worth 15 points out of 20, and a practical Python test of about one hour worth 5 points out of 20.

What changed in the NSI exam for 2026?

From the 2026 session, the practical exam uses a new format: candidates program an application from a provided document and must explain and justify their choices in spoken exchanges with an examiner. Sujets come from a national bank of 23 subjects published in March 2026.

Which programming language is used in NSI?

Python is the reference language for programming and algorithmics, while SQL is used for the relational-database part of the programme.

What topics are tested in terminale NSI?

The programme covers data structures, algorithmics, languages and programming, relational databases and SQL, and hardware, operating systems and networks, including security and the history of computing.

When is the written Bac NSI exam in 2026?

The national written exam is scheduled for 16 or 17 June 2026, while the practical is held in the candidate's school during the specialty-exam period before the written paper.