Section outline

    • Partie théorique: 

      • Compression sans pertes et entropie


    • Software developmentProgramming:

      • Tuples and sets
      • 3...2...1...Mini-project starts!


    • Software development

      Graded Project

      Online information session:



    • Mini Programming Project: 2048 game
      Please read carefully the instructions below for the graded project that comprises 15% of the total grade:
      1. Before submitting your code for grading, ensure that (ideally, all) local tests we provided pass successfullyThe submission portal will be opened in a few days. We will notify you once it is up and running.
      2. We advise using the virtual machine (VDI) for coding and testing. We will not provide support for other operating systems (e.g., Mac) and programming environments.
      3. Make sure the file you submit for grading has the name game_2048.py. Submitting a wrong (or wrongly named) file will result in losing all points in that grading attempt.
      4. After you upload the code for grading and hit the submit button, the grader will generate your total score and a file, report.txt, briefly describing the tests applied to your code and the results of those tests (success or failure).
      5. The maximum number of grading attempts per group is 13. The final score will be the score of your last submission. Therefore, once you receive a 100% score, there is no need to continue submitting. Please stop submitting to help reduce the workload on the server, which ~150 students will use!
      6. Each submission from a member of a group will count towards the 10-submission limit. Therefore, be careful not to submit the wrong file or an empty file, or the same file multiple times. The submission cannot be reverted.
      7. The submission page on Moodle will remain open until Friday, 5th of December, 23:59.
      8. Please note that every submitted code enters a waiting list. Hence, if there are many submissions at once, the waiting list will grow, and grading will take longer than usual (many minutes may pass before your turn to grade). Because of the above, we advise that you
        (a) Do not wait until the last minute to submit your code for grading
        (b) If you see that the grading is taking longer than usual, do not resubmit again (resubmitting will only make the waiting list even longer for everyone accessing the server, and it will also waste your budget of 10 grading attempts).
      9. Do not worry, as long as you submit your code before the deadline, it will get graded (the delay will depend on the length of the waiting list), and even if the server completes the grading after the deadline, we will accept the obtained score.
      10. Consultation and discussion with your peers are allowed. However, it is strictly forbidden to submit someone else's code for any reason or copy any snippet of the code from others! If plagiarism is detected, we will treat it as an attempt to cheat, resulting in a score of zero (in addition to a violation of the code of conduct).
      11. Sharing any snippet of your code publicly on the forum is prohibited. In such a case, we will immediately revert the post to private, and the person who submitted it will lose one submission attempt.
      12. It is strictly forbidden to run system commands on the grading server (for example, running commands or downloading anything from the web) or do any potentially harmful activity. If you submit anything other than the file we ask for, we will revoke the group's permission to make any submission and give them a zero score.
      13. It is also forbidden to use AI tools such as ChatGPT for generating code. AI-generated code will result in a score of zero.
      14. For issues with accessing or working with Moodle autograder, please feel free to post on the Ed forum or contact Emilien Silly.
      15. We will make the submission portal available for you on Monday, Nov. 24th.
      The project will be worth 15% of your final grade. The grade repartition is as follows:
      • 10%: the grade from the automatic grader in proportion of tests passed
      • 2%: code formatting. As explained in the document handout, you will need to (a) use autopep8 to format your code (1%). To show that you know how to format your code, you have to show that you have the extension autopep8 installed and know how to use during the live demo session. (b) use correct naming conventions and comment your code to make it understandable (1%). 
      • 3% (Individual grade): live demo. After you have finished the project (either reached a 100% score on the grader or after the deadline), you will be allowed to make a live demo of your code. For this, you will need to ask a student assistant. They will download your submission from Moodle that received the most points, and you will be able to demonstrate live that you know how to play the game and understand how it works. The assistant can ask you any questions about your code, and you should be able to answer them without help from anyone else. These 3 percent will be individual, which means you should understand the code of your project as a whole, even the parts your group member wrote.
      Good luck, and have fun with the project!


    • This is the Automatic Grader for the Project, you can submit your game_2048.py file here, and after a few minutes you will receive your grade out of 10 and your feedback file called "feedback.txt". These are the 10 points out of 15 for this project about code correctness. 
      The 5 remaining points (formatting and code comprehension) will be evaluated by a student assistant with a Live demo during an exercise session. 

      Important: Your file must be named game_2048.py, otherwise the grader will not recognize it and you will lose a submission !

      Important: After uploading your file your submission will be in draft state, you must click on the red "Submit assignment" button to actually send your submission to the grader !