Here you'll find all the projects I've done at 42 Abu Dhabi, which is a free coding school that's part of 42's global network. Fellow students can also find my projects on the Intra through my username: athekkep
A free coding school started by Xavier Niel, a businessman in the French telecommunications industry. 42 first started in Paris in 2013 and soon spread to more than 20 countries. One of the latest is 42 Abu Dhabi, where I'm a student.
- Project-based approach: We learn through projects, where each introduces a new concept in computer science for us to master.
- Peer-to-peer learning: There are no teachers; students must figure out how to do projects on their own or with the help of others.
- Self-paced: There are no project deadlines. We work at our own pace, although the program must be completed within 18 months.
More about 42's curriculum can be found here.
- Projects are grouped together in—what we colloquially refer to as—'circles' along the lines of difficulty and complexity. To progress to the next circle, you must complete all the projects and the exam in the current circle.
- Each project has a mandatory part that is graded out of 100, while most have an additional bonus part graded out of 25. So the highest grade for projects with bonus is 125. But a bonus is only graded if the mandatory is perfect and most projects can be passed without getting a 100.
- Exams are graded out of 100 and a full score is needed to pass—no bonuses. There's one exam in each circle except for circles 00 and 01.
Order | Circle | Project | Description | Base | Date finished | Grade |
---|---|---|---|---|---|---|
01 | 00 | Libft | Recreate functions from the C standard library plus others. | C | Oct 12, 2021 | 125/125 |
02 | 01 | get_next_line | Write a function that returns a line ending with \n or EOF from a file descriptor. | C | Oct 19, 2021 | 125/125 |
03 | 01 | Born2beroot | Set up a server on a virtual machine. | VirtualBox | Oct 23, 2021 | 125/125 |
04 | 01 | ft_printf | Create a function that mimics printf(). | C | Nov 02, 2021 | 125/125 |
05 | 02 | minitalk | Create a data exchange program using UNIX signals. | C | Nov 18, 2021 | 125/125 |
06 | 02 | pushswap | Sort a given stack using a limited set of moves, and do so with the least possible number of moves. | C | Nov 21, 2021 | 125/125 |
07 | 02 | Exam Rank 02 | NA | C | Dec 16, 2021 | 100/100 |
08 | 02 | so_long | Make a 2D game with animations where you've to collect valuables while dodging enemies. | C | Dec 16, 2021 | 125/125 |
09 | 03 | Philosophers | Write a program that solves the dining philosophers problem. | C | Feb 11, 2022 | 125/125 |
10 | 03 | Exam Rank 03 | NA | C | Mar 09, 2022 | 100/100 |
11 | 03 | minishell | Create a shell like bash. (This project was done with @mohd04) |
C | Mar 22, 2022 | 110/125 |
12 | 04 | cub3d | Create a 3D maze using raycasting. (This project was done with @Kaydooo) |
C | Apr 29, 2022 | 125/125 |
13 | 04 | NetPractice | Configure several small-scale networks through TCP/IP addressing. | TCP/IP | May 12, 2022 | 100/100 |
14 | 04 | Exam Rank 04 | NA | C | Jun 17, 2022 | 100/100 |
15 | 04 | CPP Modules | Learn the fundementals of C++ and OOP. (See CPP folder for descriptions of specific projects) | C++ | July 5, 2022 | 100/100 |
16 | 05 | webserv | Create a HTTP server. (This project was done with @mohd04 & @Basam1881) |
C++ | Dec 19, 2022 | 110/125 |
17 | 05 | ft_containers | Reimplement the vector, map, stack, and set containers plus other components of C++'s STL library. | C++ | Jan 24, 2023 | 125/125 |
18 | 05 | Inception | Set up a containerized infrastructure composed of NGINX, WordPress, MariaDB, and other services. | Docker | Feb 25, 2023 | 125/125 |
19 | 05 | Exam Rank 05 | NA | C++ | Mar 16, 2023 | 100/100 |
20 | 06 | Exam Rank 06 | NA | C | May 18, 2023 | 100/100 |
21 | 06 | Transcendence | Create a website that enables users to set up profiles, chat with friends, and play multiplayer Pong. (This project was done with @alia1738, @Anastasiia-Ni, @ann1738 & @gkintana) |
NestJS React Postgres |
Jul 07, 2023 | 100/100 |