PracticeVideosBlogFlashcards
All Practice Exams

Free Practice Questions for Bac Sciences de l'Informatique

Exam-style questions and explanations by OpenExamPrep.

✓ No registration✓ No credit card
100+ Questions
100% Free

Loading practice questions...

Exam Review

Key Facts: Bac Sciences de l'Informatique Exam

10.00/20

Minimum weighted average for a direct pass in the Session Principale

Ministère de l'Éducation

22 TND

Registration fee paid by electronic fiscal stamp

Ministère de l'Éducation

Coeff 3

Algorithmique et programmation (2 written + 1 practical), STI and Mathématiques each carry coefficient 3

Arrêté du 24 avril 2008 (as amended)

3–10 June 2026

Written papers of the 2026 Session Principale

Ministère de l'Éducation

Tunisia's Bac Sciences de l'Informatique combines written and practical papers marked out of 20, with a 10.00/20 pass threshold in the Session Principale. This independent 100-question English MCQ bank reviews algorithms, databases, web technologies, applied mathematics and physics.

Sample Bac Sciences de l'Informatique Practice Questions

Try these sample questions to review concepts for the Bac Sciences de l'Informatique exam. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1In algorithmic modular design, what is the primary difference between passing a parameter by value and passing a parameter by reference (variable)?
A.Passing by value creates a local copy so changes do not affect the caller, while passing by reference shares memory so modifications update the caller's variable.
B.Passing by value allows the subroutine to modify the caller's variable directly, while passing by reference prevents any local modification.
C.Passing by value can only be used with numeric data types, whereas passing by reference is restricted to string and array data structures.
D.Passing by reference duplicates the variable in a new memory address, whereas passing by value sends only the memory pointer.
Explanation: When a parameter is passed by value (donnée), the subroutine operates on an independent local copy; any modifications remain confined to that subroutine. In contrast, passing by reference (variable / résultat) transmits the caller variable's memory address, meaning changes made inside the subroutine directly update the original argument.
2What is the worst-case time complexity of the binary search (recherche dichotomique) algorithm executed on a sorted 1D array containing n elements?
A.O(1)
B.O(log n)
C.O(n)
D.O(n^2)
Explanation: Binary search repeatedly divides the search space in half with each comparison. As a result, the maximum number of steps required to locate a target element or determine its absence in an array of size n is proportional to log2(n), giving a worst-case time complexity of O(log n).
3In selection sort (tri par sélection) applied to an array of n elements, how many key comparisons are performed in total?
A.Exactly n comparisons in all cases
B.n * log2(n) comparisons
C.n(n − 1)/2 comparisons in every case
D.0 comparisons if the array is already sorted
Explanation: Selection sort always compares the current minimum candidate against every remaining unsorted element, regardless of initial array ordering. For an array of size n, the total comparisons equal (n - 1) + (n - 2) + ... + 1 = n * (n - 1) / 2, resulting in a consistent Theta(n^2) comparison count.
4Consider the following Python code snippet: numbers = [10, 20, 30, 40, 50] result = numbers[1:4] What is the value of result?
A.[10, 20, 30]
B.[20, 30]
C.[10, 20, 30, 40]
D.[20, 30, 40]
Explanation: Python slice notation [start:stop] is zero-indexed and non-inclusive of the stop index. Here, index 1 corresponds to 20, index 2 to 30, and index 3 to 40; extraction stops before index 4 (50), yielding [20, 30, 40].
5What is the best-case time complexity of an optimized bubble sort (tri à bulles) that incorporates a boolean flag to track whether any swaps occurred during a pass?
A.O(n)
B.O(log n)
C.O(n log n)
D.O(n^2)
Explanation: When the input array is already sorted, the optimized bubble sort performs a single pass of (n - 1) comparisons, detects that no swaps took place via the boolean flag, and immediately terminates. This single linear pass yields a best-case time complexity of O(n).
6In recursive programming, what is the essential role of the base case (condition d'arrêt)?
A.To optimize the execution speed by executing multiple recursive calls simultaneously
B.To stop the chain of recursive calls and avoid a stack overflow
C.To allocate dynamic heap memory for every parameter passed to the subroutine
D.To convert recursive subroutines automatically into iterative while loops
Explanation: The base case establishes the termination condition where the function can return a direct, non-recursive answer. Without a reachable base case, recursive calls continue indefinitely until the call stack memory is exhausted, triggering a stack overflow error (RecursionError in Python).
7Consider the following recursive Python function: def calc(n): if n <= 1: return 1 return n * calc(n - 1) What is the return value of calc(4)?
A.10
B.16
C.24
D.120
Explanation: Tracing the recursive execution yields: calc(4) = 4 * calc(3) = 4 * (3 * calc(2)) = 4 * 3 * (2 * calc(1)) = 4 * 3 * 2 * 1 = 24. This implements the standard factorial function 4! = 24.
8In Python, given a 2D matrix represented as a list of lists: matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] Which expression retrieves the element 6 located at row index 1 and column index 2?
A.matrix[2, 1]
B.matrix[2][1]
C.matrix[1, 2]
D.matrix[1][2]
Explanation: Standard Python lists use sequential subscripting matrix[row][col]. Row index 1 accesses the second sublist [4, 5, 6], and column index 2 selects the third element of that sublist, which is 6.
9What is the advantage of accessing a dictionary value using `d.get(key, default)` instead of `d[key]` in Python?
A.`d.get(key, default)` returns the default if the key is missing, whereas `d[key]` raises a KeyError.
B.`d.get(key, default)` permanently inserts the key with the default value into the dictionary if it is not present.
C.`d.get(key, default)` runs in O(log n) time complexity, whereas `d[key]` requires O(n) linear search.
D.`d.get(key, default)` allows accessing multiple keys simultaneously using a tuple parameter.
Explanation: Direct indexing `d[key]` raises a KeyError when the specified key is absent. In contrast, `d.get(key, default)` safely handles missing keys by returning the supplied default value (or None if omitted) without raising an exception and without modifying the dictionary.
10What is the worst-case time complexity of insertion sort (tri par insertion), and under what input condition does this worst case occur?
A.O(n log n), occurring when elements are uniformly distributed
B.O(n^2), occurring when the input array is sorted in reverse order
C.O(n), occurring when all elements in the array are identical
D.O(n^2), occurring when the input array is already sorted in ascending order
Explanation: In insertion sort, each new element is shifted backward through the already sorted subarray until its correct position is found. If the array is sorted in reverse order, every element must be compared against and shifted past all preceding elements, resulting in 1 + 2 + ... + (n - 1) = n * (n - 1) / 2 operations, giving O(n^2).

