- Becoming My Best Self π
- Creating a Better Tomorrow π€
- New Challenges πͺ
- Collaborative Opportunities π
- Continuous Learning π
Feel free to reach out:
- 4: Mastery
- 3.5: A PingPong game in a Fullstack Web Application: ft_transcendence
- 3.1: [Optional] Python Programming (5 Projects)
- 3: Other Projects in Core curriculum (Docker, Networking, Virtual machine, Administration)
- 2: C++ Programming (CPP00 -> CPP09 and Webserv)
- 1: C Programming (Many projects)
- 0: Piscine: 4 weeks entrance exam at 42 Heilbronn
- Step 1: Algo & AI & Data:
- Data Visualization: dslr - Datascience X Logistic Regression
- Language: Python
- Data Visualization: dslr - Datascience X Logistic Regression
3.5. A PingPong game in a Fullstack Web Application: ft_transcendence
Description: Last project in Core Curriculum at 42, the most "Real-life project" to be ready for real world challenge. Now, foundation is done. It's time to take flight. Project is a PingPong game.
Purpose of Transcendence: To elevate one's skills and understanding beyond the basics, enabling deeper mastery and greater success in both personal and professional realms.
Focus Areas:
- Deep Learning: Understand the underlying principles, fostering critical thinking and problem-solving abilities.
- Adaptability: Become more adaptable and capable of tackling new technologies and challenges.
- Creativity: Promote innovation, encouraging unique solutions to complex problems.
- Collaboration and Peer Learning: Learn from peers and develop strong teamwork skills.
- Personal Growth: Improve technical skills, soft skills, resilience, and independent learning.
- Lifelong Learning: Instill a mindset of continuous growth and adaptation to the evolving technological landscape.
Projects: Developing a full-stack website!
-
Circle 6:
- A FullStack Web Application-Project:42-ft_transcendence
-
Technologies:
- Backend: Django (Python)
- Frontend: HTML/CSS, JavaScript
- Infrastructure: Docker
- Database: PostgreSQL
- Other: ModSecurity && nginx && OWASP, Vault, Three.js/WebGL, redis
- Optional: Python for Data Science (recommend to take it before start ft_transcendence)
- Docker, containers with docker-compose!: 42-Inception (Circle 4)
- Technologies: Docker
- Networking and Subnetting!: 42-NetPractice (Circle 3)
- Technologies: Brain!!
- First Administration knowledge inside a Virtual Machine!: 42-Born2beroot (Circle 1)
- Technologies: Virtual Machine
Purpose: Learn some advanced features.
In C++, we encounter several key concepts that build on the foundations of C. Here are some of the main topics and features we'll learn:
- Object-Oriented Programming (OOP): Classes and Objects, Inheritance, Polymorphism, Encapsulation
- Standard Template Library (STL): Containers, Iterators, Algorithms
- Memory Management: Dynamic Memory Allocation, Smart Pointers
- Advanced Features: Templates, Exception Handling
- Operator Overloading
Projects:
- Our own Server in C++ following HTTP/1.1: 42-Webserv (Circle 5)
- Learning Projects: 42-CPP05, 42-CPP06, 42-CPP07, 42-CPP08, 42-CPP09 (Circle 5)
- Learning Projects: 42-CPP00, 42-CPP01, 42-CPP02, 42-CPP03, 42-CPP04 (Circle 4)
Purpose:
- Algorithmic Thinking: Learn to approach problems methodically, breaking down tasks and optimizing solutions: 42-Minishell, 42-MiniRT, 42-Push_swap, etc.
- Unix/Linux Systems: Master the command line, threads, file I/O, scripting, and system tools in a Unix-based environment.
- Version Control: Use tools like Git to manage code and collaborate effectively.
- Peer Learning: Emphasize learning from peers, working on projects together, and giving/receiving feedback.
- BASH: Learning by recreating Bash: Bash 42-Minishell
- Algorithm to graphic: 42-MiniRT, 42-Cub3D, 42-so_long
- Other basic concepts: multiple Threads 42-Philosophers
Projects:
-
Learn Bash by recreating Bash: 42-Minishell (Circle 3)
-
Graphic:
- Game 2.5D: 42-Cub3D (Circle 4)
- Graphic 3D: 42-MiniRT (Circle 4)
- Game 2D: 42-so_long (Circle 2)
-
Threads: 42-Philosophers (Circle 3)
-
First Algorithm Project: 42-Push_swap (Circle 2)
-
Other learning projects:
- Pipe in Bash: 42-pipex (Circle 2)
- 42-ft_printf (Circle 1)
- 42-get_next_line (Circle 1)
- Our own Library: 42-Libft (Circle 0)
So, alongside C programming, the early curriculum focuses on building a strong foundation in algorithms, system fundamentals, and collaboration skills.
Purpose: Test the ability to cooperate with others and assess logical thinking based on fundamental programming and algorithmic concepts.
- Technologies:
- Language: C
- Console
- Shell
- Git
- Variable type: int, char, pointer, (struct)
- String manipulation
- Passing arguments
- Recursion and iteration
- MacOS
- Slack.
- Visual Studio Code
And following is a recursion project in our Piscine - A 4-week-entrance exam!
- Step 1: Algo & AI & Data:
- Data Visualization: dslr - Datascience X Logistic Regression
- Language: Python
- Python for Data Science: Piscine_Data_Science (Haven't started yet)
- Language: Python
- Data Visualization: dslr - Datascience X Logistic Regression
- Step 2: Web & Mobile (Haven't started yet):
- All mobile's basic: mobile
- Languages: Flutter(Dart)
- Mobile development and SDK: ft_hangouts
- Languages/Tool: SDK + Flutter
- Mobile development and API: swifty-companion
- Languages: Flutter
- All mobile's basic: mobile
- Step 3: Encryption and Security (Cryptography & Math) (Haven't started yet):
- MD5 Hashing Algorithm: ft_ssl_md5
- BASE64, DES-ECB and DES-CBC: ft_ssl_des
- prime number to private RSA keys: ft_ssl_rsa
- Language: C
- Else: Afterwards!