dpvis: A Visual and Interactive Learning Tool for Dynamic Programming
David H. Lee, Aditya Prasad, Ramiro Deo-Campo Vuong, Tianyu Wang, Eric, Han, David Kempe

TL;DR
dpvis is an interactive Python library that visualizes dynamic programming algorithms through animations, helping students understand complex recursive structures and problem-solving steps more effectively.
Contribution
The paper introduces dpvis, a novel visualization tool that simplifies understanding of dynamic programming for students through easy-to-generate animations and interactive questioning.
Findings
Students found dpvis helpful for visualizing recursive structures.
Most students considered dpvis useful for understanding dynamic programming.
Installation issues were a minor obstacle for some users.
Abstract
Dynamic programming (DP) is a fundamental and powerful algorithmic paradigm taught in most undergraduate (and many graduate) algorithms classes. DP problems are challenging for many computer science students because they require identifying unique problem structures and a refined understanding of recursion. In this paper, we present dpvis, a Python library that helps students understand DP through a frame-by-frame animation of dynamic programs. dpvis can easily generate animations of dynamic programs with as little as two lines of modifications compared to a standard Python implementation. For each frame, dpvis highlight the cells that have been read from and written to during an iteration. Moreover, dpvis allows users to test their understanding by prompting them with questions about the next operation performed by the algorithm. We deployed dpvis as a learning tool in an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReinforcement Learning in Robotics · Evolutionary Algorithms and Applications
