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 条
  • [31] INTERACTIVE VISUAL DATA ABSTRACTION IN A DECLARATIVE VISUAL PROGRAMMING LANGUAGE
    BURNETT, MM
    AMBLER, AL
    JOURNAL OF VISUAL LANGUAGES AND COMPUTING, 1994, 5 (01): : 29 - 60
  • [33] ANALYSIS AND TRANSFORMATION IN AN INTERACTIVE PARALLEL PROGRAMMING TOOL
    KENNEDY, K
    MCKINLEY, KS
    TSENG, CW
    CONCURRENCY-PRACTICE AND EXPERIENCE, 1993, 5 (07): : 575 - 602
  • [34] THE PARASCOPE EDITOR - AN INTERACTIVE PARALLEL PROGRAMMING TOOL
    BALASUNDARAM, V
    KENNEDY, K
    KREMER, U
    MCKINLEY, K
    SUBHLOK, J
    PROCEEDINGS : SUPERCOMPUTING 89, 1989, : 540 - 550
  • [35] INTERACTIVE SOFTWARE FOR MACHINE-TOOL PROGRAMMING
    HUTTON, DV
    WEBER, GR
    COMPUTERS & EDUCATION, 1987, 11 (02) : 135 - 141
  • [36] Visual programming for accessible interactive musculoskeletal models
    Julia Manczurowsky
    Mansi Badadhe
    Christopher J. Hasson
    BMC Research Notes, 15
  • [37] Visual programming for accessible interactive musculoskeletal models
    Manczurowsky, Julia
    Badadhe, Mansi
    Hasson, Christopher J.
    BMC RESEARCH NOTES, 2022, 15 (01)
  • [38] The Internet - a tool for interactive learning
    Oprea, Crenguta Lacramioara
    ADULT EDUCATION IN UNIVERSITIES: LOCAL AND REGIONAL PERSPECTIVES, 2014, 142 : 786 - 792
  • [39] AN INTERACTIVE DYNAMIC-PROGRAMMING APPROACH TO MULTICRITERIA DISCRETE PROGRAMMING
    VILLARREAL, B
    KARWAN, MH
    JOURNAL OF MATHEMATICAL ANALYSIS AND APPLICATIONS, 1981, 81 (02) : 524 - 544
  • [40] Ruru: A spatial and interactive visual programming language for novice robot programming
    Diprose, James P.
    MacDonald, Bruce A.
    Hosking, John G.
    2011 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2011), 2011, : 25 - 32