Skip to content

cabraham2/42-Piscine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42 Piscine - Clément ABRAHAM

Welcome to my 42 Piscine repository! Here you’ll find my work from the August Piscine at 42, where I finished among the top 3 out of 150 students. Through 288 hours of continuous work, I tackled challenging C programming exercises, shell scripts, and collaborative projects. This repository showcases my progress, skills, and the projects I completed.

🌊 About the Piscine

The 42 Piscine is an intensive, four-week coding bootcamp at École 42. Each week presents new challenges, including exams, collaborative “rush” projects, and dozens of coding exercises in C and shell. The goal? To push participants to their limits and foster self-sufficiency, resilience, and teamwork.

Special Thanks 💫

A huge thank you to my friend [Eliam, Léo, Paul, Gaspart, Ewen, Nilse, Antoine and many other] for the endless support, late-night debugging sessions, and encouragement throughout the 42 Piscine journey. Couldn’t have done it without you! 🙌

🏆 Key Skills Developed

Throughout the Piscine, I strengthened these core skills:

•	C Programming: From basics to advanced topics like dynamic memory management and data structures.
•	Algorithms: Implementing efficient sorting, searching, and file-handling algorithms.
•	Shell Scripting: Mastering command line, scripting, and file operations.
•	Problem Solving: Tackling complex problems methodically.
•	Peer Collaboration: Learning from and working with other students in rush projects and reviews.

📂 Project Structure

Below is a detailed look at each project and exam, organized by week.

Week 1 - Shell Basics & C Foundations

•	Shell00 ✅✅✅✅✅✅✅✅✅✅ - 100%  
Basic command line exercises to navigate, manipulate files, and understand the shell environment.  
•	Shell01 ✅✅✅✅✅✅✅✅ - 100%  
Advanced shell scripting, including file manipulations, piping, and basic automation tasks.  
•	C00 ✅✅✅✅✅✅✅✅✅ - 100%  
Introduction to C programming, covering loops, conditional statements, and basic syntax.  
•	C01 ✅✅✅✅✅✅✅✅✅ - 100%  
Deeper dive into pointers, arrays, and functions, building essential skills for memory management.  
•	C02 ✅✅✅✅✅✅✅✅✅✅✅✅ - 85%  
Introduction to recursion and memory allocation, working with arrays and strings.  
•	C03 ✅✅✅✅✅✅ - 100%  
String manipulation exercises, including custom implementations of common functions like strcpy and strlen.  
•	Exam01 ✅ - 30%  
The first weekly exam, testing skills from the first week’s projects with a set of time-limited challenges.  
•	Rush00 ✅ - 116%  
A collaborative weekend project to develop a complete program with other Pisciners, emphasizing teamwork and time management.  

Week 2 - Intermediate C & Advanced Shell

•	C04 ✅✅✅✅✅ - 70%   
Exploring deeper memory management with malloc and developing custom implementations of standard functions.  
•	C05 ✅✅✅✅✅✅✅✅ - 80%  
Focused on file input/output, understanding file descriptors, and handling files in C.  
•	C06 ✅✅✅✅ - 100%  
Implementing algorithms like sorting and searching on arrays and strings, working on efficiency and optimization.  
•	C07 ✅✅✅✅✅✅ - 100%  
Diving into pointers, double pointers, and complex data structures to understand dynamic memory.  
•	C08 ✅✅✅✅✅✅ - 100%  
Further memory management and debugging exercises to master error handling and efficient memory use.  
•	Exam02 ✅ - 50%  
The second exam, testing more advanced skills and pushing understanding of pointers, recursion, and file handling.  
•	Rush01 - ❌ 0% (code works but, can't explain... group of )   
A weekend rush project focused on a new collaborative task, challenging us to build something more complex under time constraints.  

Week 3 - Advanced C Concepts

•	C09 ✅✅✅ - 100%   
Focused on advanced algorithms, with a particular emphasis on efficiency and optimization.  
•	C10 👻   
Handling complex strings and memory allocation, with exercises on managing pointers and dynamic arrays.  
•	C11  ✅❌✅❌✅ - 10% (Does not compil the last day 🤡)  
Advanced functions and recursion, including deeper exploration of memory management.  
•	C12 👻  
Building larger programs, using modularity, and focusing on error handling and debugging.
•	C13 👻  
High-level exercises combining multiple concepts learned so far, integrating file handling and complex logic.
•	Exam03 ✅ - 40%  
The third exam, covering all advanced concepts and pushing time management and problem-solving skills to the max.  
•	Rush02 ✅ - 107%  
Another collaborative project designed to test teamwork and coding under pressure with advanced C programming concepts.  

Week 4 - Final Projects & Exam

•	BSQ (Big Square)  
The BSQ project, focusing on algorithms and efficient data handling, to find the largest square in a grid of obstacles.  
•	Final Exam ✅ - 60%   
A cumulative exam covering all Piscine material, testing everything from memory allocation to algorithms.  

⚙️ Key Projects

Here are some notable projects that represent milestones in my Piscine journey:

•	Libft: Created my own version of the C standard library, with functions like ft_strlen, ft_strcpy, and more.
•	ft_printf: Built a simplified version of the printf function, handling basic formatting and conversions.
•	get_next_line: Developed a function that reads lines from a file descriptor, deepening my understanding of memory management and buffer handling.
•	Rush Projects: Each weekend, collaborated with fellow students to complete complex coding challenges within strict time limits.

🔧 Usage

Clone this repository and test the projects by navigating to each folder and compiling the code:

1.	Clone the Repository:

git clone https://github.com/cabraham2/42-Piscine.git cd 42-Piscine

2.	Compile a Project:
•	Navigate to a project folder.
•	Compile the C files (example for ft_printf):

gcc -Wall -Wextra -Werror

•	Run the executable:

./a.out

🚀 Reflections

The Piscine was an intense yet rewarding experience. It pushed my limits, taught me to think critically, and equipped me with a solid programming foundation. This journey not only enhanced my technical skills but also made me a more resilient and resourceful learner.

📫 Contact

Feel free to reach out with questions or collaboration inquiries!

GitHub: cabraham2
LinkedIn: Clément ABRAHAM

Clément ABRAHAM Master of Finance & École 42 Student

42 Piscine - August Edition

This README provides an overview of my Piscine journey, highlighting my achievements, skills, and completed projects. Thank you for exploring my work!

👑 Achivement

Screenshot 2024-10-29 at 15 34 28 Screenshot 2024-10-29 at 15 34 21 Screenshot 2024-10-29 at 15 34 15 Screenshot 2024-10-29 at 15 34 09

About

Ecole 42 - Le Havre 2024

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors