In today's rapidly changing technological landscape, proficiency in parallel programming has become a critical skill for modern software developers. Modern desktop processors now feature dozens of cores, while server processors boast hundreds, and cluster computing systems are becoming ubiquitous. As a result, the demand for high-performance computing (HPC) software continues to grow, requiring not only knowledge of theoretical principles but also practical experience in parallel programming techniques. This article presents an academic course focused on parallel programming for both shared and distributed memory systems, developed at the Lobachevsky University and adapted for third-year students of the Institute of Information Technology, Mathematics and Mechanics. Designed to introduce students to the core technologies used in modern multicore and cluster parallel applications, the course emphasizes practical applications along with theoretical foundations. We describe the course structure, target audience, and relevance before delving into practical aspects including course content, project workflows, assessment methodologies, automated testing process, and real-world results achieved by students over the past few years.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Practical Aspects of Teaching Parallel Programming at the Lobachevsky University

  • Alexander Nesterov,
  • Arseniy Obolenskiy,
  • Alexander Sysoyev,
  • Iosif Meyerov

摘要

In today's rapidly changing technological landscape, proficiency in parallel programming has become a critical skill for modern software developers. Modern desktop processors now feature dozens of cores, while server processors boast hundreds, and cluster computing systems are becoming ubiquitous. As a result, the demand for high-performance computing (HPC) software continues to grow, requiring not only knowledge of theoretical principles but also practical experience in parallel programming techniques. This article presents an academic course focused on parallel programming for both shared and distributed memory systems, developed at the Lobachevsky University and adapted for third-year students of the Institute of Information Technology, Mathematics and Mechanics. Designed to introduce students to the core technologies used in modern multicore and cluster parallel applications, the course emphasizes practical applications along with theoretical foundations. We describe the course structure, target audience, and relevance before delving into practical aspects including course content, project workflows, assessment methodologies, automated testing process, and real-world results achieved by students over the past few years.