University of Geneva

C++ orienté données dans la programmation scientifique

University of Geneva

C++ orienté données dans la programmation scientifique

Jonas Latt
Bastien Chopard
Jean-Luc Falcone

Instructeurs : Jonas Latt

Inclus avec Coursera Plus

Demander à Coursera

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

Expérience recommandée

2 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 Intermédiaire

Expérience recommandée

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

Ce que vous apprendrez

  • Architecture logicielle combinant une approche orientée objet et une approche orientée données

  • Programmation efficace grâce aux fonctionnalités propres au langage C++

  • Développement de logiciels pour GPU et processeurs multicœurs en C++

Compétences que vous acquerrez

  • Catégorie : Tests de performance
  • Catégorie : Programmation du système
  • Catégorie : Microarchitecture
  • Catégorie : Programmation orientée données
  • Catégorie : Accès aux données
  • Catégorie : Conception orientée objet
  • Catégorie : Architecture matérielle
  • Catégorie : Gestion de la mémoire

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Évaluations

54 devoirs

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

Il y a 5 modules dans ce cours

Pour suivre ce MOOC, vous devez être familier avec les fondamentaux du langage C++. Dans ce premier module cependant, vous trouverez un rappel des concepts les plus importants nécessaires pour compléter le cours. Vous (re)découvrirez les types de variables (variables de pile, références, pointeurs intelligents), les conteneurs et les algorithmes, les classes et le polymorphisme. Si vous maîtrisez déjà ces notions mais que vos connaissances sont antérieures à la norme C++11, nous vous encourageons tout de même à suivre ce module pour obtenir des recommandations actualisées sur l'utilisation efficace du C++. En particulier, jetez un coup d'œil à la leçon 4 si vous n'êtes pas encore familiarisé avec la notion de plages dans le C++20 et les versions ultérieures.

Inclus

17 vidéos1 lecture11 devoirs

Une partie du travail de traitement efficace des données consiste à réduire la quantité de calculs et la complexité du chemin d'exécution. Un chemin d'exécution complexe est souvent mis en œuvre pour exprimer des choix de conception dans l'organisation des composants logiciels. Sous la forme d'un cadre d'exécution à la compilation, le C++ offre un moyen de décharger cette complexité au stade de la compilation et de conserver un environnement d'exécution simple et efficace.

Inclus

12 vidéos1 lecture10 devoirs

La mémoire est l'une des ressources les plus critiques d'une plate-forme informatique. Dans ce module, vous apprendrez comment la mémoire est utilisée dans le langage C++ et comment l'accès à la mémoire fonctionne sur différents types de machines. Vous traduirez ces connaissances en un code à la fois clairement structuré et efficace.

Inclus

15 vidéos1 lecture13 devoirs

Apprenez à penser votre programme d'une manière qui place la ressource matérielle critique, la mémoire, au centre de vos pensées. Appliquer ces principes aux systèmes à événements discrets, une stratégie de résolution de problèmes qui trouve des applications dans tous les domaines de la science. Comprendre que la programmation orientée données n'est pas opposée à la programmation orientée objet, mais qu'elle offre plutôt un moyen de modéliser vos objets d'une manière qui tienne compte de votre structure de données, de vos algorithmes et de votre matériel.

Inclus

8 vidéos9 devoirs

Ce module vous présente une fonctionnalité étonnante disponible à partir du C++17 : la possibilité de paralléliser un algorithme sans presque aucun effort, en utilisant les algorithmes parallèles du C++. Vous apprendrez qu'il est possible de multiplier la vitesse avec de simples changements en exécutant votre code sur des CPU multi-cœurs et sur des GPU. Vous plongerez une fois de plus dans les principes de fonctionnement des mémoires informatiques pour comprendre comment atteindre des améliorations de performance substantielles, et vous ferez le lien entre les concepts de la programmation orientée données et le parallélisme efficace.

Inclus

15 vidéos11 devoirs

Instructeurs

Jonas Latt
University of Geneva
2 Cours48 471 apprenants
Bastien Chopard
University of Geneva
2 Cours48 471 apprenants

Offert par

University of Geneva

En savoir plus sur Algorithmes

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