Parallel and Distributed Computing (PDC) is a critical yet conceptually challenging area of the undergraduate computer science curriculum. While students often encounter these concepts in theory, few gain exposure to experience in real high-performance computing (HPC) environments. Research shows that when students are engaged in project-based learning they retain knowledge more effectively. They also develop a deeper understanding of concepts taught in the classroom. This paper presents a practical assignment in which students engage directly with the University of Florida's HiPerGator supercomputer to implement and benchmark matrix multiplication using Python and C (via POSIX threads and OpenMP). Students navigate batch scheduling, core allocation, and performance tuning, experiences that are rarely accessible at the undergraduate level. We describe the assignment in detail and provide a three-year evaluation across multiple course offerings, highlighting how structured access to real HPC infrastructure can deepen student understanding of parallelism and multithreading.
翻译:并行与分布式计算(PDC)是本科计算机科学课程中关键但概念上具有挑战性的领域。尽管学生通常会在理论层面接触这些概念,但极少有人能获得在真实高性能计算(HPC)环境中的实践经验。研究表明,当学生参与项目式学习时,他们能更有效地保留知识,并对课堂讲授的概念形成更深层次的理解。本文介绍了一项实践任务,学生直接使用佛罗里达大学的HiPerGator超级计算机,通过Python和C语言(基于POSIX线程和OpenMP)实现并基准测试矩阵乘法。学生在此过程中处理批调度、核心分配和性能调优,这些经历在本科阶段通常难以获得。我们详细描述了该任务,并提供了横跨多个课程的三学年评估结果,重点展示了结构化地接触真实HPC基础设施如何加深学生对并行性和多线程的理解。