Microsoft

Programmation C++ avancée et pratiques modernes

Microsoft

Programmation C++ avancée et pratiques modernes

 Microsoft

Instructeur : Microsoft

1 525 déjà inscrits

Inclus avec Coursera PlusEn savoir plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

4 semaines à compléter
à 10 heures par semaine
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

4 semaines à compléter
à 10 heures par semaine
Planning flexible
Apprenez à votre propre rythme

Compétences que vous acquerrez

  • Catégorie : Conception de l'application
  • Catégorie : Développement d'applications
  • Catégorie : Documentation du logiciel
  • Catégorie : Documentation technique
  • Catégorie : Algorithmes
  • Catégorie : Évolutivité
  • Catégorie : Structures de données
  • Catégorie : Optimisation des performances
  • Catégorie : Gestion de la mémoire

Outils que vous découvrirez

  • Catégorie : IA générative
  • Catégorie : C++ (langage de programmation)

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Élaborez votre expertise en Développement de logiciels

Ce cours fait partie de la Certificat Professionnel Introduction de Microsoft à la programmation C++
Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à ce Certificat Professionnel.
  • Apprenez de nouveaux concepts auprès d'experts du secteur
  • Acquérez une compréhension de base d'un sujet ou d'un outil
  • Développez des compétences professionnelles avec des projets pratiques
  • Obtenez un certificat professionnel partageable auprès de Microsoft

Il y a 5 modules dans ce cours

Standard Template Library (STL) établit une base solide dans le C++ moderne en mettant l'accent sur l'utilisation efficace de la Standard Template Library (STL) pour écrire un code performant et facile à maintenir. Les apprenants explorent comment sélectionner et implémenter les conteneurs STL appropriés pour les différentes exigences de stockage et d'accès aux données, appliquer des algorithmes pour traiter les données efficacement, et utiliser des itérateurs pour parcourir et manipuler les éléments du conteneur avec précision. Le module présente également les objets de fonction, les expressions lambda, les comparateurs personnalisés et les prédicats, ainsi que les caractéristiques modernes de la plage C++20, afin de soutenir des pipelines de traitement de données expressifs et réutilisables. Grâce à des démonstrations concrètes, des activités de codage pratiques, des laboratoires et des discussions guidées, les apprenants font le lien entre les concepts STL et les compromis pratiques en matière de performances et les scénarios de développement professionnel, ce qui les prépare à concevoir des applications C++ évolutives et prêtes à être utilisées dans l'industrie.

Inclus

7 vidéos5 lectures4 devoirs6 laboratoires non notés

Concurrence et multithreading explore la concurrence et le multithreading en C++, permettant aux apprenants d'acquérir les compétences nécessaires pour construire des applications de haute performance qui utilisent pleinement les processeurs multi-cœurs modernes. En commençant par les principes fondamentaux des threads et la gestion de leur cycle de vie, le module progresse à travers les mécanismes de synchronisation qui empêchent les conditions de course et garantissent la sécurité des threads. Les apprenants maîtriseront les opérations atomiques pour une programmation sans verrou et mettront en œuvre des modèles de programmation asynchrones à l'aide de futures et de promesses. Grâce à la pratique avec des scénarios réels, y compris le traitement des requêtes des serveurs Web et les systèmes d'analyse des données parallèles, les participants développeront la capacité d'analyser et de résoudre les défis communs de la programmation concurrente tout en appliquant les meilleures pratiques de l'industrie pour la construction d'applications robustes et évolutives.

Inclus

6 vidéos4 lectures4 devoirs6 laboratoires non notés

Best Practices and Code Optimization se concentre sur les meilleures pratiques et les techniques d'optimisation du code essentielles au développement d'applications C++ de haute performance. Les apprenants analyseront le code à la recherche de goulots d'étranglement en matière de performances et appliqueront des stratégies d'optimisation pour améliorer la vitesse d'exécution et l'utilisation de la mémoire. Le module couvre les techniques d'optimisation de la mémoire, y compris les dispositions de données adaptées au cache et l'allocation du pool de mémoire, l'analyse des données en cours d'utilisation de la Notation Big-O, et l'optimisation du compilateur par le biais de drapeaux et de directives pragma. En outre, les apprenants mettront en œuvre des idiomes C++ modernes tels que les principes RAII et la sémantique de déplacement, utiliseront des outils de profilage pour mesurer et valider les améliorations de performance, et développeront le jugement pour équilibrer la lisibilité du code avec les exigences d'optimisation dans des contextes de développement de logiciels professionnels.

Inclus

6 vidéos4 lectures4 devoirs6 laboratoires non notés

Modern C++ Features and Documentation explore les fonctionnalités modernes du C++ et les pratiques de documentation professionnelle essentielles au développement de logiciels contemporains. Les apprenants utiliseront les puissantes fonctionnalités de C++17 et C++20, y compris les liaisons structurées, std::optional, std::variant, les concepts, les gammes et les coroutines, tout en comprenant l'évolution du langage et les orientations futures. Le module couvre également les principes de documentation complète, du commentaire de code efficace et de la documentation API aux normes d'organisation de projet. En outre, les apprenants utiliseront les outils GenAI pour générer et maintenir la documentation de manière efficace, en appliquant les meilleures pratiques pour l'évaluation de la qualité et l'intégration du flux de travail afin de s'assurer que la documentation reste précise, à jour et précieuse pour les équipes de développement.

Inclus

6 vidéos4 lectures4 devoirs6 laboratoires non notés

Ce module de synthèse invite les apprenants à intégrer tous les concepts avancés du C++ maîtrisés tout au long du cours dans un projet de développement d'application complet. Les apprenants concevront et mettront en œuvre une solution sophistiquée utilisant les conteneurs et algorithmes STL, la concurrence et le multithreading, les techniques d'optimisation et les fonctionnalités modernes du C++17/C++20. Le projet comprend trois phases : la conception architecturale et la planification, l'implémentation avec des tests rigoureux, et l'optimisation des performances avec une documentation assistée par l'IA. Grâce à cette expérience pratique, les apprenants démontreront qu'ils sont prêts pour le développement de logiciels au niveau de l'entreprise et pour des rôles de leadership technique dans des environnements professionnels.

Inclus

1 vidéo3 lectures1 devoir1 laboratoire non noté

Obtenez un certificat professionnel

Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.

Instructeur

 Microsoft
418 Cours2 769 652 apprenants

Offert par

Microsoft

En savoir plus sur Développement de logiciels

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.

Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’

Jennifer J.

Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’

Larry W.

Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’

Chaitanya A.

’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Foire Aux Questions

¹ Certains travaux de ce cours sont notés par l'IA. Pour ces travaux, vos Données internes seront utilisées conformément à Notification de confidentialité de Coursera.