Snapgram: Matrix Multiplications Made Fun
This paper presents Snapgram, an innovative assignment for teaching matrix multiplications in the context of a Parallel Computing course. Designed for fourth-year undergraduate at the University of California, Davis, this assignment transforms the typically mundane task of matrix multiplication into an engaging exercise by framing it as a simple recommender system for a fictional social media application. Students implement two key operations: multiplying a matrix by itself and selecting the highest values in each row of the resulting matrix. These operations are adaptable to various parallel programming paradigms, including shared-memory (pthreads, OpenMP), distributed-memory (MPI), and GPU programming (CUDA). By contextualizing matrix multiplications within a practical, relatable scenario, Snapgram significantly enhances student engagement and learning outcomes. Instructors are typically encouraged to provide scaffolding code for I/O operations, allowing students to focus on implementing the core algorithms.
Authors
- Joël Porquet-Lupine (ORCID: https://orcid.org/0000-0003-4634-2877)
Institutions
- University of California, Davis (US)
Publication Details
- Published
- 2025-02-18
- DOI
- https://doi.org/10.1145/3641555.3705251
- Primary Topic
- Recommender Systems and Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00