
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
Jonas Latt
Senior Lecturer
Bastien Chopard
Full Professor
Jean-Luc Falcone
Research Associate