Skip to content

agiraudet/42school

Repository files navigation

42 School Projects

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:

c_pool

Introduction to C programming language. This project focuses on familiarizing students with C syntax, data types, loops, and basic algorithms.

cpp_pool

Introduction to C++ programming language. This project aims to teach C++ concepts such as classes, inheritance, polymorphism, and basic object-oriented programming principles.

cub3d

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.

ft_containers

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.

ft_irc

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.

ft_printf

A re-implementation of the printf function in C. The project focuses on understanding formatting and handling various data types.

ft_transcendence

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.

get_next_line

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.

inception

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.

libasm

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.

libft

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.

minishell

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.

philosophers

A solution to the dining philosophers problem using multithreading in C. The project focuses on synchronization and thread management.

pipex

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.

push_swap

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.

About

42 school common core projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published