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 条
  • [41] Visual design guidelines for improving learning from dynamic and interactive digital text
    Jin, Sung-Hee
    COMPUTERS & EDUCATION, 2013, 63 : 248 - 258
  • [42] A Visual Programming Environment for Learning Distributed Programming
    Broll, Brian
    Ledeczi, Akos
    Volgyesi, Peter
    Sallai, Janos
    Maroti, Miklos
    Carrillo, Alexia
    PROCEEDINGS OF THE 2017 ACM SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'17), 2017, : 81 - 86
  • [43] Learning Mathematics by Designing, Programming, and Investigating with Interactive, Dynamic Computer-based Objects
    Marshall, Neil
    Buteau, Chantal
    INTERNATIONAL JOURNAL FOR TECHNOLOGY IN MATHEMATICS EDUCATION, 2014, 21 (02): : 49 - 64
  • [44] A Tool to Help Learning Programming
    Perez-Delgado, Maria-Luisa
    Roman-Gallego, Jesus-Angel
    NEW TRENDS IN DISRUPTIVE TECHNOLOGIES, TECH ETHICS AND ARTIFICIAL INTELLIGENCE, DITTET 2022, 2023, 1430 : 188 - 197
  • [45] A LEARNING MODEL FOR OBJECT-ORIENTED PROGRAMMING IN A VISUAL INTERACTIVE 3-D ENVIRONMENT
    Salman, E.
    Awad, N.
    Barak, M.
    El-Sanaa, J.
    EDULEARN18: 10TH INTERNATIONAL CONFERENCE ON EDUCATION AND NEW LEARNING TECHNOLOGIES, 2018, : 8124 - 8129
  • [46] Deep Learning Visual Programming
    Mahouachi, Dorra
    Akhloufi, Moulay A.
    DISRUPTIVE TECHNOLOGIES IN INFORMATION SCIENCES II, 2019, 11013
  • [47] An interactive learning environment for teaching and learning of computer programming
    Choy, SO
    Ng, SC
    IEEE INTERNATIONAL CONFERENCE ON ADVANCED LEARNING TECHNOLOGIES, PROCEEDINGS, 2004, : 848 - 849
  • [48] DynTG: A tool for interactive, dynamic instrumentation
    Schulz, M
    May, J
    Gyllenhaal, J
    COMPUTATIONAL SCIENCE - ICCS 2005, PT 2, 2005, 3515 : 140 - 148
  • [49] Interactive procedures in hierarchical dynamic goal programming
    Trzaskalik, T
    MULTI-OBJECTIVE PROGRAMMING AND GOAL PROGRAMMING, 2003, : 251 - 256
  • [50] DYNAMIC MEMORY PROTECTION IN INTERACTIVE ENVIRONMENT PROGRAMMING
    DOEDE, JH
    BLANC, L
    ISA TRANSACTIONS, 1968, 7 (01) : 6 - &