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.
This course is part of the Bachelor Computer Science at Leiden University.