"Embarking on the Common Core journey at 42 School is like setting sail into the vast ocean of coding - it's challenging and unpredictable, but with every line of code, we navigate closer to the treasure of knowledge and expertise."
Overview
Milestone 0
1. libft (C - solo project)
Milestone 1
1. born2beroot (Virtual Machine - solo project)
2. ft_printf (C - solo project)
3. get_next_line (C - solo project)
Milestone 2
0. exam rank 02 (C)
Project Choices 1
Why I Chose `FdF` Over `so_long` and `fract-ol`
Project Choices 2
Why I Chose `pipex` Over `minitalk`
1. FdF (C - solo project)
2. pipex (C - solo project)
3. push_swap (C - solo project)
Milestone 3
0. exam rank 03 (C)
1. Philosophers (C - solo project)
2. minishell (C - duo project)
Milestone 4
0. exam rank 04 (C)
Project Choices 3
Why I Chose `cub3D` Over `miniRT`
1. cub3D (C - duo project)
2. NetPractice (TCP/IP networks - solo project)
3. CPP00 (C++ - solo project)
4. CPP01 (C++ - solo project)
4. CPP02 (C++ - solo project)
5. CPP03 (C++ - solo project)
6. CPP04 (C++ - solo project)
Milestone 5
0. exam rank 05 (C++)
1. CPP05 (C++ - solo project)
2. CPP06 (C++ - solo project)
3. CPP07 (C++ - solo project)
4. CPP08 (C++ - solo project)
5. CPP09 (C++ - solo project)
6. Inception ( - solo project)
Project Choices 4
Why I Chose `idk` Over `idk2`
7. webserv ()
Milestone 6
0. exam rank 06 ()
1. ft_transcendence ()
Exams
Holygraph
Common Core
Mastery
Alumni Status
Resources
Support and Contributions
Author
Welcome! This repository contains my solutions and implementations for the 42 Common Core projects. The 42 Common Core is a rigorous programming curriculum designed to teach software engineering skills through hands-on projects. Each project in this repository demonstrates my understanding and application of various programming concepts and technologies.
This repository includes links to my individual project repositories, showcasing my journey and progress through the 42 curriculum. Please note that the exams and project subjects may evolve over time.
I hope you find my work insightful and inspiring. Happy coding!
Note: When I started this journey, project evaluations were conducted using the blackhole system. Now, evaluations are based on milestones.
1. libft (C - solo project)
Evaluation Length = 15 Mins
| Moulinette and 3 Peers
| NORMINETTE = ON
1. born2beroot (Virtual Machine - solo project)
Evaluation Length = 60 Mins
| 3 Peers
| NORMINETTE = OFF
note: This project provides evaluators with a 2-point evaluation system, but you only utilized 1 point.
2. ft_printf (C - solo project)
Evaluation Length = 30 Mins
| Moulinette and 3 Peers
| NORMINETTE = ON
3. get_next_line (C - solo project)
Evaluation Length = 15/30 Mins
| Moulinette and 3 Peers
| NORMINETTE = ON
0. exam rank 02 (C)
Length = 180 Mins
| NORMINETTE = OFF
From this point onward, the MOULINETTE automated evaluation system is no longer available. All projects will be evaluated only by your peers. You must choose between the following options:
-
FdF: The
FdF
project involves creating a wireframe model of a 3D landscape, which aligns perfectly with my interest in 3D modeling and visualization. This project enhances my understanding of computer graphics and provides practical experience in manipulating 3D data, which is highly relevant to my field of mechanical engineering. The skills gained from this project, such as working with graphical libraries and understanding geometric transformations, are directly applicable to various engineering applications, including CAD software and simulation tools. -
so_long: The
so_long
project focuses on creating a simple 2D game, which is interesting but less relevant to my specific interests in 3D modeling and visualization. -
fract-ol: The
fract-ol
project involves creating fractal images, which is a fascinating topic in computer graphics. However, I choseFdF
because it offers more direct applications to my field of study in mechanical engineering, particularly in areas like 3D modeling and simulation.
-
pipex: The
pipex
project involves creating a simplified version of the Unixpipe
command, which is fundamental for chaining commands and managing data streams in Unix-based systems. This project allows me to deepen my understanding of Unix systems, inter-process communication, and system programming. -
minitalk: While
minitalk
focuses on implementing a small data exchange program using Unix signals, which is also valuable, I foundpipex
to be more aligned with my interest in system-level programming and process management.
1. FdF (C - solo project)
Evaluation Length = 30 Mins
| 3 Peers
| NORMINETTE = ON
2. pipex (C - solo project)
Evaluation Length = 30 Mins
| 3 Peers
| NORMINETTE = ON
3. push_swap (C - solo project)
Evaluation Length = 30 Mins
| 3 Peers
| NORMINETTE = ON
0. exam rank 03 (C)
Length = 180 Mins
| NORMINETTE = OFF
1. Philosophers (C - solo project)
Evaluation Length = 30 Mins
| 3 Peers
| NORMINETTE = ON
2. minishell (C - duo project)
Evaluation Length = 30 Mins
| 3 Peers
| NORMINETTE = ON
0. exam rank 04 (C)
Length = 180 Mins
| NORMINETTE = OFF
-
cub3D: The
cub3D
project involves creating a 3D game using raycasting, which aligns well with my interest in game development and real-time rendering. This project enhances my understanding of computer graphics, particularly in the context of game engines, and provides practical experience in implementing raycasting algorithms. The skills gained from this project, such as working with graphical libraries and optimizing real-time rendering, are directly applicable to various fields, including game development and interactive simulations. Additionally, due to the blackhole system, I was near the deadline and needed to start pushing my progress quickly. Thecub3D
project allowed me to leverage my existing knowledge and complete the project within the given timeframe. -
miniRT: The
miniRT
project focuses on creating a simple ray tracer, which is a fascinating topic in computer graphics. However, I chosecub3D
because the blackhole system's time constraints madecub3D
a more feasible choice for timely completion. Additionally,cub3D
aligns better with my interest in game development and real-time rendering, allowing me to leverage my existing knowledge and skills to meet the deadline effectively.
1. cub3D (C - duo project)
Evaluation Length = 30 Mins
| 3 Peers
| NORMINETTE = ON
In Milestone 4, cub3D
is the final project that requires adherence to the Norminette coding standard.
2. NetPractice (TCP/IP networks - solo project)
Evaluation Length = 30 Mins
| 2 Peers
3. CPP00 (C++ - solo project)
Evaluation Length = 15/30 Mins
| 2 Peers
4. CPP01 (C++ - solo project)
Evaluation Length = 15/30 Mins
| 2 Peers
4. CPP02 (C++ - solo project)
Evaluation Length = 15/30 Mins
| 2 Peers
5. CPP03 (C++ - solo project)
Status: Coming Soon
Evaluation Length = 15/30 Mins
| 2 Peers
6. CPP04 (C++ - solo project)
Status: Coming Soon
Evaluation Length = 15/30 Mins
| 2 Peers
0. exam rank 05 (C++)
Status: Coming Soon
Length = 180 Mins
| NORMINETTE = OFF
1. CPP05 (C++ - solo project)
Status: Coming Soon
Evaluation Length = 15/30 Mins
| 2 Peers
2. CPP06 (C++ - solo project)
Status: Coming Soon
Evaluation Length = 15/30 Mins
| 2 Peers
3. CPP07 (C++ - solo project)
Status: Coming Soon
Evaluation Length = 15/30 Mins
| 2 Peers
4. CPP08 (C++ - solo project)
Status: Coming Soon
Evaluation Length = 15/30 Mins
| 2 Peers
5. CPP09 (C++ - solo project)
Status: Coming Soon
Evaluation Length = 15/30 Mins
| 2 Peers
6. Inception ( - solo project)
Status: Coming Soon
Evaluation Length = Mins
| 3 Peers
Status: Coming Soon
-
webserv:
-
ft_irc:
7. webserv ()
Status: Coming Soon
Evaluation Length = Mins
| 3 Peers
0. exam rank 06 ()
Status: Coming Soon
Length = 180 Mins
| NORMINETTE = OFF
1. ft_transcendence ()
Status: Coming Soon
Evaluation Length = Mins
| Evaluation by 3 Peers + 1 Staff Member
For more information about the exams, click the image below:
The Holygraph is a visual representation of a student's progress through the 42 School curriculum. It tracks achievements and milestones within the Common Core and Mastery phases. The Holygraph serves as a motivational tool and a roadmap for students, illustrating their journey through the 42 School curriculum and highlighting their progress and achievements.
The Common Core is the foundational phase of the 42 School curriculum, designed to build essential programming skills and knowledge. This phase can take up to a maximum of 24 months to complete. During this time, students work on a variety of projects that cover topics such as algorithms, data structures, computer graphics, and more. The goal is to develop a strong understanding of software engineering principles and practical coding experience. Additionally, students have the option to use up to 3 freeze periods, totaling 180 days, to handle personal issues without affecting their progress.
After completing the Common Core, students enter the Mastery phase, where they can specialize in areas of interest and work on more advanced projects. This phase allows students to deepen their expertise and prepare for professional careers in software development. To avoid automatic conversion to alumni status, students must complete at least one project every 8 months. Additionally, after 5 years in the Mastery phase, students will automatically achieve alumni status.
Upon successful completion of the Common Core, students have the opportunity to achieve alumni status. This status recognizes their accomplishments and signifies that they have met the rigorous standards set by 42 School. Alumni status opens up various opportunities, including access to a network of professionals, potential job placements, and continued learning resources.
For more information about the resources, click the image below:
If you find this repository helpful, please consider starring it to show your support. Your support is greatly appreciated!