Skip to content
This repository was archived by the owner on Aug 12, 2025. It is now read-only.

Nimpoo/42_Common_Core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42_Common_Core

The 42 Common Core is the secret sauce that makes the 42 curriculum unique. It is a set of common skills and knowledge that all students are expected to master in programming, algorithms, and computer science. Each "circle" represents a different area of expertise, and students are expected to complete all 6 circles to be free from the Black Hole and open the doors of specialization and professionalization.

Each circle learns a different set of skills:

  1. Creation of our **library, the libft, learning the basics of C programming, what is a library, compilation, linking, pointers, memory allocation, and the Makefile.
  1. Recreation of a simplify version of the printf function, learning about variadic functions, and how to handle different data types : ft_printf.
  2. Learning about file descriptors, system calls, and how to handle input/output in C: get_next_line.
  3. And learning about Virtual Machine, setting up an OS, like Debian. This third project of the circle is not present in my repository, as it is not a coding project but rather a setup project (even if I can provide the setup steps if needed). It's named Born2BeRoot
  1. Learning about data structures, linked lists, and how to manipulate them combined by learning how to implemante a sorting algorithm: push_swap.
  2. Learning about memory management, dynamic memory allocation, and use of a graphic library: so_long.
  3. Learning about signals, processes, server and client communication: minitalk.
  1. Learning about multithreading, mutexes, and how to handle multiple threads in a program: philosophers.
  2. Creation of a shell, learning about parsing, execution of commands, and a lot of other concepts related to shell programming: minishell.
  1. Learning the method of RayCasting to create a 3D game: cub3D.
  2. Learning the of a new programming language, C++, it's the C++ Pool, we learn all the fundamentals of C++, like classes, inheritance, polymorphism, templates, and more: cpp_pool.
  1. Learning about networking, HTTP, and how to create a web server: webserv.
  2. Learning about containers, docker, and how to create a containerized application and deploy it: inception.
  • Circle 6:

  1. Creation of a complete web application with a full stack, using React, Next.js, Python Django, and a lot of other techno: ft_transcendence.

Doing all these projects are not sufficient to come to the superior circle. You need to pass the exams of each circle to be able to go to the next one.

And this is how the 42 Common Core is represented, by the Holy Graph:

42 Holy Graph