CPGE students have to do one or two personal interest science projects. Here are mine (in french):
1st year (Math sup): Tic-Tac-Toe AI using decision trees and Minmax algorithm
The goal was to build an AI capable of winning at Tic-Tac-Toe. A Python program was used to build the entire tree of possible Tic-Tac-Toe games. Code and report can be found on Github. The Python files on this repo will allow you to generate the tree and play against the AI in your terminal. I also built a visualization tool using pygame that allows to view the tree.
2nd year (Math spé): Introduction to Wavelets and application to imaging
This project was a collaboration with Xavier Friedrich, one of my former classmates. The goal was to learn as much as possible about wavelets. Xavier did the Math part, and I was in charge of the Computer Science part.
Our project includes: a formal proof of Stéphane Mallat‘s algorithm for multi-resolution signal decomposition in the specific case of Haar wavelets, a fast 2D wavelet decomposition tool using OpenCL, a client/server software to remotely store wavelet coefficients while locally keeping half-resolution images, and a graphical image compression tool using wavelets.
The code and report can be found on GitHub.