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 条
  • [21] VISUAL ABSTRACTION IN AN INTERACTIVE PROGRAMMING ENVIRONMENT
    POWELL, ML
    LINTON, MA
    SIGPLAN NOTICES, 1983, 18 (06): : 14 - 21
  • [22] The Role of an Interactive Visual Learning Tool and its Personalizability in Online Learning: Flow Experience
    Ha, Young
    Im, Hyunjoo
    ONLINE LEARNING, 2020, 24 (01): : 205 - 226
  • [23] The Visual Statistical Calculator An interactive and visual tool
    Machado, Liliane S.
    Moraes, Ronei M.
    Soares, Elaine A. M. G.
    2013 2ND EXPERIMENT@ INTERNATIONAL CONFERENCE (EXP.AT'13), 2013, : 205 - 206
  • [24] An Environment for Learning Interactive Programming
    Tang, Terry
    Rixner, Scott
    Warren, Joe
    PROCEEDINGS OF THE 45TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'14), 2014, : 671 - 676
  • [25] DPVIS - A tool to visualize the structure of SAT instances
    Sinz, C
    Dieringer, EM
    THEORY AND APPLICATIONS OF SATISFIABILITY TESTING, PROCEEDINGS, 2005, 3569 : 257 - 268
  • [26] Dynamic interactive learning network for audio-visual event localization
    Jincai Chen
    Han Liang
    Ruili Wang
    Jiangfeng Zeng
    Ping Lu
    Applied Intelligence, 2023, 53 : 30431 - 30442
  • [27] Dynamic interactive learning network for audio-visual event localization
    Chen, Jincai
    Liang, Han
    Wang, Ruili
    Zeng, Jiangfeng
    Lu, Ping
    APPLIED INTELLIGENCE, 2023, 53 (24) : 30431 - 30442
  • [28] Impact of Infusing Interactive and Collaborative Learning in Teaching Introductory Programming in a Dynamic Class
    Rahman, Md Mahmudur
    Sharker, Monir
    Paudel, Roshan
    SIGCSE 2020: PROCEEDINGS OF THE 51ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2020, : 1315 - 1315
  • [29] DYNAMIC-PROGRAMMING - AN INTERACTIVE APPROACH
    SNIEDOVICH, M
    SMART, JS
    JOURNAL OF MATHEMATICAL ANALYSIS AND APPLICATIONS, 1982, 86 (01) : 208 - 220
  • [30] An interactive Bomberman game-based teaching/learning tool for introductory C programming
    Wong, Wai-Tak
    Chou, Yu-Min
    TECHNOLOGIES FOR E-LEARNING AND DIGITAL ENTERTAINMENT, PROCEEDINGS, 2007, 4469 : 433 - +