Apprenez à programmer en langage C++ en 3 jours, jusqu’au niveau intermédiaire ou avancé

PROFIL IDÉAL
Informaticiens
LIEU
À Paris Campus Cyber, dans vos locaux ou en ligne
DURÉE
3 jours (21 heures​)
Sessions inter-entreprises
Sessions intra-entreprises
Sessions inter-entreprises
Tarif :
1 800 € HT par stagiaire
PROCHAINES SESSIONS :
Nous contacter
Sessions intra-entreprises
Tarif :
4 500 € HT le stage (jusqu’à 10 stagiaires inscrits)
PROCHAINES SESSIONS :
Nous contacter

CERTIFICATION : Attestation d’Acquisition des Compétences de l’EPITA

Avec notre formation de programmation C++, apprenez à maîtriser les dernières techniques du C++ moderne en 3 jours. Ainsi vous pourrez assurer la sécurité, la maintenance, la portabilité et la performance de vos applications.

Nous avons conçu cette formation en langage C++ grâce aux 40 ans d’expertise de l’EPITA en informatique.

Elle est dispensée par des experts en informatique et enseignants-chercheurs des plus grandes institutions du domaine.

Nous proposons 2 niveaux de formation selon vos besoins et capacités : intermédiaire et avancé.

  • Formation C++ intermédiaire : apprentissage du C++ moderne et des bonnes pratiques du développement en C++
  • Formation C++ avancée : apprentissage des techniques avancées du C++ moderne
  • Pour les 2 niveaux : comprendre le développement C++ dans un monde où la sécurité, la maintenance, la portabilité et la performance sont des enjeux critiques
Cette formation vous intéresse ? Remplissez ce court formulaire
Fill out my online form.
Quelles compétences après la formation ?
  • Les outils de développement et l’écosystème C++
  • L’utilisation efficace de la bibliothèque standard C++ 
  • Les bonnes pratiques pour un développement simple, performant et sécurisé
À qui est destinée cette formation ?

Développeurs.

Quels sont les prérequis ?

Formation C++ intermédiaire :

  • Être à l’aise avec un langage de programmation
  • Une connaissance basique du C/C++ est recommandée

Formation C++ avancée :

  • Avoir un bon niveau en C++
  • Avoir une connaissance du modèle objet et de l’héritage, des lambdas et des templates
Quel matériel devez-vous avoir ?

Vous devrez être munis d’un ordinateur portable avec un environnement de développement C++ préinstallé compatible C++17. Un support sera fourni uniquement sur ces configurations :

  • Unix : GCC 8+/Clang 6+/CMake
  • Windows : Visual Studio 2019/MSVC
  • Mac : XCode/Clang
Comment apprend-t-on ?

Acquisition des compétences de manière interactive en s’appuyant sur des exemples réels et sur des ateliers de réflexion. Apports théoriques et mise en œuvre pratique dans un environnement Unix.

Comment est-on évalué ?

Quiz d’évaluation des connaissances et cas pratiques transmis durant la formation.

Une attestation d’acquisition des compétences de l’EPITA vous est délivrée si vous validez l’ensemble des compétences visées par la formation.

La formation en C++ est accessible aux personnes en situation de handicap. Nous vous invitons à préciser dans le formulaire de renseignement si vous avez besoin d’un accompagnement particulier.

En savoir plus sur l’accessibilité PSH, les modalités et les délais d’accès à nos formations.

MISE EN PLACE D’UN PROJET ET MODÈLE DE COMPILATION
  • Mise en place d’un projet en (Moderne) CMake
  • Phase de compilation d’un projet C++ (sources, objets, bibliothèque statique, bibliothèque partagée)
  • Mode de compilation et bonnes pratiques (Debug Release et flags)
  • Considération des outils de qualité (Coverage, Sanitizers)
Les bases de C++
  • Types et expressions
  • Fonctions et surcharge de fonctions
  • Sémantiques *valeur> vs *référence*
  • Type *automatique*
LE PARADIGME ORIENTÉ « OBJET » EN C++
  • Promesse de cohérence : encapsulation de données et visibilité
  • Promesse de constance : la *const*-qualification
GESTION DES RESSOURCES EN C++
  • Le {scope}
  • Allocation statique vs dynamique
  • RAII
  • Gestion des ressources dynamiques avec la bibliothèque standard : les pointeurs intelligents et les conteneurs
  • Déplacement de ressources avec *std::move*
POLYMORPHISME : L’OBJET SOUS TOUTES SES FORMES
  • Classes abstraites et héritage
  • Méthodes abstraites
  • Co-variance et contre-invariance
  • Application au patron objet *composition*
  • Pièges de la POO (héritage multiple et hiérarchie profonde…)
PROGRAMMATION GÉNÉRIQUE
  • Types paramétriques
  • Algorithmes génériques
  • De l’algorithme au concept
  • Fonction générique et lambdas
GESTION D’ERREURS EN C++
  • Les différents styles de gestion d’erreurs
  • Les exceptions en C++
UN TOUR DE BIBLIOTHÈQUE STANDARD
  • Conteneurs, Itérateurs & Algorithmes
  • Les flux
  • Mathématiques
  • Système de fichiers
C++ ET PROGRAMMATION DÉFENSIVE
  • [[Annotation]]
  • Programmation par contrat (assertions)
  • Type-safety
  • Goods API
LE POLYMORPHISME DYNAMIQUE EN C++
  • Polymorphisme d’héritage et fonctions virtuelles
  • Effacement de type avec « std::function » and « std::any »
  • Comparaison avec le polymorphisme statique des templates et des lambdas
LE TYPAGE EN C++
  • Déduction automatique de type
  • Perfect forwarding et r-values références
PROGRAMMATION PARALLÈLE & ASYNCHRONE EN C++
  • Programmation asynchrone à base de *futures* et *promesses*
  • « Outils de synchronisation « std::atomic » « std::mutex » « std::condition_variable »
  • Modèle mémoire C++
  • Revue des algorithmes parallèles de la Bibliothèque Standard et ouverture vers TBB et HPX
  • Coroutines et le parallélisme en C++2y
MÉTAPROGRAMMATION ET PROGRAMMATION COMPILE-TIME
  • Classes abstraites et héritage
  • Méthodes abstraites
  • Co-variance et contre-invariance
  • Application au patron objet *composition*
  • Pièges de la POO (héritage multiple et hiérarchie profonde…)
PROGRAMMATION GÉNÉRIQUE
  • Dispatch à base de tag, de traits et SFINAE
  • Concepts en C++20
  • Types somme, option : « variant » « optional » « tuple » et continuations
  • Expression compile-time « constexpr » vs
    métaprogrammation à base de type
PROGRAMMATION EFFICACE EN C++
  • Small-buffer optimisation
  • Optimisation mémoire et allocateurs
Ces formations pourraient aussi vous intéresser :
Icône avec un engrenage et des balises ouvertes et fermées représentant le développement web
Formation longue
programme certifiant

Titre RNCP niveau 6 : Formation de reconversion de Développeur Web

Devenez développeur web avec une formation diplômante de 5 mois finançable. Maîtrisez le développement d’applications web en front-end et back-end.

Public: Informaticiens
Durée: 5 mois
Icône avec un engrenage et des balises ouvertes et fermées représentant le développement web
Formation courte

Formation Python pour le Big Data

Apprenez la manipulation massive de données sous Python en 3 jours avec les bibliothèques Numpy et Pandas et en créant des représentations graphiques

Public: Informaticiens
Durée: 3 jours
Retour en haut de page