Apprendre à apprendre
Le programme d’apprentissage de 42 est basé sur les principes de la « gamification », du « learning-to-learn » et de l’apprentissage entre pairs. Nos apprenantes et apprenants instruisent l’un l’autre et s’entraident. Les échecs sont des opportunités d’évoluer : teste un programme, comprends tes erreurs et continue ton chemin.
Au cours de cette aventure, tu seras confronté(e) à une sélection de près de 150 projets, dont la durée de réalisation varie de 2 jours à 6 mois, en fonction de leur envergure, de leur complexité et de ton rythme de progression.
Entre 12 mois à 5 ans
1re partie
Le tronc commun
La première partie du programme 42 est le tronc commun – où tu apprendras les fondamentaux du génie logiciel : la programmation en C, les algorithmes et le développement de logiciels, les systèmes de fichiers, UNIX, l’administration système et l’architecture réseau. Bien que chacun progresse à son propre rythme, il faut compter en moyenne environ 12 à 18 mois pour le terminer.
Après avoir réussi le tronc commun, tu as deux options : tu peux choisir de terminer la formation et de recevoir ton certificat 42, attestant du niveau que tu as atteint, ou tu peux choisir de continuer à développer tes compétences dans la deuxième partie, la spécialisation.
2e partie
La spécialisation
La deuxième partie concerne la spécialisation, où tu peux décider de la direction que tu veux prendre : des domaines tels que, entres autres, l’IA, le développement mobile ou web, la cybersécurité ou une combinaison de ces domaines sont à ta disposition. La neutralité vis-à-vis des marques, des technologies et des langages de programmation est mise en avant afin de rester adaptatif pour les besoins du futur. Cette partie comprend plus de 100 projets à réaliser en groupe ainsi que des stages facultatifs et des programmes d’entrepreneuriat. Chaque apprenante et apprenant peut décider seul(e) du moment où il/elle est prêt/prête à passer à l’étape suivante pour commencer sa carrière et devenir un alumni.
LES DOMAINES ET LEURS COMPÉTENCES
LE DÉVELOPPEMENT DE LOGICIELS
La programmation impérative
- C
La programmation fonctionnelle
- OCaml
- Lisp
La programmation orientée objet (POO)
- C++
- C#
- Java
- Swift
- Le développement mobile
Les algorithmes et l’IA
- L’apprentissage automatique ou artificiel
- L’apprentissage en profondeur
- Le réseau de neurones artificiels
- L’algorithme génétique
- Les mathes
Programmation graphique
- L’informatique visuelle
- Jeux
- OpenGL
- Vulkan
- Metal
L’ADAPTATION ET L’INNOVATION DANS LES TECHNOLOGIES NUMÉRIQUES
Savoir s’adapter et être créatif
- L’innovation
- Sortir des sentiers battus
Le web
- Le développement back-end
- Le développement full-stack
- Les frameworks
- Rails
- Django
- Node
- React
- Symfony
L’intégration technologique
- Des environnements complexes
- Des environnements hétérogènes
- Des programmes d’entrepreneuriat
LA CONCEPTION ET LA GESTION DE SYSTÈMES INFORMATIQUES
La programmation système
- UNIX
- Posix
- Kernel
- Bas niveau
- Les systèmes embarqués
Le réseau et l’administration du système
- Architecture réseau
- Administration système
- L’adresse IP
- Le Cloud
- Le DevOps
- La virtualisation
- L’intégration continue
La sécurité
- Les virus
- Les rootkits
- Les trojans
- Les exploits
- Les pare-feux
- Les contre-mesures
- Les backups
- Attaque de type Man-In-The-Middle
- Usurpation d’adresse IP
Les données et leurs bases
- SQL
- PostgreSQL
- MySQL
- Oracle
- Les data lakes
- NoSQL
- Data lake
- La visualisation des données
- L’exploration de données
Programmation parallèle
- Les threads
- Les mutexes
- Les sémaphores
- La programmation concurrente
- La programmation GPU
- Cuda
- OpenCL
LA COMMUNICATION ET LA GESTION DE GROUPES ET DE PROJETS
La rigueur
- Le style de codage
- Les tests de régression
L’organisation
- L’organisation personnelle
- La gestion de projet
L’expérience industrielle
- Les stages
- Programme travail-étude (work-and-study)
La gestion et la communication des groupes et des projets
- La gestion de groupe
- La communication
Le freeze
Pour faire face à des imprévus, les apprenants disposent d’un outil : le Freeze. Pendant le tronc commun, il permet de mettre en pause, jusqu’à un maximum de trois fois, pour une durée totale n’excédant pas six mois. Par la suite, durant la spécialisation, les apprenants auront un degré de liberté plus accru et plus d’opportunités pour gérer leur temps ; tu auras la possibilité de combiner ta spécialisation avec un stage et d’autres expériences professionnelles.
Le certificat 42
42 est un programme de formation viable visant une intégration à long terme sur le marché du travail. Les offres d’emploi ne manquent pas dans le secteur de l’informatique : dès la fin de leur premier stage, deux tiers de nos apprenants se voient proposer leur premier CDI. Le certificat 42 est délivré lorsque l’apprenant décide de mettre fin à sa formation après avoir terminé le tronc commun. Il atteste du niveau final obtenu à 42. Selon le parcours choisi par l’individu, il va du niveau 9 (validation du tronc commun) au niveau 21 (validation de plusieurs branches thématiques disponibles dans la spécialisation, et pouvant inclure des périodes de professionnalisation).