You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is where I keep all my coding projects from my time at 42. I'm studying at 1337 (part of the 42 Network) and I'm learning everything from scratch - starting with C programming and working my way up to building entire web apps.
What makes 42 different is there are no teachers and no lectures. Instead, you figure things out on your own, work on real projects, and learn alongside other students. Every project has to go through peer reviews (we call them "corrections") before you can move forward. It's intense, but it's a great way to learn how to code and solve problems.
In this repo, you'll find my progress through the whole curriculum - from basic stuff like coding my own C library to more complex projects like building web servers and creating full-stack applications. Each project taught me something new about computer science and software development.
The 42 curriculum is structured like a galaxy of projects, organized in concentric circles from basic to advanced:
Inner Circle (Common Core)
Begins with fundamental C programming
Projects increase in complexity as you progress
At certain points, you can choose between different projects:
For example, between graphics projects (FdF/fract-ol) or Unix projects (minitalk/pipex)
Some levels offer multiple project options, where you only need to complete one to progress
All mandatory phases must be completed to finish the common core
-Required for activities like internships and student exchange
Outer Treks
A collection of diverse project trails available after the inner circle
Covers various specialization areas:
Operating Systems
Web Development
Graphics
Network & System Administration
And more...
These tracks allow students to specialize in their preferred areas of software development and computer science.
Note: The Holy Graph visualization above maps the complete curriculum structure. The turquoise nodes indicate completed projects, while grey nodes represent projects yet to be tackled. Each connection line shows the prerequisites needed to unlock the next project, with some levels offering multiple paths to choose from.
Projects
The following table lists the projects I've completed as part of the 42 Cursus. Each project is linked to its repository, where you can find the project's description, requirements, and my implementation.
These are some of the books I've read or plan to read to deepen my knowledge in computer science, programming, and other subjects.
Name
Description
Category
Image
The Linux Programming Interface-Michael Kerrisk
A comprehensive guide to system programming on the Linux platform by Michael Kerrisk. Covers system calls, libraries, and more.
Computer System-level Programming
Advanced Programming in the Linux Environment
Explores advanced topics in Linux programming, offering insights into system calls, libraries, and techniques for efficient software development.
Computer System-level Programming
Operating System Concepts
A classic textbook on operating system principles and concepts, providing a foundational understanding of OS design and functionality.
Computer System-level Programming
Networking Essentials - A CompTIA Network+ N10-008 Textbook
Provides comprehensive coverage of essential networking concepts and technologies required for CompTIA Network+ certification exam N10-008. Authored by Jeffrey S. Beasley and Piyasat Nilkaew, this textbook offers detailed explanations and practical examples to help readers understand networking fundamentals.
Computer Networking
Computer Networks - A Tanenbaum - 5th edition
A comprehensive textbook on computer networking, authored by Andrew S. Tanenbaum, covering a wide range of networking topics including protocols, architectures, and applications.
Computer Networking
UNIX Network Programming Volume 1, Third Edition: The Sockets Networking API
A classic reference on UNIX network programming, authored by W. Richard Stevens, offering in-depth coverage of the Sockets API and various networking concepts on UNIX-based systems
Computer System-level Programming
Contact
Feel free to reach out to me if you have any questions, suggestions, or just want to chat!