Visualizing Data Structures in an e-Learning System (original) (raw)

Models of Data Structures in Educational Visualizations for Supporting Teaching and Learning Algorithms and Computer Programming

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.

Supporting Data Structures Visualization for Teachers and Learners

Proceedings

Teachers of first courses in Computing face the problem of making slides showing data structures. Students must also show them in their assignments. Drawing them may not be the best choice. The Data Structures (DSTR) language proposed here is intended as an easy-to-use tool to describe those structures for visualization. A preliminary evaluation of a tool to interpret DSTR statements shows users’ acceptance.

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.

Teaching programming using visualization

Teaching computer programming to young students is a major challenge. This paper describes a web-based course for teaching programming using visualization and a gaming theme. Concepts are taught using real world examples that the target students can identify with; in this way some of the problems related to understanding abstract concepts are alleviated and learning occurs in context. The full range of multimedia technology including animation, sound and video are used to immerse the student in an environment where learning is fun and visual display of the concepts reinforce learning. A gaming theme is used for formative assessment. Students are provided with 'game' activities such as "spot the error", "predict the output" and "put in order". These enhance critical thinking. They test comprehension and knowledge as well as higher order thinking skills.

A study of visualization in introductory programming

… of the Annual Meeting of the …, 2008

The teaching of fundamental programming skills is a field that extensively uses different kinds of tools to enhance learning experience. These tools come in several sizes, offering wide range of different equipment or approaches to the teaching of introductory programming curricula. At the same time, computer sciences, and programming courses in particular, suffer from high drop-out rates and falling student grades. Students lose interest on programming because of several complex models and structures have to be learned before anything visually impressive can be created. This problem is intensified by the new multimedia environments like games and applets, whereas command line programs and data algorithms have lost impact and are not considered interesting. So can visualization tools be used to increase the student motivation and create motivational tasks to promote interest towards programming?

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.

A Family of Tools for Supporting the Learning of Programming

Algorithms, 2010

Both learning how to program and understanding algorithms or data structures are often difficult. This paper presents three complementary approaches that we employ to help our students in learning to program, especially during the first term of their study. We use a web-based programming task database as an easy and risk-free environment for taking the first steps in programming Java. The Animal algorithm visualization system is used to visualize the dynamic behavior of algorithms and data structures. We complement both approaches with tutorial videos on using the Eclipse IDE. We also report on the experiences with this combined approach.

Lucas - An Interactive Visualization System Supporting Teaching of Algorithms and Data Structures

2009

The LUCAS (Learning and Understanding of the Characteristics of Algorithms and data Structures) system is an interactive Web based program to visualize the dynamical behavior of data structures and algorithms. It is used as a supportive tool for undergraduate and graduate courses on these topics. It aims for clarity and vividness, simplicity, portability, and extendibility and supports user controlled dynamics following a so called "tape recorder approach".

SWAN: A Student-Controllable Data Structure Visualization System

1996

Abstract: Swan is a data structure visualization system. Its main purpose is to allow the user to visualize the data structures and the basic execution process of a C/C++ program. Swan views a data structure as a graph or a collection of graphs. By “graph,” we include both general directed and undirected graphs and special cases such as trees, lists and arrays.

A lightweight e-learning system for algorithms and data structures

Proceedings of the 18th International Conference on Information Integration and Web-based Applications and Services, 2016

We present webAD, a web-based e-learning platform for the visualization of algorithms and data structures. It follows a lightweight server-less implementation paradigm and pursues a minimalistic vision: no installation or configuration effort, multi device support, clear structure of didactic content and simple extensibility for developers. Compared to other visualization tools for algorithms and data structures webAD puts a high value on an innovative flexible tape-recorder mechanism. Based purely on HTML5 and JavaScript with the smallest usage of external libraries it is designed according to the Model-View-Controller architectural pattern and works as a fat client. A thorough analysis of the system in respect to usability and extensibility is performed and findings and recommendations are critically discussed.