An educational module illustrating how sparse matrix-vector multiplication on parallel processors connects to graph partitioning.



The transition from a curriculum without parallelism topics to a redesigned curriculum that incorporates such issues can be a daunting and timeconsuming process. Therefore, it is beneficial to complement this process by gradually integrating elements from parallel computing into existing courses that were previously designed without parallelism in mind. As an example, we propose the multiplication of a sparse matrix by a dense vector on parallel computers with distributed memory. A novel educational module is introduced that illustrates the intimate connection between distributing the data of the sparse matrixvector multiplication to parallel processes and partitioning a suitably defined graph. This webbased module aims at better involving undergraduate students in the learning process by a high level of interactivity. It can be integrated into any course on data structures with minimal effort by the instructor.