Skip to content

f-corvaro/42.common_core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

GitHub last commit

Index

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

Overview

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.


Milestone 0

1. libft (C - solo project)

fcorvaro's 42 Libft Score

Evaluation Length = 15 Mins | Moulinette and 3 Peers | NORMINETTE = ON


Milestone 1

1. born2beroot (Virtual Machine - solo project)

fcorvaro's 42 Born2beroot Score

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)

fcorvaro's 42 ft_printf Score

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

fcorvaro's 42 get_next_line Score


Milestone 2

fcorvaro's 42 Exam Rank 02 Score

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:

Project Choices 1

FdF or so_long or fract-ol

Why I Chose FdF Over so_long and fract-ol

  • 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 chose FdF because it offers more direct applications to my field of study in mechanical engineering, particularly in areas like 3D modeling and simulation.

Project Choices 2

pipex or minitalk

Why I Chose pipex Over minitalk

  • pipex: The pipex project involves creating a simplified version of the Unix pipe 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 found pipex to be more aligned with my interest in system-level programming and process management.

1. FdF (C - solo project)

fcorvaro's 42 FdF Score

Evaluation Length = 30 Mins | 3 Peers | NORMINETTE = ON

2. pipex (C - solo project)

fcorvaro's 42 Pipex Score

Evaluation Length = 30 Mins | 3 Peers | NORMINETTE = ON

3. push_swap (C - solo project)

Evaluation Length = 30 Mins | 3 Peers | NORMINETTE = ON

fcorvaro's 42 Push_Swap Score


Milestone 3

fcorvaro's 42 Exam Rank 03 Score

Length = 180 Mins | NORMINETTE = OFF


1. Philosophers (C - solo project)

fcorvaro's 42 Philosophers Score

Evaluation Length = 30 Mins | 3 Peers | NORMINETTE = ON

2. minishell (C - duo project)

fcorvaro's 42 Minishell Score

Evaluation Length = 30 Mins | 3 Peers | NORMINETTE = ON


Milestone 4

fcorvaro's 42 Exam Rank 04 Score

Length = 180 Mins | NORMINETTE = OFF


Project Choices 3

cub3D or miniRT

Why I Chose cub3D Over miniRT

  • 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. The cub3D 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 chose cub3D because the blackhole system's time constraints made cub3D 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)

fcorvaro's 42 cub3D Score

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)

fcorvaro's 42 NetPractice Score

Evaluation Length = 30 Mins | 2 Peers

3. CPP00 (C++ - solo project)

fcorvaro's 42 CPP00 Score

Evaluation Length = 15/30 Mins | 2 Peers

4. CPP01 (C++ - solo project)

fcorvaro's 42 CPP01 Score

Evaluation Length = 15/30 Mins | 2 Peers

4. CPP02 (C++ - solo project)

Status: Coming Soon

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


Milestone 5

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

Project Choices 4

webserv or ft_irc

Why I Chose idk Over idk2

Status: Coming Soon

  • webserv:

  • ft_irc:

7. webserv ()

Status: Coming Soon

Evaluation Length = Mins | 3 Peers


Milestone 6

Status: Coming Soon

Length = 180 Mins | NORMINETTE = OFF


Status: Coming Soon

Evaluation Length = Mins | Evaluation by 3 Peers + 1 Staff Member


Exams

For more information about the exams, click the image below:


Holygraph

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.

Common Core

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.

Mastery

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.

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.


Resources

For more information about the resources, click the image below:


Support and Contributions

If you find this repository helpful, please consider starring it to show your support. Your support is greatly appreciated!


Author

Email Github Linkedin Slack