This repository contains various projects completed during the academic journey at 42 School of Paris. Each project covers different programming concepts and challenges. Below is a brief description of each project:
Introduction to C programming language. This project focuses on familiarizing students with C syntax, data types, loops, and basic algorithms.
Introduction to C++ programming language. This project aims to teach C++ concepts such as classes, inheritance, polymorphism, and basic object-oriented programming principles.
A graphic design project that involves creating a simple 3D game using the raycasting technique. The project helps improve skills in working with windows, colors, events, and shape filling. It also explores mathematical applications in algorithms.
An implementation of C++ standard template library containers. The project requires implementing vector, map, and stack, along with related components like iterators, enable_if, and other standard library features.
An IRC (Internet Relay Chat) server implementation in C++ 98, based on RFC 1459. The project involves handling client connections and messages but doesn't include server-to-server communication.
A re-implementation of the printf function in C. The project focuses on understanding formatting and handling various data types.
A web application that allows users to play Pong with each other, create chat channels, and interact in real-time. The app is built using NestJS for the backend, VueJS 3 for the frontend, and PostgreSQL for the database.
A function to read text lines from a file descriptor one at a time. The function reads until a newline character is encountered and returns the line or NULL if there is nothing more to read or an error occurs.
A system administration project where students set up a small infrastructure using Docker and Docker Compose. The setup includes NGINX with TLS, WordPress with PHP-FPM, and a MariaDB database.
Recreation of some standard C library functions in assembly language. Functions like strlen, strcpy, strcmp, write, read, strdup, and others are implemented in assembly. It also contains functions for linked list manipulation.
A library containing re-implemented libc functions and additional utility functions. The library includes functions like isalpha, isdigit, memset, memcpy, strchr, strlcpy, atoi, and more. It also contains functions for linked list manipulation.
A simple shell implementation with basic functionalities like displaying a prompt, handling history, executing commands, interpreting quotes and special characters, implementing redirections, pipes, and environment variables.
A solution to the dining philosophers problem using multithreading in C. The project focuses on synchronization and thread management.
A program that simulates shell pipes in C. It reads input from a file, executes two commands on the data, and writes the output to another file.
A sorting project that involves manipulating data on a stack using a limited set of instructions. The challenge is to find the most efficient solution for sorting the data with the fewest actions.
Note: The descriptions provided here are brief summaries of the projects' objectives. For in-depth details and requirements, check the individual project subjects.