~2.5 yearsCNo instructors, peer learning

42Tokyo — Common Core

Completed the core curriculum at 42Tokyo, an engineering school, learning algorithms, memory management, and UNIX systems programming centered on C.

Foundational projects

Rebuilt the standard library (libft), a printf clone handling variadic arguments (ft_printf), and a line-by-line file reader (get_next_line) — all without using the standard library — to build a solid grounding in C, pointer manipulation, and memory management.

Concurrency and shells

Implemented the dining philosophers problem with pthreads and mutexes (philosophers, handling deadlock avoidance and starvation detection), process piping via fork/exec (pipex), and a shell rebuilt from scratch (minishell — tokenizing, parsing, environment-variable expansion, pipes/redirection/heredocs, builtins like cd and export, and signal handling), gaining an implementation-level understanding of process control and concurrency.

Algorithms and graphics

In push_swap, designed a sorting algorithm working with only two stacks and a limited instruction set, optimizing for operation count and runtime. Built a 2D game (so_long) and a raycasting-based pseudo-3D engine (cub3d, using minilibx for map loading and wall texture mapping).

How I learned

In an environment with no instructors or textbooks, I built the self-driven ability to read source code, verify behavior with a debugger, and refine my work through discussion with peers.