Some documents for the S7 level in ICT.

Official syllabus:

It is the 2019 syllabus which is available at the following link.

Use an online Python interpreter:

If you are working from home on a computer that does not allow the installation of any software, you can always program in Python thanks to an online interpreter: In the case where you can install something, it is probably better to do so, cf. next paragraph.

Download the Python Graphic User Interface (GUI):

The Python GUI that we use in class can be downloaded at Sourceforge is a website that provides storage for open-source projects, this means, in particular, that this software is free to use. You can click on the green button "Download", and it will download it in a few seconds.

However, it is better to use another installer for Python, as we will need to use more advanced features (for example pygame, a library which is not included in portable python). Please refer to the chapter Introduction of the book Invent Your Own Computer Games with Python (4th edition, 2017, written by Al Sweigart) to install Python3 + the pygame library.


Some of the documents shared in this section have been reproduced thanks to documents shared by other colleagues. Let them be thanked for eternity (and beyond). It is not easy to always create works ex nihilo, and their help was more than valuable.

  * Work1 (paper): Assignments.

  * Work2 (computer): First steps in Python3. Original idea : Alain SATABIN.

  * Work3 (paper, then computer): Loops.

  * (Your teacher is absent).

  * Work4: Functions.

  * Work5: Overview of what we have seen so far (for exercise 2.3 ``Give the change'', it is possible to write a greedy algorithm that starts at the biggest bill and ends at the smaller one; as a side note, try this algorithm if the set of bills we use is 1, 4 and 6€... it does not work!).

  * Test n°1 (45 minutes).
  * Work6: Arrays ; the associated file

  * Work6: Finish the exercises.
  * Work7: Arrays of arrays ; the associated file

  * Work7: Finish the exercises.
  * Beginning of a group work to build a simple game. Original idea: Emmanuel ALLAUD.
   The choices are: battleship (cf. description), connect four (cf. description), the game of life (harder, cf. description), and minesweeper (cf. description).

22/11/2021, 29/11/2021, 06/12/2021, 13/12/2021 and 20/12/2021:
  * Project (total duration: 5 weeks).
  * For those who want to go into the details of a ``good'' artificial intelligence for Connect Four, I wrote the following document: Connect Four AI. You are not required to do it, and you can perfectly have a 10 at your evaluation on the project without doing it. It is just for those of you who are interested.

[UPDATED] 10/01/2022:
  * Last project week.

[UPDATED] 13/01/2022:
  * Deadline for sending your code + explanation. You must hand out your code, so that I can have a look at it at nome before your oral presentations. There will be a team grading on your code. You must explain your code with comments and/or with a text document (approx. 4 pages).

[UPDATED] 17/01/2022:
  * B Test: maximum 20 minutes per group (minimum 5 minutes per student).
   The grading grid, one per student (as opposed to the team grading for the code) is the following: oral presentation grading.

24/01/2022 and 31/01/2022:
  * Two weeks of prebac.

  * Last B Test presentations.

07/02/2022, 14/02/2022, 28/03/2022, 07/03/2022, 14/03/2022, 21/03/2022, 28/03/2022:
  * Inside the Metaverse: slideshow; some links.

  * Work8: Handling data.
  * For section 1: the associated Python code and dataset (the same dataset encoded as an utf-8 file if needed). Dataset from the book ``Informatique et sciences du numérique'', Gilles DOWEK (Chapter 11, ``Structurer l'information'').
  * For section 2: the associated Python code and dataset. Dataset from the book ``Sciences numériques et technologie'', Sylvain ALBISSER and Sébastien BALNY (Chapter E, ``Les données structurées et leur traitement''). A similar dataset with more information can be found at

Don't forget that, for the python code to work, you need to put both the code and the dataset in the same folder!

  * Work9: Databases (1/3) ; the associated slideshow (containing the information already in the subject). Original idea from the book ``Apprendre le développement WEB au lycée'', Cyprien ACCARD (Chapter J, ``Bases de données relationnelles'').

  * (8h30-10h00: short pre-baccalaureate in Biology 2).
  * Work10: Databases (2/3). This work can be done ``paper only'' (no computer needed), just to learn the SQL language, but you can also use the sqlite3 library thanks to the associated Python code. Original idea from the course ``Base de données'', Remi EYRAUD.

  * (8h30-10h00: short pre-baccalaureate in History 2).
  * Work11: Databases (3/3) ; the associated files: Python code, dataset (1/2) and dataset (2/2). Don't forget that, for the python code to work, you need to put both the code and the dataset in the same folder!
PS: And don't forget to check elements of correction from work 10 of last week: elements of correction.
PPS: I'll give you and put there elements of correction for this week's work after the course: elements of correction.

B Test Rehearsal:
  * B Test from last year: The subject ; associated files: Python code and dataset for section 2.
Don't forget that, for the python code to work, you need to put both the code and the dataset in the same folder!
  * Elements of correction: The document ; associated file: Python code for section 2.

  * B Test: the subject; the associated Python code and dataset.
Don't forget that, for the python code to work, you need to put both the code and the dataset in the same folder!
  * Elements of correction: the Python code for the SQL requests to write.