Le programme

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 intruisent 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 18 mois à 5 ans

1e 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 3 fois, pour une durée totale n’excédant pas 6 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).