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

Institutions

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Snapgram: Matrix Multiplications Made Fun

Joël Porquet-Lupine
Recommender Systems and Techniques
article

Snapgram: Matrix Multiplications Made Fun

Joël Porquet-Lupine
article en

Abstract

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.

University of California, Davis (US)
Openalex Percentile: Top 97%
Recommender Systems and Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Snapgram: Matrix Multiplications Made Fun — Joël Porquet-Lupine · (2025) | TGRS Research Map | TGRS