This repository contains laboratories and projects completed during the Advanced C++ course at CentraleSupélec (2025/2026)
The first lab introduces fundamental C++ concepts such as structs, header and source files (.hpp / .cpp), the compilation process, and memory management. It also explores different data types and STL containers through the implementation of Petri nets — a mathematical formalism used to model systems where multiple tasks run in parallel and may need to access shared resources sequentially. While Petri nets are often used to describe communication protocols, in this lab they mainly serve as a hands-on way to experiment with concurrency modeling.
The second lab focuses on functional programming in C++, including function manipulation, lambda expressions, and the ranges library. The goal is to construct logical circuits starting from basic components such as wires, then combining them into logic gates and, ultimately, into complete circuits.