Some documents for the S6 level in ICT. (Quelques documents pour la classe de S6 en TIC.)


Official syllabus (Programme officiel) :

It is the 2019 syllabus which is available at the following link (Il s'agit du programme 2019 qu'on peut tÚlÚcharger au bout de ce lien).

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: https://replit.com/languages/python3. 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 https://sourceforge.net/projects/portable-python/. 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.

Documents:

08/09/2020:
  * Work1 (paper): Automata (Automates).
  * Work2 (computer): Reeborg's World (Le monde de Reeborg) ; elements of correction.

15/09/2020:
  * Work3 (paper): Assignments (Affectations).
  * Work4 (computer): First steps in Python3 (Introduction Ó Python3).

22/09/2020:
  * Work5: Loops.

29/09/2020:
  * Work6: Functions.

06/10/2020:
  * Work7: Overview ; elements of correction.

13/10/2020:
  * Test n░1 (45 minutes): The subject ; elements of correction.
  * Work8: Arrays.

20/10/2020:
  * Work9: The subject ; the associated Python code ; going further on this subject by studying faster intersection.

03/11/2020:
  * Work (from home): Work with the book Invent Your Own Computer Games with Python (4th edition, 2017, written by Al Sweigart). Some material from the book is also available on Teams.
  * Step 1: install Python3 + pygame, see the chapter Introduction. The only difference from what is written in the book (which is from 2017) is that pygame now works with all Python3 releases (see pygame installation), so please choose the latest Python3 release to install (3.7.7 or greater is recommanded).
  * Step 2: read chapters 1 (The Interactive Shell) and 2 (Writing Programs), and do the exercises on your Python3 installation, to get used to it. All exercises are easy, we already covered the material in class.

10/11/2020:
  * Work (from home): Work with the book Invent Your Own Computer Games with Python (4th edition, 2017, written by Al Sweigart). Some material from the book is also available on Teams.
  * Make sure you completed Step 1 and 2 from last week.
  * Step 3: read chapters 3 (Guess the Number) and 4 (A Joke-telling Program), and do the exercises on your Python3 installation. In Chapter 3, the new material is the break statement (to break a loop). In Chapter 4, the new material is some advanced uses of the print function (special characters, printing without creating a new line --- in class, we created a string, made it grow and printed it only at the end, here is another option to do the same).

17/11/2020:
  * Work (at school): Beginning of a work group to build a simple game.
   The choices are: battleship (cf. description), connect four (cf. description), the game of life (harder, cf. description), and minesweeper (cf. description).

24/11/2020:
  * Work (from home): I added a lot of documentation in each of the 4 games. Please take a look at the modified files (in the previous paragraph), and try to make 1 or 2 functions in the game you chose. Do not hesitate to ask for help in Teams or by e-mail: some function are way harder than the others...

01/12/2020:
  * Work (from home): VISIOCONFERENCE in Teams.

22/12/2020:
  * Work (from home): 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.
   Have a look at the two tasks needed for the B test: hand out your code + explanation on Teams (by the end of January, the 15th); prepare an oral presentation (for January, the 19th).

12/01/2021:
  * Work (from home): VISIOCONFERENCE in Teams.
   You must hand out your code at the end of the week, so that I can have a look at it before the B Test. There will be a team grading on your code. You must also explain your code with comments and/or with a text document.

19/01/2021:
  * B Test: 20 minutes per group (or 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.

26/01/2021:
  * Work10: The subject ; the associated Python code and dataset (the same dataset encoded as an utf-8 file if needed).

02/02/2021:
  * Work11 (from home): 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 !
PS: And don't forget to check elements of correction from work 10 of last week: elements of correction.

09/02/2021:
  * Work12: The subject ; the associated Python code (code for question 2) 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 !

23/02/2021:
  * Work13: The subject ; the associated slideshow (containing the information already in the subject).

02/03/2021:
  * Work14 (from home): The subject. This work is ``paper only'' (no programming needed), just to learn the SQL language. We will learn to use the SQL language in python next week, in class. Please give me the result of your work in the Teams assignment, this will count for your A grade.

09/03/2021:
  * Work15: The subject ; the associated files: Python code for section 2; Python code, dataset (1/2) and dataset (2/2) for section 3. 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 14 of last week: elements of correction.

16/03/2021:
  * Work16 (from home): first, look at the elements of correction from work 15 of last week: elements of correction.
Then, for the remaining questions, no answers are provided, I ask you to answer them for this week. Don't spend too much time on each question, if you really do not see how to solve some of them, it's not a problem. Don't forget to also try the questions from work 16 (also in the same file / worksheet that I gave you last week).

23/03/2021:
  * Work17: The subject ; the associated files: dataset (1/4), dataset (2/4), dataset (3/4), and dataset (4/4) for section 1. 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 15: elements of correction.

13/04/2021:
  * Work18: The subject ; the associated Python code.
PS: I'll post on my website the ``cheat sheet'' that we will make together, so that you can use it next week and for the B test.

20/04/2021:
  * Make sure that we are prepared about the SQL part of the B test. The goal is to finish work17. The following Python code solves questions 1--4 (make sure to download all other files of work17 in the same folder for it to work).
PS: The formula booklet is available here.

27/04/2021:
  * (at home): check elements of correction from work 17: elements of correction.
Work19: Then, an assignment to handle on Teams (python algorithms on the game ``Snakes and ladders''), so that I can see what you can do and give you my last pieces of advice before the B test: the subject ; the associated Python code.
PS: elements of correction from this work 19: part 1 (without Python), part 2 (with Python).

04/05/2021:
  * B Test (2 periods) : half of the test on paper, half on computer. Half of what is asked will be on algorithms/Python, half on databses/SQL.
  * Part without computer : The subject.
  * Part on computer: The subject ; associated files: Python code for section 1; Python code for section 2; dataset for section 2.
  * Elements of correction: The document ; associated files: Python code for section 1; Python code for section 2.

18/05/2021:
  * Work20: The subject ; the associated Python code.

25/05/2021:
  * Work21: The subject ; the associated files: TP21_Image1.pgm
  * First sub-work (school logo): TP21_Images_logo.py; TP21_Logo_EEB1.pgm;
  * Second sub-work (houses): TP21_Images_merge.py; TP21_House.pgm; TP21_Skyscraper.pgm
  * Third sub-work (Mona Lisa): TP21_Images_colors.py; TP21_Joconde_Original.ppm.

01/06/2021:
  * Freed from school in the morning (Philosophy B Test in the afternoon).

08/06/2021:
  * Correction of the B Test (see elements of correction above).
  * Finish work 21 (Mona Lisa): TP21_Images_colors.py; TP21_Joconde_Original.ppm.
  * Work 22 (Amazon river): TP22_Amazon_Original.ppm.

Stay calm and focused for the rest of your B Tests. Have some nice holidays and see you next year!