Welcome to my 42 Madrid Cursus portfolio! Here you will find an overview of the skills and projects I’ve developed throughout my journey at 42 Madrid, a highly innovative, self-paced programming school that uses a peer-to-peer learning model.
42 is a global, innovative coding school that emphasizes self-learning, collaboration, and hands-on project work. There are no teachers, only peers. This educational approach challenges students to develop both hard and soft skills while working on real-world problems in a variety of programming languages and technologies.
Project | Description | Topics | Score |
---|---|---|---|
![]() |
libft: Your first C library, replicating standard functions and adding custom utilities. | C, Makefile, Library | |
![]() |
get_next_line: Reads a line from a file descriptor, essential for file and input handling. | C, File I/O, Reading | |
![]() |
ft_printf: A custom implementation of printf, supporting basic formatting and variadic functions. | C, Makefile, Print | |
![]() |
Born2beroot: Introduction to virtualization with a custom Linux server setup | Shell, Virtualization | |
exam-02 |
Rank 2 exam, testing knowledge of C basics | C, Exam | |
![]() |
so_long: A 2D game using MLX42, focusing on graphics, sprites, and game logic.! | C, Makefile, UX, Graphics, Videogame | |
![]() |
push_swap: Sorts data on a stack using a limited set of instructions, optimizing for the fewest moves. | C, Makefile, Sorting Algorithms | |
![]() |
pipex : Mimics shell pipes, handling command execution and I/O redirection. | C, Makefile, Fork, Process Management | (WIP) |
Project | Description | Topics |
---|---|---|
exam-03 |
Rank 3 exam, testing knowledge of ft_printf, and get_next_line. | C, exam, ft_printf, get_next_line |
philosophers | Simulates the dining philosophers problem, exploring threads and mutexes | C, Makefile, Thread, Mutex |
minishell | A minimal shell implementation, handling basic commands and pipelines. | C, Makefile, Shell |
exam-04 |
Rank 4 exam | C, exam, mini_paint, micro_paint |
[cub3d] | A raycasting-based 3D game inspired by Wolfenstein 3D. | C, Makefile, 3D Rendering, FPS, UX |
[miniRT] | An introduction to ray tracing, creating simple 3D scenes with lighting. | C, Makefile, Graphics, Raytracing |
[CPP Modules 00-04] | Introduction to C++, covering OOP, memory management, and polymorphism. | C++, Makefile, OOP |
[NetPractice] | A networking exercise to understand IP addressing and subnetting. | Networking, System Admin |
exam-05 |
Rank 5 exam | C, Makefile, exam, minishell, microshell |
[Webserv] | Build an HTTP server, learning the basics of web protocols. | C++, Networking, Web |
[ft_irc] | Create an IRC server, compatible with official IRC clients. | C++, Networking, IPC |
[Inception] | A Docker-based project to virtualize multiple services in a custom VM. | Docker, System Admin, Virtualization |
exam-06 |
Rank 6 exam | C, Exam |
[ft_transcendence] | A full-stack web project, creating a platform for a Pong tournament. | Web, Full-stack, Group Project |
Project | Description | Topics |
---|---|---|
[FdF] | A 3D wireframe renderer, visualizing maps in 3D using simple graphics. | C, Makefile, Graphics, 3D Rendering |
[fract-ol] | A fractal renderer, exploring complex numbers and graphical optimization. | C, Makefile, Graphics, Fractals |
[minitalk] | A small data exchange program using UNIX signals. | C, Makefile, Signals, IPC |
Throughout the Cursus, I developed strong technical skills in the following areas:
- C/C++ programming
- Makefiles
- Shell scripting (Bash)
- Version control with Git
- Networking fundamentals
- Docker
- SQL (database management)
- Web development (HTML, CSS, WordPress, JavaScript)
- Computer graphics and visualization
- Assembly language
42's unique peer-to-peer approach also helped me grow in the following key areas:
-
Self-learning & Proactivity
Emphasized as a core value at 42, where we learn by researching, questioning peers, and experimenting independently. -
Teamwork
Collaborating on group projects that require a balance of different knowledge levels and finding a unified working methodology. -
Time Management & Resilience
With the freedom to work at any time (24/7), managing deadlines and staying motivated through challenging workloads is crucial.
Here are some of the main tools and technologies I’ve used during my time at 42 Madrid:
-
Bash
-
Git
-
C
-
Makefiles
-
Codam's MLX42 (for graphics)
-
Docker
-
C++
-
HTML/CSS
-
JavaScript
-
Node.js
-
SQL
-
SQL databases