Teaching supercomputing and software engineering skills to science and engineering students
We describe a newly created Master-level course about numerically solving partial differential equations (PDEs) on graphical processing units (GPUs), both on local machines, on high-performance computing (HPC) clusters and supercomputers. The course is aimed at domain-science students, which we broadly define as non-computer science students, such as earth-science, physics, engineering, etc. students. Besides the core content, the course aims also at teaching other essential skills needed for the domain scientist to successfully conduct numerical research, including software engineering skills (e.g., git and GitHub, testing, documentation), tools (e.g., VSCode and remote HPC access), teamwork and project management. The course is research-based as it closely follows the workflows we use in our daily research activity. The course teaches its content through a hands-on, project-based approach with weekly assignments and two large projects as a core part of the course. We show that student grades and satisfaction is excellent, however, the high workload of the teachers needs refinements in future iterations of the course.
Copyright (c) 2023 Ludovic Räss, Mauro A Werder, Ivan Utkin, Samuel Omlin
This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution (CC-BY) 4.0 License that allows others to share the work with an acknowledgment of the work’s authorship and initial publication in this journal.