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: 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: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): Automata.
* Work2 (computer): Reeborg's World.
* Work2 (computer): Reeborg's World (continued).
* Work3 (paper): Assignments.
* Work4 (computer): First steps in Python3. Original idea : Alain SATABIN.
* Work5: Loops.
* Work6: Functions.
* Work7: 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).
* Work8: Arrays ; the associated file TP8_Arrays.py.
* Work8: Finish the exercises.
* Work9: Arrays of arrays ; the associated file TP9_Pizzas.py.
* Work9: 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).
* Project (total duration: 4 weeks).
* Wednesday, December the 22nd (just before the holidays): 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).
* Tuesday, January the 11th: oral presentation of your project with this oral presentation grading.
* 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.
* Project week 1/2 for those who were in quarantine (total duration: 2 weeks).
* Beginning of a one-person work to build a simple game: hangman (cf. description).
* Wednesday, December the 22nd (just before the holidays): 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 grading on your code. You must explain your code with comments and/or with a text document (approx. 1 page).
* Tuesday, January the 11th: oral presentation of your project with this oral presentation grading. Because you are working on a single-person project, you have more or less 10 minutes for your presentation (not less than 8, no more than 12).
07/12/2021 and 14/12/2021:
* Two weeks of B Tests.
* Last project week.
* B Test: 20 minutes per group (or 5 minutes per student) --- or 10 minutes for the on-person projects.
The grading grid, one per student (as opposed to the team grading for the code) is the following: oral presentation grading.
* P2-P3: Orientation (so, we have ICT only in P1).