Lucas - An Interactive Visualization System Supporting Teaching of Algorithms and Data Structures (original) (raw)
Related papers
Algorithms Visualization Tool for Students and Lectures in Computer Science
arXiv (Cornell University), 2013
The best way to understand complex data structures or algorithm is to see them in action. The present work presents a new tool, especially useful for students and lecturers in computer science. It is written in Java and developed at Bordeaux University of Sciences and Technology. Its purposes is to help students in understanding classical algorithms by illustrating them in different ways: graphical (animated), formal, and descriptive. We think that it can be useful to everyone interested in algorithms, in particular to students in computer science that want to beef up their readings and university lecturers in their major effort to enhance the data structures and algorithms course. The main new thing of this tool is the fact of making it possible to the user to animate their own algorithms.
Using the Swan data structure visualization system for computer science education
1996
Many of the algorithms studied in undergraduate computer science courses operate on fundamental data structures such aslists, trees and graphs. Thus, anatural visual component to the workings of many algorithms is the series of changes that take place to the corresponding data structure. A well organized presentation of these changes in the form of agraphical visualization can help to bridge the “concept gap” encountered by many students when studying algorithms.
2008
Acquiring knowledge about algorithms and programming skills is a difficult and complex process in particular. Various algorithm visualization systems have been developed, using animation techniques to illustrate the behavior of basic algorithms, to facilitate studentspsila learning and skills development. This paper presents DAVE, an interactive dynamic algorithm visualization system for the introductory lessons in algorithm design and programming. DAVE allows studentspsila experimentation not only with sample algorithms, constructed by the designer, but, mainly, with the automatic animation of their own algorithms.
Edapplets: A Web Tool for Teaching Data Structures and Algorithmic Techniques
Proceedings of the First International Conference on Computer Supported Education, 2009
We present in this work the EDApplets tool, a Web-based application oriented to the teaching / learning of programming and algorithmics in engineering. Based on Java Applets technology, it provides the animation and visualization by traces of algorithms and data structures. The tool covers various aspects in teaching which may be directed to different kinds of learning styles: Active / thoughtful, methodical / intuitive, visual / oral, etc. Also, we present the methodological aspects that should be considered to put in place the tool in the classroom as a supplement to learning.
A Tool for Data Structure Visualization and User-Defined Algorithm Animation
2001
Data Structures and Algorithms is a fundamental course in Computer Science. However, many students find it difficult because it requires abstract thinking. It would be very helpful if there was a visualization tool of data structures such as arrays, queues, stacks, trees and graphs for students to manipulate. The tool would allow students to see how an element is inserted into or deleted from different data structures, how a tree is traversed in different order (preorder, in-order, post order, level-order), etc. Moreover, this tool would provide a simple language, by which students can write their own algorithms so that the execution of the algorithm is animated. This project is intended to create an exploration environment, in which students can learn through experimentation. This tool can be used as an effective supplement to the traditional classroom education and textbook for Data Structures and Algorithms courses. In this paper, a software application that features the visualization of commonly used data structures and their associated insertion and deletion operations is introduced. In addition, this software can be used to animate user-defined algorithms
International Journal of Advanced Natural Sciences and Engineering Researches, 2023
Teaching and learning computer programming is challenging for many undergraduate first-year computer science students. During introductory programming courses, novice programmers need to learn some basic algorithms, gain algorithmic thinking, improve their logical and problem-solving thinking skills, and learn data types, data structures, and the syntax of the chosen programming language. In literature, we can find various methods of teaching programming that can motivate students and reduce students’ cognitive load during the learning process of computer programming, e.g., using robotic kits, microcontrollers, microworld environments, virtual worlds, serious games, interactive animations, and visualizations. In this paper, we focus mainly on algorithm visualizations, especially on the different models of data structures that can be effectively used in educational visualizations. First, we show how a vector (one-dimensional array), a matrix (two-dimensional array), a singly linked list, and a graph can be represented by various models. Next, we also demonstrate some examples of interactive educational algorithm animations for teaching and learning elementary algorithms and some sorting algorithms, e.g., swapping two variables, summing elements of the array, mirroring the array, searching the minimum or maximum of the array, searching the index of minimum or maximum of the array, sorting elements of the array using simple exchange sort, bubblesort, insertion sort, minsort, maxsort, quicksort, or mergesort. Finally, in the last part of the paper, we summarize our experiences in teaching algorithmization and computer programming using algorithm animations and visualizations and draw some conclusions.
DAVE: A Dynamic Algorithm Visualization Environment for Novice Learners
2008 Eighth IEEE International Conference on Advanced Learning Technologies, 2008
Acquiring knowledge about algorithms and programming skills is a difficult and complex process in particular. Various algorithm visualization systems have been developed, using animation techniques to illustrate the behavior of basic algorithms, to facilitate students' learning and skills development. This paper presents DAVE, an interactive dynamic algorithm visualization system for the introductory lessons in algorithm design and programming. DAVE allows students' experimentation not only with sample algorithms, constructed by the designer, but, mainly, with the automatic animation of their own algorithms.
International Research Journal of Modernization in Engineering Technology and Science, 2021
Over the years we've observed that algorithms even tough being a complex subject are the foundation of computational thinking and programming skills of a student. So to ease up the hardships of students this idea of the project was formed. Our application Algorithm Visualizer is both interactive and alluring to students. It gives the students hands on experience of the algorithms' implementation. It feeds into their imagination to help them get a better understanding while also helping teachers to help make their students understand better. Through this project every student can learn at their own pace with our three speeds of learning: slow, average and fast. This interface is designed to make one feel fully engaged and concentrated. The concept of Time Complexity has also been introduced to the user through an interactive game. We have made use of React.js as framework and JavaScript as primary language for our project. The purpose of this project is to make learning less of a burden and more of an incredible experience which leaves students with the want to learn more.
Procedia Computer Science, 27, 229-239, 2014
Teaching basic algorithmic concepts to novices is not an easy task. Existing research has given considerable information about students' alternative conceptions and faulty mental models about abstract programming concepts and constructs, as well as their difficulties in solving programming problems. Various algorithm visualization systems are proposed as alternative and efficient instructional environments for introductory programming courses. They include dynamic features, based on animation techniques, aiming at illustrating the behavior of basic algorithms and fostering students' experimentation and algorithmic knowledge construction. This paper presents DAVE, a web-based dynamic algorithm visualization environment designed to support secondary education students' learning about basic algorithms. DAVE facilitates students' experimentation with array algorithms by allowing the modification of both code and data. The presentation of preliminary results, obtained from an evaluation study, provided evidence of the usability of the system and its potential to support students' development of efficient mental models regarding basic array algorithms.
Visualizer for Algorithms and Path Finding with User Interface Design
International Journal for Research in Applied Science and Engineering Technology
A graphical description of how algorithms like sorting and path finding work is provided by the Algorithm and Path Finding visualizer. The system thoroughly explains each process using both text and animation. Dots, lines, dimensional bars, and other graphic elements are combined to create an algorithm visualisation, which shows some of the algorithm's more "interesting events." The benefits of the algorithm visualizer include a user-friendly UI. It's easy to use the UI. Users move easily and without exertion. input of data entry by users is possible in the system. User command Users can adjust the speed of the algorithm animation to make it simpler or harder for them to grasp the backend functionality depending on how quickly they learn and process new information, and it will show the space and time complexity of each algorithm. I. INTRODUCTION Students need to acquire a solid grasp of complex topics like algorithms since they form the foundation for their computational thinking and programming skills. We had seen that using traditional teaching techniques made it more challenging for teachers and students to articulate their ideas. Since, as the saying goes, "a picture is worth a thousand words," many Academics and educators believe that implementing algorithm visualization techniques can help students learn an algorithm more quickly and thoroughly. Therefore, we created a teaching technique that helps students as well as teachers learn about various searching and sorting algorithms through visualization and hands-on experience. A well-done visualization brings algorithms to life by graphically displaying their multiple states and animating the transitions between them. More specifically, dynamic algorithm visualization plays an algorithm's actions like a continuous movie. The human visual system provides a better way of understanding these important conceptual processes through visualisation. Researchers have come up with several techniques to get around these obstacles, including graphical representations, traditional animations, explanatory films, etc. These techniques help the student better understand the concepts. Algorithmic visualization is a technique that has advanced in the past and is gaining popularity in computer science. With simple animations and transition effects, the Algorithm Viewer is a useful tool. a tool that allows students to see how the algorithm works at each step. II. METHODOLOGY This paper includes different algorithms: sorting, searching, pathfinding, trees, travelling salesman, minimum spanning tree, binary heap, and graph traversal. The following section includes the methodology used to visualize different types of algorithms. Essential functions of the algorithm visualizer are as follows: 1) The system shall take inputs in array format. 2) The system will take user inputs otherwise it will take default inputs. 3) When a user enters new data, the dataset should be updated with the new data. 4) It will sort array using different algorithms which is selected by users. 5) It shows the step-by-step process of a algorithms with bar graphical animation. 6) Through this paper every student can learn at their own pace with our three speeds of learning: slow, medium, and fast.