dpvis: A Visual and Interactive Learning Tool for Dynamic Programming
This program is tentative and subject to change.
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 — another difficult topic in computer science. In this paper, we present dpvis, a Python library that assists students in understanding DP via 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 of the animation, dpvis highlights the cells that have been read from and written to during an iteration. Moreover, dpvis allows users to test their understanding of an algorithm by prompting them with questions about the next operation performed by the algorithm.
We deployed dpvis as a learning tool in an undergraduate algorithms class, and report on the results of a survey. The survey results suggest that dpvis is especially helpful for visualizing the recursive structure of DP. While some students struggled with the installation of the tool (which has been simplified since the reported deployment), essentially all other students found the tool to be useful for understanding dynamic programs.
This program is tentative and subject to change.
Thu 27 FebDisplayed time zone: Eastern Time (US & Canada) change
13:45 - 15:00 | |||
13:45 18mTalk | Facilitating Student's Learning Transfer in a Database Programming Class Papers Yuzhe Zhou Purdue University, Alejandra J. Magana Purdue University, Tianyi Li Purdue University, USA | ||
14:03 18mTalk | iFlow - An Interactive Max-Flow Min-Cut Algorithms Visualizer Papers Muyang Ye University of Southern California, Tianrui Xia University of Southern California, Tianxin Zu University of Southern California, Qian Wang University of Southern California, David Kempe University of Southern California | ||
14:22 18mTalk | Peer Code Review Methods: An Experience Report from a Data Structures and Algorithms CourseGlobal Papers Roxane Koitz-Hristov Graz University of Technology | ||
14:41 18mTalk | dpvis: A Visual and Interactive Learning Tool for Dynamic Programming Papers David H. Lee University of Southern California, Aditya Prasad University of Southern California, Ramiro Deo-Campo Vuong University of Southern California, Tianyu Wang University of Southern California, Eric Han University of Southern California, David Kempe University of Southern California |