Welcome to my repository for 42 Cursus projects! This collection showcases a series of projects completed as part of the 42 Cursus, providing a comprehensive exploration of various programming concepts and challenges. The projects cover a wide range of topics, from fundamental libraries to more advanced system-level programming.
- Libft: Your very first own library
- ft_printf: Because ft_putnbr() and ft_putstr() aren’t enough
- Get Next Line: Reading a line from a fd is way too tedious
- pipex: Discover a UNIX mechanism that you already know by using it in your program
- Push_swap: Because Swap_push isn't as natural
- So Long: And thanks for all the fish!
- Philosophers: I never thought philosophy would be so deadly
- minishell: As beautiful as a shell
- cub3d: My first RayCaster with miniLibX
- cpp00-cpp04: C++ Modules from 00 to 04
- cpp05-cpp09: C++ Modules from 05 to 09
- Inception: One container is not enough. We need to go deeper
- Webserv: This is when you finally understand why a URL starts with HTTP
The 42 Cursus is a unique and intensive programming curriculum designed to foster practical coding skills through hands-on projects and challenges. This educational model emphasizes peer-to-peer learning, project-based assessments, and a focus on autonomy. Students engage in real-world coding scenarios, developing problem-solving skills and a deep understanding of software development principles.
The projects in this repository cover a spectrum of programming concepts, including:
- Libft: Building a personal library with fundamental functions.
- ft_printf: Creating a custom printf function to format and print output.
- Get Next Line: Programming a function that returns a line read from a file descriptor.
- pipex: A program that emulates the functionality of the shell pipe (|) in the Unix environment.
- Push_swap: Sort data on a stack, with a limited set of instructions, using the lowest possible number of actions.
- So Long: A small 2D game with minilibx. You'll learn about textures, sprites and tiles.
- Philosophers: A project about the basics of threading a process. You will see how to create threads and you will discover mutexes.
- minishell: This project is about creating a simple shell. Yes, your own little bash.
- cub3d: This project is inspired by the world-famous Wolfenstein 3D game, which was the first FPS ever.
- cpp modules: Introduction to Object-Oriented Programming. This will be the starting point of your C++ journey.
- Inception: This project aims to broaden your knowledge of system administration by using Docker.
- Webserv: This project is about writing your ow HTTP server.
- ...
These projects expose students to various languages, frameworks, and technologies, providing a well-rounded learning experience.
To explore and run the projects, follow these general steps:
- Clone the repository to your local machine.
- Navigate to the specific project directory.
- Review the project's README for detailed instructions, dependencies, and build considerations.
Feel free to adapt the projects to your preferred development environment or explore them using the 42-specific setup.
This repository is licensed under the MIT License. Feel free to use, modify, and share the code as per the terms outlined in the license.
Happy coding! 🚀👩💻👨💻