The content
A project-based learning
Piscines
Throughout their course, students can learn specific notions or a particular language of their choice very quickly via small piscines. As with the selection piscine, the format includes: modules, rushes in groups of 2 to 4 people, corrections between students in the piscine and automated corrections by the famous Moulinette.
Regarding the concepts or languages covered in these piscines, 42 Nice offers a wide variety of piscines – from Swift iOS to Python-Django and OCaml: you’re bound to find what you’re looking for. Naturally, the list of available piscines is updated over time to meet the demands of the job market.
Algorithmics
During your common core at 42 Nice, you’ll be asked to carry out an algorithm project called push-swap. This project involves using computer algorithms to sort a list of numbers as efficiently as possible. Of course, there’s no single best way to do this: there are many different sorting algorithms, each with its own implementation.
For the more persevering, there is a post comme core specialty entirely dedicated to algorithms. The first project is called lem_in and involves solving a maze as quickly as possible using graph traversal algorithms.
Graphics
The 42 Nice program offers a number of graphic design projects.
Among them, you’ll find :
- Fract-ol: As the name suggests, this project involves the creation of a fractal, allowing you to concentrate on the graphic programming of images while immersing yourself in a psychedelic universe.
- MiniRT: This project is an introduction to raytracing, a method of calculating images on a computer.
- Cub3D: This project is inspired by the first FPS of the 90s: Wolfenstein 3D. The aim is to create a mini-game in which the player must navigate a labyrinth based on the concept of raycasting.
Web
The first web project you’ll be asked to complete comes at the very end of the common core and is entitled ft_transcendence. In this project, you’ll learn how to recreate the 1979 classic Pong, integrate it into a website and turn it into a platform for competitive play.The site must be able to offer the possibility to launch a game between different players and include a system of registration, victories and losses, a ranking system, a spectator mode and a chat system consisting of channels and private messages. It’s good to play a video game, but it’s even better to program one!
Of course, there are numerous other web projects to explore: there’s a specialization devoted to this.
Security & viruses
Once you’ve completed the common core, you’ll have access to a specialization dedicated to security, and another dedicated to viruses.
The former will enable you to discover security through different sub-fields, familiarize yourself with several languages, develop a certain logic to understand unknown programs, and thus become aware of the problems linked to simple programming errors. The second, dedicated to viruses, will help you discover the full extent of how viruses work through practical case studies. In fact, in this branch, you’ll learn how to code viruses – of course, these viruses are intended for educational purposes only, and precautions are taken when creating and evaluating them.