University of Geneva
Data-Oriented C++ in Scientific Programming
University of Geneva

Data-Oriented C++ in Scientific Programming

Jonas Latt
Bastien Chopard
Jean-Luc Falcone

位教师:Jonas Latt

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
深入了解一个主题并学习基础知识。
中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度

您将学到什么

  • Software architecture using an object-oriented and a data-oriented approach

  • Efficient programming using language-specific features in C++

  • GPU and multi-core CPU software development in C++

要了解的详细信息

可分享的证书

添加到您的领英档案

最近已更新!

June 2025

作业

54 项作业

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有5个模块

To follow this MOOC, you should be familiar with the fundamentals of the C++ language. In this first module however, you will find a refresher on the most important concepts needed to complete the course. You will (re)discover variable types (stack variables, references, smart pointers), containers and algorithms, classes and polymorphism. If you already master these notions but your knowledge predates the C++11 standard, we still encourage you to follow this module for up-to-date recommendations on the efficient use of C++. In particular, have a look at Lesson 4 if you are not yet familiar with the notion of ranges in C++20 and later versions.

涵盖的内容

17个视频1篇阅读材料11个作业

Part of the work of processing data efficiently consists in reducing the amount of computations and the complexity of the execution path. A complex execution path is often implemented to express design choices in the organization of software components. In the form of a compile-time execution framework, C++ offers a way to offload this complexity to the compilation stage and keep the execution environment simple and efficient.

涵盖的内容

12个视频1篇阅读材料10个作业

Memory is one of the most critical resources of a computing platform. In this module, you will learn how memory is used in the C++ language and how memory access works on different types of machines. You will translate this knowledge into code that is at the same time clearly structured and efficient.

涵盖的内容

15个视频1篇阅读材料13个作业

Learn to think about your program in a way that puts the critical hardware resource, memory, in the center of your thoughts. Apply these principles to discrete-event systems, a problem solving strategy with applications in all applied areas of science. Understand that data-oriented programming is not opposed to object-oriented programming but rather offers a way to model your objects in a way that accounts for your data structure, your algorithms, and your hardware.

涵盖的内容

8个视频9个作业

This module introduces you to an amazing feature available in the C++17 and onward: the ability to parallelize an algorithm with almost no effort, using C++ parallel algorithms. You will learn that you can gain a manifold speedup with simple changes by running your code on multi-core CPUs and on GPUs. You will dive once more into the working principles of computer memories to understand how to reach substantial performance improvements, and you will link the concepts of data-oriented programming to efficient paralellism.

涵盖的内容

15个视频11个作业

位教师

Jonas Latt
University of Geneva
2 门课程47,274 名学生
Bastien Chopard
University of Geneva
2 门课程47,274 名学生

提供方

从 Algorithms 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'
Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题