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.
You’ll begin by exploring how modern C++ supports high-efficiency programming and review the principles of a central piece of hardware in data-intensive applications: computer memory.
Next, the course shifts to software design. You’ll examine performance shortcomings of traditional object-oriented programming and dive into data-oriented perspective, which improves performance by structuring code around the data itself. You’ll learn how this paradigm overcomes bottlenecks and leads to more scalable, high-performance solutions.
Finally, you’ll apply these principles to modern multi-threaded systems. Through hands-on experience you will learn to use C++'s built-in parallel features to target both multi-core CPUs and GPUs.
What You’ll Learn
- Software architecture using both object-oriented and data-oriented design
- Writing efficient, high-performance code using C++ language features
- Developing parallel software for GPUs and multi-core CPUs in C++
Who Should Enroll
This course is ideal for those with a foundational understanding of computer programming, data structures, and algorithms, along with introductory knowledge of C and C++.
Course in English, subtitles available in English.