Welcome to my 42 Piscine repository — a complete archive of everything I worked on during the famous 42 swimming pool (Piscine). This repo contains every Shell project, every C module, every Rush, every exam practice, and additional tools I used along the way.
The goal is simple: To keep a clean, organized, and fully documented record of my 42 Piscine experience.
The 42 Piscine is an intense 4-week C programming bootcamp created to push candidates into problem-solving, teamwork, and rapid learning. Participants work long hours solving exercises that grow increasingly difficult, while following strict coding standards such as the Norminette.
This repository contains all the work I produced during this period, structured in a clear and accessible way.
42-Piscine/
│
├── Shell00/
├── Shell01/
│
├── C00/
├── C01/
├── C02/
├── C03/
├── C04/
├── C05/
├── C06/
├── C07/
├── C08/
├── C09/
│
├── Rush00/
├── Rush01/
├── Rush02/
│
├── Exam_Practice/
│ ├── Level_0/
│ ├── Level_1/
│ ├── Level_2/
│ ├── Level_3/
│ └── Level_4/
│
└── Tools/
├── Testers/
├── Makefile-templates/
└── Useful-Scripts/
Foundational projects that teach file manipulation, permissions, simple scripts, and command-line fundamentals.
Each module focuses on a core concept of C programming:
- C00 — Basics, functions, loops
- C01 — Pointers & memory
- C02 — String manipulation
- C03 — More strings, comparison, concatenation
- C04 — I/O and basic algorithms
- C05 — Recursion & math functions
- C06 — Command-line arguments
- C07 — Dynamic memory & advanced manipulation
- C08 — Structs, typedef, header organization
- C09 — Library creation (libft-style introduction)
Weekend group projects designed to test collaboration and design skills under time pressure.
Solutions, attempts, and practice tasks from the piscine exam levels.
My personal tools for debugging, testing, compiling, and checking code quality.
- Serve as a complete historical archive of my Piscine journey
- Help others who want to understand the structure and type of projects in the 42 curriculum
- Track my progress and improvements in C programming
- Provide clean, organized code following Norminette rules
To compile any C project:
cc -Wall -Wextra -Werror your_file.c -o programTo run:
./programTools and scripts inside the repo may simplify this.
All code is written according to the 42 Norm Version 4.x, including:
- 25-line function rule
- 5-function file rule
- Forbidden functions handled accordingly
- Header structure & formatting
- Proper memory handling habits
This repository is not a guide but a personal archive. All code reflects what I wrote and learned during the Piscine. Feel free to explore, learn from it, or compare it with your own journey.
git init
This command is used to create a new Git repository. It turns your current working directory into a Git repository and sets up all the necessary files for Git to track and manage changes.
git add .
This command adds all files and changes in your current working directory to the staging area. It allows Git to track these files and prepare them to be committed.
git commit -m "Message"
This command saves the staged changes as a commit. The -m option is used to include a short message explaining what changes were made and why.
git push repo_link
This command uploads your local commits to the remote Git repository.
git clone repo_link
Note: After pushing your project, you can verify it by cloning your repository using git clone.