About the Bac Sciences de l'Informatique Exam

The Tunisian Baccalauréat — Section Sciences de l'Informatique is the national secondary-school-leaving and university-entrance examination for the computer science stream, administered by the Direction Générale des Examens of the Ministère de l'Éducation. Its specialist papers are Algorithmique et programmation (written and practical) and Sciences et technologies de l'informatique, whose 2026 paper covered relational databases and web programming, alongside mathematics, physical sciences, languages, philosophy and sport. This resource is an independent English-language MCQ study adaptation for reviewing algorithms, databases, web technologies, applied mathematics and physics; it is not an official paper or translation.

Exam sponsor: Ministère de l'Éducation (Direction Générale des Examens), République Tunisienne. The requirements and fees below concern the certification or admission exam, separate from our free practice resources.

Assessment

Official coefficients: Mathématiques 3, Algorithmique et programmation 3 (2 written + 1 practical), Sciences et technologies de l'informatique 3, Sciences physiques 2, and Français, Anglais, Philosophie, Arabe and Sport 1 each (total 16). An optional subject adds only the points above 10/20. Written papers are sat in the June Session Principale (2026: 3–10 June); candidates averaging 7.00–9.99/20 sit the Session de Contrôle (2026: 29 June–2 July), where the better of the two marks counts for each subject retaken. This bank is an independent English-language MCQ study adaptation, not an official translation or format simulation.

Time Limit

Written papers in the June Session Principale (2026: 3–10 June); durations vary by subject (e.g., the written Algorithmique et programmation paper lasts 3 h), plus practical computer-lab papers

Passing Score

