The Design of a Practical Flipped Classroom Model for Teaching Parallel Programming to Undergraduates

Dirk Colbry

Volume 12, Issue 2 (February 2021), pp. 41–45

https://doi.org/10.22369/issn.2153-4136/12/2/10

PDF icon Download PDF

BibTeX
@article{jocse-12-2-10,
  author={Dirk Colbry},
  title={The Design of a Practical Flipped Classroom Model for Teaching Parallel Programming to Undergraduates},
  journal={The Journal of Computational Science Education},
  year=2021,
  month=feb,
  volume=12,
  issue=2,
  pages={41--45},
  doi={https://doi.org/10.22369/issn.2153-4136/12/2/10}
}
Copied to clipboard!

This paper presents a newly developed course for teaching parallel programming to undergraduates. This course uses a flipped classroom model and a "hands-on" approach to learning with multiple real-world examples from a wide range of science and engineering problems. The intention of this course is to prepare students from a variety of STEM backgrounds to be able to take on supportive roles in research labs while they are still undergraduates. To this end, students are taught common programming paradigms such as benchmarking, shared memory parallelization (OpenMP), accelerators (CUDA), and shared network parallelization (MPI). Students are also trained in practical skills including the Linux command line, workflow/file management, installing software, discovering and using shared module systems (LDMOD), and effectively submitting and monitoring jobs using a scheduler (SLURM).