Willow: A Tool for Interactive Programming Visualization to Help in the Data Structures and Algorithms Teaching-Learning Process

被引:6
作者
Moraes, Pedro [1 ]
Teixeira, Leopoldo [1 ]
机构
[1] Univ Fed Pernambuco, Recife, PE, Brazil
来源
PROCEEDINGS OF THE XXXIII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2019 | 2019年
关键词
data structures and algorithms; program visualization; algorithm; visualization; programming learning;
D O I
10.1145/3350768.3351303
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Data Structures and Algorithms (DSA) are one of the main pillars of software development; however, abstractions around them are hard to teach and to be understood by students. The most common approaches adopted by instructors to demonstrate the behavior of DSAs are the use of resources like slides and whiteboard sketches to create program illustrations. This task may be slow and tedious because these illustrations need to be continuously updated to represent new algorithm inputs and modifications. In this paper, we propose Willow, a tool for Program Visualization Simulation (PVS), which supports user interactions to manipulate the generated visualizations. With these manipulations in the visualization, we expect the user to be able to create better examples, resembling Algorithm Visualization Simulation tools (AVS), which are specialized in providing visualizations for specific DSAs. We evaluated our tool through a preliminary qualitative study with teaching assistants from an introductory Computer Science course who all give review lessons to the students. Our preliminary results show that the tool was well accepted by the participants, but we still need more studies to validate the use of the tool in classrooms. With the use of our tool features in the teaching-learning process, we expect that instructors may be able to interactively and more clearly explain DSAs to their students, without the hassle of hours creating slides or drawing by hand messy examples of algorithms.
引用
收藏
页码:553 / 558
页数:6
相关论文
共 27 条
[1]   C plus plus or Python']Python? Which One to Begin With: A Learners Perspective [J].
Ateeq, Muhammad ;
Habib, Hina ;
Umer, Adnan ;
Ul Rehman, Muzammil .
2014 INTERNATIONAL CONFERENCE ON TEACHING AND LEARNING IN COMPUTING AND ENGINEERING (LATICE), 2014, :64-69
[2]  
Bau D, 2017, Arxiv, DOI arXiv:1705.09413
[3]  
Becker Katrin, 2000, Journal of Computing Sciences in Colleges, V16, P65
[4]   SPY: A flexible code profiling framework [J].
Bergel, Alexandre ;
Banados, Felipe ;
Robbes, Romain ;
Roethlisberger, David .
COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2012, 38 (01) :16-28
[5]  
Choudhury ANM Imroz, 2011, 2011 6 INT WORKSHOP, P1
[6]  
Dien HE, 2018, PROCEEDINGS OF 2018 5TH INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING (ICODSE)
[7]   Pythy: Improving the Introductory Python']Python Programming Experience [J].
Edwards, Stephen H. ;
Tilden, Daniel S. ;
Allevato, Anthony .
PROCEEDINGS OF THE 45TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'14), 2014, :641-646
[8]   The Role of Visualization in Computer Science Education [J].
Fouh, Eric ;
Akbar, Monika ;
Shaffer, Clifford A. .
COMPUTERS IN THE SCHOOLS, 2012, 29 (1-2) :95-117
[9]   Software visualization [J].
Gracanin, Denis ;
Matkovic, Kresimir ;
Eltoweissy, Mohamed .
INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2005, 1 (02) :221-230
[10]  
Guo Philip J, 2013, SIGCSE 13, P579, DOI DOI 10.1145/2445196.2445368