10.00/20 composite weighted average for direct pass (Session Principale); 7.00–9.99/20 qualifies for Session de Contrôle

Exam / Certification Fees

22 TND (electronic fiscal stamp / timbre fiscal électronique)

Exam sponsor website

Fees, eligibility, and exam policies can change. Confirm them with the exam sponsor before applying or paying.

Official sources

Our practice resources: topics covered

We aim to reflect publicly available exam outlines and topic information in our study resources. Coverage, format, and difficulty may differ from the actual exam, and we cannot guarantee that every detail is accurate or current. Confirm exam requirements, fees, and policies with the official exam sponsor.

~35% of this bank

Algorithms & Programming

Modular algorithms (functions and procedures), parameter passing, arrays, records and files, sorting and searching, recursion, and complexity.

~22% of this bank

Databases

Relational model, keys and integrity constraints, converting entity-association diagrams, normalization, and SQL definition and query statements (joins, GROUP BY and HAVING).

~8% of this bank

Web Technologies

HTML forms and semantic tags, CSS, JavaScript event handling and server-side PHP with SQL.

~20% of this bank

Applied Mathematics & Logic

Analysis, matrices, graphs (Euler chains, shortest paths), Boolean logic and number representation.

~15% of this bank

Physics

RC circuits, passive and active filters, operational amplifiers, analog-to-digital conversion, AM and FM modulation, electrolysis and oxidation of alcohols.

Preparing for the Bac Sciences de l'Informatique Exam

What You Need to Know

  • Passing score: 10.00/20 composite weighted average for direct pass (Session Principale); 7.00–9.99/20 qualifies for Session de Contrôle
  • Assessment: Official coefficients: Mathématiques 3, Algorithmique et programmation 3 (2 written + 1 practical), Sciences et technologies de l'informatique 3, Sciences physiques 2, and Français, Anglais, Philosophie, Arabe and Sport 1 each (total 16). An optional subject adds only the points above 10/20. Written papers are sat in the June Session Principale (2026: 3–10 June); candidates averaging 7.00–9.99/20 sit the Session de Contrôle (2026: 29 June–2 July), where the better of the two marks counts for each subject retaken. This bank is an independent English-language MCQ study adaptation, not an official translation or format simulation.
  • Time limit: Written papers in the June Session Principale (2026: 3–10 June); durations vary by subject (e.g., the written Algorithmique et programmation paper lasts 3 h), plus practical computer-lab papers
  • Exam / certification fees: 22 TND (electronic fiscal stamp / timbre fiscal électronique) Official sources

Using Our Practice Resources

  • Work through all 100 available questions
  • Review every answer and explanation
  • Track weak areas and revisit them
  • Use our AI tutor for tough concepts

Bac Sciences de l'Informatique: Suggested Study Strategy

1Trace algorithms step by step on paper, checking base cases and the values returned by functions.
2Practise converting entity-association diagrams into relational schemas with the correct primary and foreign keys.
3Review SQL aggregate queries and the difference between WHERE (row filtering) and HAVING (group filtering).
4Write small HTML forms with JavaScript checks and a PHP script that queries a database.
5In physics, review RC time constants, filter cutoff frequencies and the principles of AM and FM modulation.

Frequently Asked Questions

What is the Tunisian Baccalauréat Sciences de l'Informatique?

It is one of the seven sections of the Tunisian Baccalauréat, centred on algorithms and programming, information technology (databases and web programming), mathematics and physical sciences.

Who administers the Tunisian Baccalauréat?

The examination is administered nationally by the Direction Générale des Examens of the Tunisian Ministère de l'Éducation.

What is the registration fee?

Candidates pay 22 Tunisian dinars by electronic fiscal stamp (timbre fiscal électronique) when registering online.

What does the Sciences et technologies de l'informatique paper cover?

The 2026 paper had a databases part (relational schema, constraints and SQL) and a web programming part (HTML, CSS, JavaScript and PHP); this bank's STI questions follow the same two areas.

Is this practice question bank an official Tunisian Ministry exam paper?

No. It is an independent English-language MCQ study adaptation for conceptual revision. It does not reproduce the written and practical format of the official papers, so practise with official past papers as well.