Welcome to the 42 Projects Repository! Here you'll find a collection of projects covering various topics and technologies. Each project is designed to challenge and expand your skills in different areas of software development.
- Python for Data Science
- Cloud1
- ft_ls
- scop
- Zappy
- Piscine Object
- snow-crash
- rainfall
- libasm
- matrix
- libftpp
- override
Python for Data Science is a Python piscine designed to introduce you to the world of data science. Through a series of exercises and projects, you'll learn essential Python programming skills and how to apply them to analyze and visualize data.
- Python basics
- Data manipulation with pandas
- Data visualization with matplotlib and seaborn
- Introduction to machine learning with scikit-learn
Cloud1 focuses on configuring automation tools for development and production environments of the Inception project. You'll learn how to leverage AWS services and Ansible for efficient and scalable cloud infrastructure management.
- AWS services (EC2, S3, RDS, etc.)
- Infrastructure as Code (IaC) with Ansible
- DevOps practices for cloud-based projects
- Automation and deployment pipelines
ft_ls is a custom implementation of the ls
command in C, with additional features and bonuses. Through this project, you'll gain a deeper understanding of file system operations and command-line tool development.
- Support for various options (e.g.,
-l
,-R
,-a
) - Bonus features such as colorized output and column formatting
- Cross-platform compatibility
scop is an object renderer developed using OpenGL and GLSL. In this project, you'll implement functionalities to render objects with different textures, apply shaders for visual effects, and interactively rotate the object in a 3D environment.
- Texture mapping
- Shader programming for custom visual effects
- 3D object manipulation with user input
Zappy is an all-in-one project focused on game development, TCP networking, and AI. You'll work on building a multiplayer game server, implementing TCP communication protocols, and developing AI algorithms for player interaction and game strategy.
- Game server development
- TCP networking and protocol design
- AI algorithms for game strategy
Piscine Object is a C++ piscine covering advanced object-oriented topics. Through a series of exercises and projects, you'll delve into inheritance, polymorphism, templates, and other advanced C++ features to master object-oriented programming concepts.
- Inheritance and polymorphism
- Template programming
- Smart pointers and memory management
- Design patterns and best practices
- Module 00 - Encapsulation
- Module 01 - Relationship
- Module 02 - UML
- Module 03 - SMART
- Module 04 - Design Pattern (C++98)
- Module 04 - Design Pattern
- Module 05 - Pratical work
snow-crash is a project that forces you to explore a VM given to you and you must find how to access the next level (user) You will need to implement different exploits and use a lot of creativity.
rainfall is a project that forces you to explore a VM given to you and you must find how to access the next level (user) You will need to implement different exploits and use a lot of creativity. This is the continuation of snow-crash
override is a project that forces you to explore a VM given to you and you must find how to access the next level (user) You will need to implement different exploits and use a lot of creativity. This is the continuation of rainfall & it's the last module of this branch
libasm is a project covering the basics of the assembly language (64 bits architecture with Intel syntax)
- ft_read (man 2 read)
- ft_strcmp (man strcmp)
- ft_strcpy (man strcpy)
- ft_strdup (man strdup)
- ft_strlen (man strlen)
- ft_write (man 2 write)
You will also learn how to load dynamically assigned objects (through the PLT [Procedure Linkage Table]) like the ones in glibc.so.6
matrix is a project that allows you to explore Vectors and Matrixes, after this project you should have no problems understanding linear algebra, and how useful are matrixes and vectors in programming.
libftpp is your first real multiuse library developed with C++17.