/Athena

God decides that we need a library in 1337

Athena

Athena is coming to our school ( 1337KH ) with blessing of God.

About the project

This project is intended to set up a physical library in 1337Kh sponsored by students and former students or anyone who believes in our skills and potential.

Why?

The 42 network has one of the most effective cursus in the world. The people behind it are smart and know what they are doing. While the cursus can teach you about some the important technical areas in computer science, it is not enough, and 42 knows that. We should learn by ourselves.

With that in mind, we believe that we need a library where we can discover new things, learn more and boost our skills, making 1337 proud of its students.

The companies will be glad to see a 1.5 year student with so much knowlege about software architecture and design patterns... Those skills that a 1337 student would normally learn in the internship.

What books

There are some highly recommended books in computer science that are going to be prioritized over other.

- First Principles

Books outlining theoretical computer science concepts, and underlying fundamentals.

Book Description Quantity
Structure and Interpretation of Computer Programs Known as the "Wizard Book" in the hacker culture. It teaches fundamental principles of computer programming, including : recursion, abstraction, modularity, and programming language design and implementation. wikipedia / course Coming soon

- Design and architecture

Data structures and algorithms are necessary to write understandable and maintainable code.

Book Description Quantity
Clean Code The most popular book among developers, it will help you improve readability and testability of your code, which makes a person a programmer, and a GOOD one. Coming soon
The Clean Coder The Clean Coder refers to the behaviour and discipline in being a programmer and working in a team; making estimations for your tasks, and how to be a professional in the field. 2
Pragmatic Programmer Time is money, this book will help you do your job in the most pragmatic way to help you save time (it's good for beginners). Coming soon
Code Complete: a Practical Handbook of Software Construction A nice addition to The Pragmatic Programmer, gives you the necessary framework to talk about code. Coming soon
Design Patterns: Elements of Reusable Object-Oriented Software This is an introduction to follow patterns that all programmers are familiar with. 3
Refactoring Your code isn't perfect? Let's make it better and better. Coming soon
Programming Pearls description is coming 2
The Practice of Programming (Addison-Wesley Professional Computing Series) description is coming Coming soon
Structure and Interpretation of Computer Programs description is coming Coming soon
Domain-Driven Design: Tackling Complexity in the Heart of Software description is coming 2
Patterns of Enterprise Application Architecture description is coming 2
Working Effectively with Legacy Code description is coming 2
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems description is coming 2
Clean Architecture: A Craftsman's Guide to Software Structure and Design description is coming Coming soon
Code: The Hidden Language of Computer Hardware and Software Developer Best Practices 2

- Algorithms and Data Structures

Learning algorithms & Data Sstructures is so important, especially if you're considering applying to big companies.

Book Description Quantity
Introduction to Algorithms Uniquely combines rigor and comprehensiveness, this book covers a broad range of algorithms in depth. 2
A common sense guide to data structures and algorithms A beginner friendly book for algorithms and data structures 2
The Algorithm Design Manual Let's get some 1337KH students into FAANG. Coming soon
Cracking the Coding Interview: 189 Programming Questions and Solutions Programming Questions and Solutions 2
Grokking Algorithms Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. 2

- The linux Kernel

Because the kernel is a critical component, even the smallest flaw can take whole infrastructures down. Learning how the kernel works is a MUST! We need some students to crack the universe and have no life. Maher recommended these books.

Book Description Quantity
Understanding the linux kernel Learn the internals of the greatest kernel ever written on this fucking planet. 2
Linux Device Driver Learn the module subsystem and driver development. Coming soon
Linux Kernel development Learn how to help developping the kernel maybe introduce a new subsystem. 2
A Guide to Kernel Exploitation: Attacking the Core Learn common kernel programming mistakes and avoid them in your own code. (This book covers the most known UNIX derivatives, Mac OS XNU kernel, Windows NT too). 3
Advanced Programming in the UNIX Environment, 3rd Edition description is coming Coming soon
The Linux Programming Interface: A Linux and UNIX System Programming Handbook description is coming Coming soon
How Linux Works description is coming 2
[The Linux Command Line] (https://www.amazon.com/dp/1593273894) Coming soon
The Art of UNIX Programming Addison-Wesley Professional Computing Series 2

- Languages

We learn languages from videos and it's wrong! Learn from the source:

Book Description Quantity
The C programming language 2
C Programming A Modern Approach 2
Effective C++ 2
Zero To Production In Rust 🦀 Coming soon
Rust for rustaceans 🦀 2
Writing An Interpreter In Go Coming soon
Eloquent javascript 🤑 2
You don't know Js Coming soon
Fluent Python Coming soon
You Don't Know JS description is coming Coming soon
Effective JavaScript description is coming Coming soon
High Performance JavaScript description is coming 2
JavaScript: The Definitive Guide description is coming 2
JavaScript: The Good Part description is coming 2

This List is expandable !( JS is welcome ^_^ )


- AI and Data Science

Let's explore the skill of the century !!

Book Description Quantity
The Machine Learning Simplified: A Gentle Introduction to Supervised Learning (beginner) Simple intuitive examples to explain complex concepts, algorithms or methods, as well as democratize all math behind the scenes. Coming soon
Designing Machine Learning Systems (advanced) This book is for anyone who wants to leverage ML to solve real-world problems 2
Approaching (Almost) Any Machine Learning Problem description is coming Coming soon
Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD description is coming 2
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems description is coming Coming soon
Grokking Deep Learning description is coming Coming soon
Deep Learning with Python (Second Edition) description is coming Coming soon
Machine Learning With PyTorch and Scikit-Learn By sebastian raschka description is coming 2
Practical Natural Language Processing A Comprehensive Guide to Building Real-World NLP Systems description is coming 2
Natural Language Processing with Transformers: Building Language Applications with Hugging Face description is coming Coming soon
Fundamentals of Data Visualization: A Primer on Making Informative and Compelling Figures description is coming 2
Mathematics for Machine Learning (the one by A. Aldo Faisal, Cheng Soon Ong, and Marc Peter Deisenroth) description is coming Coming soon
Introduction to Machine Learning with Python: A Guide for Data Scientists description is coming Coming soon

- Information Security

The biggest issue you'll face in security, and in life, is your own stupidity.

Book Description Quantity
Android Security Internals An In-Depth Guide to Android's Security Architecture 2
Android Hacker's Handbook Discovering and preventing attacks on the Android OS 2
The Art of macOS malware A comprehensive handbook to macOS internals and cracking open these malicious programs and seeing what’s inside. 2
Bug Bounty Bootcamp Bug Bounty Bootcamp is a detailed exploration of the many vulnerabilities present in modern websites and the hands-on techniques you can use to most successfully exploit them. 2
Black Hat Go Explore the darker side of Go. 2
Hacking APIs A detailed course to conduct web API security testing. 2

- Networking

Net Practice is a joke we are serious now!

Book Description Quantity
** Networking Essentials: A CompTIA Network+ 6th Edition ** description is coming 2

- Miscellaneous

The books found here are not really categorized and can be anything, under the IT umbrella.

Book Description Quantity
RTFM (RED TEAM FIELD MANUAL) Just like the name says, this book is for red teams who occasionally find themselves scanning through man pages Coming soon
APPRENDRE 3.0 A book by the inventor of the pedagogy of Epita, Epitech, school 42 and zone 01 Coming soon
The Mythical Man-Month Essays on Software Engineering and project management 2
** Gödel, Escher, Bach: An Eternal Golden Braid ** description is coming 1

- Conception

Book Description Quantity
** Applying uml and patterns: introduction to OOA/D & interactive development** Learn how project modeling works with UML 2

Where is the X book

May the strength of Ares and wisdom of Athena see you through. Feel free to pull request and we will discuss the X book.

Athena Club Moderators

Maher Azzouzi - Ismail Ait Bella