Skip to content

adryeeel/42Cursus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

42Cursus

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.

The 42 experience

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

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 😉.

Common core

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.

🟠 Rank 01

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

🟡 Rank 02

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

🟢 Rank 03

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

🔵 Rank 04

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

🔴 Rank 05

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

🟣 Rank 06

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

🏅 Achievements

  • 🍇 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.

About

My curriculum as a 42 school student.

Topics

Resources

License

Stars

Watchers

Forks