Skip to content

A collection of projects completed during the 42 Cursus, covering a range of programming topics and challenges.

Notifications You must be signed in to change notification settings

belmqadem/42_Cursus_Projects

Repository files navigation

42 Cursus Projects Repository 🚀

Overview 🌐

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.

Table of Contents 📑

  1. Libft: Your very first own library
  2. ft_printf: Because ft_putnbr() and ft_putstr() aren’t enough
  3. Get Next Line: Reading a line from a fd is way too tedious
  4. pipex: Discover a UNIX mechanism that you already know by using it in your program
  5. Push_swap: Because Swap_push isn't as natural
  6. So Long: And thanks for all the fish!
  7. Philosophers: I never thought philosophy would be so deadly
  8. minishell: As beautiful as a shell
  9. cub3d: My first RayCaster with miniLibX
  10. cpp00-cpp04: C++ Modules from 00 to 04
  11. cpp05-cpp09: C++ Modules from 05 to 09
  12. Inception: One container is not enough. We need to go deeper
  13. Webserv: This is when you finally understand why a URL starts with HTTP

About 42 Cursus ℹ️

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.

Projects Overview 🛠️

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.

Getting Started 🚀

To explore and run the projects, follow these general steps:

  1. Clone the repository to your local machine.
  2. Navigate to the specific project directory.
  3. 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.

License 📜

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! 🚀👩‍💻👨‍💻

About

A collection of projects completed during the 42 Cursus, covering a range of programming topics and challenges.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published