Learn how to write efficient, maintainable C++ code for data-intensive applications in this hands-on course. Key application areas include scientific simulation software, statistical data processing, and computer graphics.


您将学到什么
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 项作业
了解顶级公司的员工如何掌握热门技能

该课程共有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个作业
从 Algorithms 浏览更多内容
- 状态:免费试用
University of Illinois Urbana-Champaign
- 状态:预览
Simplilearn
- 状态:免费试用
Johns Hopkins University
- 状态:免费试用
人们为什么选择 Coursera 来帮助自己实现职业发展




常见问题
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
更多问题
提供助学金,