dpvis: A Visual and Interactive Learning Tool for Dynamic Programming

被引:0
|
作者
Lee, David H. [1 ]
Prasad, Aditya [1 ,2 ]
Vuong, Ramiro Deo-Campo [3 ]
Wang, Tianyu [1 ]
Han, Eric [1 ]
Kempe, David [1 ]
机构
[1] Univ Southern Calif, Los Angeles, CA 90007 USA
[2] Univ Chicago, Chicago, IL USA
[3] Cornell Univ, Ithaca, NY USA
关键词
Dynamic Programming; Interactive Algorithm Visualization; Active Learning; Algorithms Education;
D O I
暂无
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
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 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. Although 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. dpvis is available at https://github.com/itsdawei/dpvis.
引用
收藏
页码:645 / 651
页数:7
相关论文
共 50 条
  • [1] dpvis: A Visual and Interactive Learning Tool for Dynamic Programming
    Lee, David H.
    Prasad, Aditya
    Vuong, Ramiro Deo-Campo
    Wang, Tianyu
    Han, Eric
    Kempe, David
    PROCEEDINGS OF THE 56TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE TS 2025, VOL 2, 2025, : 645 - 651
  • [2] Visual Programming and Interactive Learning Based Dynamic Instructional Approaches to Teach an Introductory Programming Course
    Rahman, Md Mahmudur
    Paudel, Roshan
    2018 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE), 2018,
  • [3] DPVis: Automatic Visual Encoding Based on Deep Learning
    Liu, Jia
    Wan, Gang
    Deng, Panke
    Li, Chu
    Wang, Shuai
    Yin, Yunxia
    Liu, Lei
    Mu, Yao
    IEEE ACCESS, 2023, 11 : 118078 - 118087
  • [4] Visual Tool for Learning GPU Programming
    Vulcan, Alexandru Mihai
    Nicolaie, Maximilian
    Pietraru, Radu Nicolae
    NEW TECHNOLOGIES AND REDESIGNING LEARNING SPACES, VOL I, 2019, : 429 - 437
  • [5] Authoring Tool for Interactive Video Content for Learning Programming
    Layona, Rita
    Yulianto, Budi
    Tunardi, Yovita
    DISCOVERY AND INNOVATION OF COMPUTER SCIENCE TECHNOLOGY IN ARTIFICIAL INTELLIGENCE ERA, 2017, 116 : 37 - 44
  • [6] Learning Visual Programming by Creating a Walkable Interactive Installation
    Hadjakos, Aristotelis
    Schulze, Heizo
    Duechting, Andre
    Metzger, Christian
    Ottensmann, Marc
    Riechmann, Friederike
    Schneider, Anna-Maria
    Trappmann, Michael
    PROCEEDINGS OF THE 10TH AUDIO MOSTLY: A CONFERENCE ON INTERACTION WITH SOUND, AM'15, 2015,
  • [8] Infusing Visual Programming and Interactive Learning to Teach an Introductory Programming Course with Positive Learning Outcomes
    Rahman, Md Mahmudur
    SIGCSE'18: PROCEEDINGS OF THE 49TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2018, : 1086 - 1087
  • [9] Interactive Machine Learning Tool for Clustering in Visual Analytics
    Thrun, Michael
    Pape, Felix
    Ultsch, Alfred
    2020 IEEE 7TH INTERNATIONAL CONFERENCE ON DATA SCIENCE AND ADVANCED ANALYTICS (DSAA 2020), 2020, : 479 - 487
  • [10] SICAS2: Interactive Tool to Support Programming Learning
    Ferreira, Alexandre
    Gomes, Anabela
    Mendes, Antonio Jose
    2022 INTERNATIONAL SYMPOSIUM ON COMPUTERS IN EDUCATION (SIIE), 2022,