Hands-on PDC in Undergraduate Computing Education
Hala ElAarag, Anas Gamal Aly

TL;DR
This paper introduces a practical assignment for undergraduates to engage with real HPC infrastructure, enhancing understanding of parallelism and multithreading through hands-on experience with the HiPerGator supercomputer.
Contribution
It presents a detailed HPC-based assignment and evaluates its impact over three years, demonstrating improved student comprehension of PDC concepts.
Findings
Students gained practical experience with high-performance computing environments.
The assignment improved students' understanding of parallelism and multithreading.
Structured access to HPC resources enhances learning outcomes in undergraduate courses.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
