This repository tracks my journey through the 42 common core and piscine curriculum. Follow along as I tackle the challenges and milestones of the 42cursus, documenting my progress in this README. From mastering the basics to diving into advanced topics, this repository serves as a map of my learning adventure.
What expect from a 42 school? Well... here we go:
-
Self-Directed Learning: At 42, learning is self-directed. There are no traditional teachers or formal lectures. Instead, we are given access to resources like online tutorials, project specifications, and some reference materials. We are responsible for managing our own learning journey. We code our future.
-
Peer Learning: Collaboration and peer learning are fundamental at 42. We work together, help each other, and learn from one another. This fosters a sense of community and encourages teamwork, which are essential skills in the tech industry.
-
Project-Based Learning: The curriculum is heavily project-based. We learn by working on real-world projects that become progressively more challenging as they advance through the course. The projects are designed to cover a wide range of topics and technologies, ensuring a comprehensive understanding of computer science fundamentals.
-
Mandatory Projects: There are mandatory projects that students must complete to progress through the common core curriculum. These projects are designed to cover key concepts and skills. They must be completed within a certain timeframe and meet very rigorous specified requirements.
-
Peer Evaluation: After completing a project, students undergo peer evaluation where their peers provide feedback on their work. This feedback is crucial for learning and improvement.
-
No Formal Grades: Unlike traditional educational institutions, 42 does not use grades or exams to assess students' progress. Instead, advancement is based on completing projects and meeting certain competency criteria.
-
Iterative Learning: Students often redo projects multiple times to improve their skills and understanding. This iterative approach allows for continuous learning and refinement of skills.
Do you think you can handle this? 😉
Piscine is a french term meaning "swimming pool" that refers to a intensive and immersive programming boot camp that serves as the entry point to 42 school course.
During the piscine, prospective students, known as "pisciners", undergo a rigorous four to six-week evaluation period where they are introduced to the fundamentals of programming and problem-solving. The piscine is designed to identify individuals with the potential to excel in the field of computer science, regardless of their background or prior experience.
I undertook the #7 C piscine at 42 Porto, which took place on 2023/08. I improved my skills and achieved remarkable feats throughout this enriching journey. Notably, I secured the 2nd position in my piscine cohort, significantly bolstering my coalition's success as we emerged victorious in the boot camp.
I have a very special repository where I documented all my experience and perfomance at 42 Porto piscine. You can access it here 😉.
The common core, following the piscine, marks the official entry into the realm of a 42 student. With an average duration of 18 months, this program serves as a comprehensive immersion into the foundational principles of programming and computer science. Using C and C++ languages, each student will be equipped with a profound understanding of the core concepts, essential for their journey ahead as software developer.
The 42 common core features a ranked-based system. By developing projects, winning XP, achievements and unlocking new challenges, you level up and the student's experience feels like a game.
As you progress through the curriculum and achieve higher ranks, you'll tackle projects specifically crafted to challenge and expand your abilities. This dynamic approach ensures that each project is finely tuned to improve your current expertise, providing an optimized learning experience at every stage of the student's journey.
Below is mine.
No. | 📃 Project | 🖊️ Description | 🚀 Status | 🏆 Score | ⌛ Hours |
---|---|---|---|---|---|
1️⃣ | libft | A comprehensive C library containing a collection of custom implementations of standard functions from the C Standard Library. | ✅ | 125% | 45/70 |
2️⃣ | ft_printf | Recoding the features of the standard C library printf function. | ✅ | 125% | 120/70 |
3️⃣ | get_next_line | A function write in C that returns sequent lines read from a file descriptor. | ✅ | 125% | 50/70 |
4️⃣ | born2beroot | Setting up a Linux server through the wonderful world of virtualization. | ✅ | 125% | 40/40 |
No. | 📃 Project | 🖊️ Description | 🚀 Status | 🏆 Score | ⌛ Hours |
---|---|---|---|---|---|
1️⃣ | minitalk | A minimalistic communication protocol implementation using UNIX signals and C. | ✅ | 125% | 43/50 |
2️⃣ | push_swap | Sorting data on a stack, with a limited set of instructions, using the lowest possible number of actions. | 🚧 | 0% | 18/60 |
3️⃣ | so_long | Textures, sprites, and some other basic gameplay elements of a 2D C game. | ❌ | 0% | 0/60 |
4️⃣ | Exam 02 | 4 piscine questions. | ❌ | 0% | 0/4 |
No. | 📃 Project | 🖊️ Description | 🚀 Status | 🏆 Score | ⌛ Hours |
---|---|---|---|---|---|
1️⃣ | Philosophers | Exploring threading processes and mutual exclusion through the dining philosophers problem. | ❌ | 0% | 0/70 |
2️⃣ | Minishell | A minimalistic bash implementation. | ❌ | 0% | 0/210 |
3️⃣ | Exam 03 | Recoding get_next_line or ft_printf . |
❌ | 0% | 0/4 |
No. | 📃 Project | 🖊️ Description | 🚀 Status | 🏆 Score | ⌛ Hours |
---|---|---|---|---|---|
1️⃣ | Netpractice | Discovering networking and system administration. | ❌ | 0% | 0/50 |
2️⃣ | Cub3D | Diving into the world of 3D game development, implementing ray-casting in the style of the famous Wolfenstein 3D game. | ❌ | 0% | 0/280 |
3️⃣ | C++ 00 | Understanding OOP and the specifities of the C++ language when compared to C. | ❌ | 0% | 0/22 |
4️⃣ | C++ 01 | Memory allocation, reference, pointers to members and the usage of the switch in C++. |
❌ | 0% | 0/12 |
5️⃣ | C++ 02 | Understanding Ad-hoc polymorphism, overloads and orthodox canonical classes in C++. | ❌ | 0% | 0/12 |
6️⃣ | C++ 03 | Understanding inheritance in C++. | ❌ | 0% | 0/12 |
7️⃣ | C++ 04 | Uderstanding subtypes polymorphism, abstract classes and interfaces in C++. | ❌ | 0% | 0/12 |
8️⃣ | Exam 04 | Microshell. | ❌ | 0% | 0/4 |
No. | 📃 Project | 🖊️ Description | 🚀 Status | 🏆 Score | ⌛ Hours |
---|---|---|---|---|---|
1️⃣ | C++ 05 | Understanding try/catch and exceptions in C++. | ❌ | 0% | 0/25 |
2️⃣ | C++ 06 | Understanding the different casts in C++. | ❌ | 0% | 0/25 |
3️⃣ | C++ 07 | Understanding templates in C++. | ❌ | 0% | 0/25 |
4️⃣ | C++ 08 | Understanding templated containers, iterators and algorithms in C++. | ❌ | 0% | 0/25 |
5️⃣ | C++ 09 | Understanding the containers in C++. | ❌ | 0% | 0/40 |
6️⃣ | ft_irc | Creating my own IRC server in C++, fully compatible with an official client. | ❌ | 0% | 0/175 |
7️⃣ | Inception | System administration by using Docker. | ❌ | 0% | 0/210 |
8️⃣ | Exam 05 | 3 C++ Questions. | ❌ | 0% | 0/4 |
No. | 📃 Project | 🖊️ Description | 🚀 Status | 🏆 Score | ⌛ Hours |
---|---|---|---|---|---|
1️⃣ | ft_transcendence | A multiplayer and AI pong game using web technologies. | ❌ | 0% | 0/245 |
2️⃣ | Exam 06 | Miniserver. | ❌ | 0% | 0/4 |
- 🍇 Participation in Sogrape Hackathon: I joined the Sogrape Hackathon where my team and I developed an automated data scraping system integrated with a dynamic web dashboard. This system acts as a centralized platform for Sogrape employees, facilitating the monitoring and analysis of their products on national and international online stores. The system provided easy access to both raw data and essential metrics, streamlining their workflow.