This course introduces third-year bachelor students to the world of multi-core processors, the cornerstone of nearly all modern computer chips. As we have entered an era where single-core processors have become nearly extinct, the ability to effectively harness the power of multi-core architectures becomes essential to push the boundaries of computing power and efficiency. Here, we explore the fundamental principles and challenges of multi-core computing, from designing thread-safe data structures to analyzing the performance of multi-core applications. This course is not just about learning to code for multiple cores; it’s about rethinking the approach to programming and problem-solving in a multiprocessor environment. It prepares students for the real world, where multi-processor and concurrent programming are not just advantageous, but essential for tackling computing challenges.
For more information about the course, please consult the study guide.