Visualization of Sorting Algorithm12345khhdfkshd
Visualization of Sorting Algorithm12345khhdfkshd
Abstract:
In the realm of sorting algorithms, visualization projects serve as educational tools to comprehend and demonstrate various sorting
techniques. This paper presents an analysis and review of sorting visualization projects that do not utilize parallelism. By exploring sorting
algorithms without parallel processing, this review aims to provide insights into the efficiency, functionality, and visual representation of
these algorithms. Understanding sorting algorithms without parallelism contributes to a foundational understanding of their sequential
execution and computational complexities.
Keywords: Sorting Algorithms, React Visualizer, Selection Sort, Merge Sort, Bubble Sort, Insertion Sort, Heap Sort.
1. Introduction
In the ever-expanding landscape of computer science, sorting Resolving such issues typically involves consulting a car
algorithms represent foundational pillars, enabling efficient handbook, conducting research, or seeking guidance from
data organization and retrieval. Visualizing these algorithms someone experienced. In a similar vein, learning styles
offers a compelling gateway into understanding their inner significantly influence how we absorb information. As a visual
workings and complexities. Throughout the annals of human learner, I discovered my affinity for comprehending complex
ingenuity, the evolution of tools has continually transformed concepts through visual demonstrations rather than textual
our capabilities. Digital computers, especially, stand as explanations. This realization sparked my curiosity in
beacons of innovation, performing tasks at speeds that surpass understanding sorting algorithms and prompted the creation of
human capacity, including executing intricate sorting an online tool detailed in this paper—a tool designed to
algorithms. This sorting visualization project delves into the elucidate the transformative nature of sorting algorithms in
realm of sorting algorithms, sans parallelism, seeking to organizing data sets. Imagine organizing a list of individuals
unravel their sequential execution and computational by their ages in ascending order—this simple task mirrors the
intricacies through visual representation. By immersing essence of sorting algorithms.
ourselves in this exploration, we endeavor to decode the To aid visualization, I crafted a histogram representing
mechanisms that govern sorting algorithms, providing an numerical data, where each number translates into a bar's
educational resource that illuminates their functionality and height, symbolizing its value. The journey of these data points,
nuances. Beyond mere computational exercises, the undergoing transformation from disarray to ordered sequences,
visualization of sorting algorithms encapsulates a profound mirrors the essence of Selection Sort, Bubble Sort, Insertion
narrative—a testament to human endeavor, mathematical Sort, and Merge Sort—four well-known sorting algorithms. To
elegance, and the quest for optimized data manipulation. simplify the visualization, imagine age labels on index cards.
Through this project, we aim to unlock the visual symphony Selecting the youngest card and sequentially arranging them is
underlying sorting methodologies, fostering a deeper akin to Selection Sort's process—an intuitive analogy that
comprehension accessible to both seasoned enthusiasts and simplifies understanding. However, grasping more intricate
budding computer science learners. algorithms, such as Quick Sort, which pivot around data
The sorting visualization project focuses on creating a user- reorganization, proves challenging through text alone. In a bid
friendly online tool aimed at explaining and visually to cater to diverse learning styles, I developed an animation-
demonstrating how sorting algorithms function in organizing based visualization tool, accessible via the web. Utilizing
and transforming sets of data. It's designed to cater to various HTML5, JavaScript, and CSS, this web-based platform
learning styles, especially emphasizing visual learning eliminates the need for additional software installations or
preferences. complex setups. The decision to leverage web-based
technologies aims to mitigate user anxiety, ensuring a seamless
The project aims to serve as an educational resource for and user-friendly experience for individuals across various
students, enthusiasts, or anyone interested in understanding technological proficiencies.
Understanding the intricacies of sorting algorithms often
sorting algorithms. By offering a visual representation, it
proves
facilitates a deeper understanding of these fundamental
to be a challenge, especially when attempting to visualize the
concepts in computer science.
complex maneuvering of data in text form alone. Hence,
Navigating through challenges often involves finding the inspired by my innate affinity for visual learning and realizing
most effective approach rather than delving into complexities. the inherent complexities in comprehending these algorithms
Consider the scenario of a broken car headlight—an everyday through conventional textual descriptions, I embarked on a
mission to create an interactive, visually immersive online
inconvenience made increasingly confounding by modern,
platform.
abstract designs.
The image is a flowchart for a sorting website. It outlines the users to adjust the level of parallelism, impacting sorting
steps and options available on the website for sorting an array. speed and efficiency dynamically.
Users can generate a new array to sort through direct input of The Sorting Module, responsible for generating and
array values, random generation of array values, or changing executing sorting algorithms, undergoes a substantial
the array size. They can set the speed of sorting and specify the transformation with parallelism. It divides the array data into
type of sort they want to use: selection sort, bubble sort, segments allocated to different threads or processors for
insertion sort, or merge sort. After these parameters are set, concurrent processing. In a parallel setting, this module
users can start sorting and the website will show orchestrates the simultaneous execution of sorting algorithms
comparison/exchange/merge count. across multiple segments, managing synchronization points
Below that there's a box labeled "Generate a new array to sort" where sorted segments are merged or combined to form the
with three options: - Direct input of array values - Random final ordered array.
generation of array values - Change array size - Next step in
flow is "Set the speed of sorting". - Followed by another box Meanwhile, the Visualization Module brings the sorting
labeled "Specify sort type" with four options: - Selection Sort process to life through graphics. In a parallel context, it
- Bubble Sort - Insertion Sort - Merge Sort - The final step in visualizes the concurrent execution of sorting algorithms by
flow is an oval labeled "Start sorting", followed by text “show various threads or processors. The module's parallel
comparison/exchange/merge count”. representation could include graphical depictions of multiple
The figure (figure 1) below illustrates the Working and threads or processors engaging in simultaneous sorting
Visualization of Sorting Algorithm. actions. Visual animations might illustrate how these
segments interact and eventually merge to produce the final
sorted sequence.
The Input / Output Module manages user interactions and
data operations. In parallelism, it could provide real-time
statistics on parallel execution times or thread utilization.
Users might be able to dynamically modify parallel settings
during sorting, such as adjusting the number of parallel
threads or processors engaged in the sorting process. The
Sorting Logic Module is responsible for implementing
sorting algorithms, adapting them for parallel execution. In a
Figure1: Sorting Algorithm Working. parallel environment, it segments the data for simultaneous
sorting across multiple threads or processors. This module
orchestrates synchronization and communication between
2. Module Description these segments, ensuring accurate merging or combination
into the final sorted sequence.
A module diagram is a graphical representation of the
Lastly, the Graphics Library Module provides low-level
components and dependencies of a software system. It shows
graphics functions. In a parallel context, it may require
how the modules interact with each other and what functions
optimization to handle concurrent rendering from multiple
they provide. A module diagram for a visualization of sorting
threads or processors efficiently. Enhancements might
algorithm might look something like this (Figure 2).
involve managing concurrent graphics rendering to ensure a
smooth visualization of the parallel sorting process, aligning
with the sorting logic and visualization modules for coherent
parallel execution.
Typically, Visualization Project stands as the visual
storyteller, translating sorting algorithms into graphical
representations and animations. Its primary goal is to provide
users with a visual journey through the sorting process,
elucidating complex algorithmic operations through intuitive
graphics. This module plays a crucial role in enhancing
comprehension by illustrating step-by-step sorting
Figure2: User Interface procedures, making abstract algorithms more tangible and
comprehensible. Through visual aids and animations, it
The User Interface Module plays a pivotal role in facilitating ensures users grasp the inner workings of sorting algorithms,
user interaction and input. In a parallel context, this module fostering a deeper understanding of their functionalities and
could offer enhanced functionalities, enabling users to select complexities within the sorting visualization tool. This is the
between running sorting algorithms either sequentially or in purpose of the explanation module in Figure 2. The Sorting
parallel. Module operates as the backbone responsible for executing
It might present options for users to specify the number of sorting algorithms based on user inputs. Its core function
threads or processing units to engage in parallel sorting. involves dividing the dataset into segments for potential
Additionally, the interface could provide controls allowing parallel processing, execution of sorting algorithms.
3. Used Methodologies
7. Continuous Integration and Deployment (CI/CD): -
Frames In a Sorting Visualization project, several
Description: CI/CD practices facilitate automated testing,
methodologies can be employed to develop and implement
integration, and deployment of code changes, ensuring a stable
the functionality of visualizing sorting algorithms. Here are
and updated application. - **Implementation**: Set up
some commonly used methodologies:
automated testing for sorting algorithms, user interface
1. Object-Oriented Programming (OOP): - components, and visualizations. Implement continuous
Description: OOP involves organizing code into objects that deployment pipelines for timely updates and improvements.
have attributes and methods. Each sorting algorithm, user Implementing these methodologies contributes to the
interface element, or visualization component can be robustness, maintainability, and effectiveness of the Sorting
represented as an object. Visualization project, ensuring a user-friendly, informative,
and engaging experience for users exploring sorting
Implementation: Implement sorting algorithms, user interface
algorithms.
elements, and visualization components as separate objects.
Utilize inheritance, encapsulation, and polymorphism to
create a modular and maintainable codebase.
2. Model-View-Controller (MVC): -
Description: MVC separates the application into three
interconnected components: Model (data), View (user
interface), and Controller (logic).
Implementation: Use this pattern to separate sorting
algorithm logic (Model), user interface elements (View), and
user interactions and algorithm execution control
(Controller). It helps in better organization and maintenance
of the codebase.
3. Asynchronous Programming: -
Description: Asynchronous programming enables concurrent
execution of tasks, useful for implementing parallel sorting
algorithms or updating the visualization while the sorting
process is ongoing. Figure3: ALGO-SORT
Implementation: Utilize features like multithreading or
asynchronous JavaScript (such as Web Workers) to perform Certainly! These methodologies contribute significantly to the
parallel sorting algorithms. Update the visualization in real- development of a Sorting Visualization project. Object-
time to reflect changes as the sorting progresses. Oriented Programming (OOP) structures code into reusable
4. Data Structures and Algorithms: - objects, enhancing modularity and maintainability. Model-
View-Controller (MVC) divides the application into
Description: Employ various data structures (arrays, linked interconnected components, separating data, user interface,
lists) and sorting algorithms (Bubble Sort, Merge Sort, Quick and logic, facilitating better code organization. Asynchronous
Sort) to showcase different sorting techniques. Programming enables concurrent task execution, vital for
Implementation: Implement these algorithms considering implementing parallel sorting algorithms and updating real-
their time complexity and efficiency. Visualize the step-by- time visualizations. Data Structures and Algorithms bring
step process of sorting, highlighting comparisons, swaps, or diversity to sorting techniques, showcasing different sorting
partitioning steps. methods and visualizing step-by-step processes. Event- Driven
5. Event-Driven Programming: - Programming reacts to user actions, initiating sorting
Description: Event-driven programming reacts to user actions algorithms and enhancing user interaction. Responsive Design
or system events, triggering responses accordingly. In a and Animation ensures a seamless user experience, adapting
sorting visualization tool, this methodology allows users to the interface to various devices and using animations for
interact with the interface and initiate sorting. engaging visualizations. Continuous Integration and
Implementation: Implement event handlers that respond to Deployment automates testing and deployment, ensuring a
user inputs (e.g., selecting a sorting algorithm, adjusting stable and updated application. Integrating these
speed) to trigger the execution of sorting algorithms or update methodologies results in an efficient, user- friendly, and
the visualization. informative Sorting Visualization tool.
6. Responsive Design and Animation: - The Continuous Integration and Deployment automates
Description: Incorporate responsive design principles for the testing, integration, and deployment processes, ensuring code
user interface elements and animations to ensure a seamless stability and timely updates. This methodology helps maintain
experience across various devices. a robust and updated application by automatically validating
Implementation: Utilize CSS for responsive layouts and changes and deploying new versions without disruptions,
transitions, and JavaScript or libraries like D3.js for creating thereby improving the overall quality and reliability of the
dynamic and engaging visualizations of sorting algorithms. sorting visualization tool.
Model
meticulous implementation process, the Model component iterative selection and swapping of elements, usually depicted
forms a robust foundation, ensuring the reliability, accuracy, graphically as bars or array elements transitioning into their
and efficiency of the sorting algorithms integrated into the correct sorted positions. By showcasing these transitions
Sorting Algorithm project. dynamically through animations or real-time updates, users can
follow the algorithm's progression, comprehending how
6. Comparative Analysis of Sorting Algorithm elements are selectively chosen and
arranged, ultimately culminating in a fully sorted dataset.
Insertion Sort:
This interactive visual representation facilitates a clearer
In the Sorting Visualization project, the implementation of the understanding of the Selection Sort algorithm's mechanics and
Insertion Sort algorithm involves a visual representation that its iterative approach to sorting.
elucidates its step-by-step functioning. Initially, the algorithm
considers the first element of the dataset as a sorted sequence,
marking its assumed correct position. Subsequently, it iterates
through the unsorted elements, sequentially comparing each
element with those in the sorted sequence. As the algorithm
progresses, it scrutinizes each unsorted element against the
sorted sequence, shifting greater elements to the right to create
space for insertion when a smaller value is encountered. This
process visually demonstrates the comparison and insertion
steps, showcasing the transition of elements into their rightful
positions within the sorted sequence. Graphical
representations, often depicted as bars or array elements with
their respective values, dynamically illustrate the algorithm's
execution through animations or real-time updates. Users can
visually track how elements are checked, shifted, and finally
placed, culminating in the complete sorting of the dataset in
ascending or descending order based on the specified criteria.
This visual depiction enhances user comprehension of Figure6: Selection Sort
Insertion Sort's mechanisms, fostering a clearer understanding
of sorting algorithms through an interactive and illustrative Quick Sort:
approach.
Quick Sort algorithm, when visualized within a Sorting
Visualization project, employs a divide-and-conquer strategy
to efficiently sort elements within a dataset. This method
involves selecting a pivot element from the dataset and
partitioning the elements into two groups based on their
relation to the pivot. Subsequently, the algorithm recursively
sorts these partitions until the entire dataset is sorted. Initially,
the algorithm chooses a pivot element, often the last element
Figure5: Insertion Sort in the dataset or selected randomly. Then, it rearranges the
elements so that those smaller than the pivot are placed before
Selection Sort: it, while larger elements follow. This partitioning process
divides the dataset into two segments.
The Selection Sort algorithm's functionality in a Sorting The Quick Sort algorithm then recursively applies this
Visualization project involves a structured process aimed at partitioning and sorting process to each segment, dividing them
sorting elements within a dataset in ascending or descending further until the entire dataset is sorted. Visually representing
order, visualizing each step for user comprehension. Initially, Quick Sort involves illustrating the partitioning of elements
the algorithm starts with an unsorted dataset, gradually around the pivot, graphically showing the elements moving
forming a sorted sequence by repeatedly selecting the smallest into their correct positions relative to the pivot. This
(or largest) element from the unsorted section and placing it visualization process, commonly displayed as bars or array
at the beginning (or end) of the sorted portion. As the elements transitioning through animations or real-time
algorithm progresses, it iterates through the dataset, updates, aids users in comprehending how the algorithm
meticulously identifying the smallest (or largest) element efficiently divides and conquers the dataset to achieve the final
within the unsorted segment. Subsequently, this element is sorted sequence.
exchanged with the element at the current position in the
sorted sequence. This step-by- step process continues until all Through this visual depiction, users can observe the gradual
elements are appropriately placed within the sorted sequence. sorting of elements, enhancing their understanding of Quick
Visually, the sorting visualization illustrates this Sort's recursive nature and its proficiency in sorting large
datasets of data pre-processing tools.
Through this amalgamation of algorithmic precision and produce visual representations and interactive elements,
visual feedback, users gain an intuitive understanding of the making it an ideal platform for those new to programming or
inner workings of sorting algorithms. This visual aid not only seeking a visual approach to learning coding concepts.The
fosters a deeper comprehension of sorting methodologies but library offers various built-in functions for drawing shapes,
also promotes an engaging learning experience. creating animations, handling user interactions, and
This fusion allows users to witness and comprehend the manipulating visual elements. Users can generate diverse
intricate steps involved in sorting datasets, providing a graphical elements, including basic geometric shapes, images,
dynamic educational experience. Visualizing sorting text, and custom visualizations, leveraging p5.js's extensive
algorithms through graphical elements or animations aids in capabilities. Moreover, p5.js facilitates interaction by
demystifying complex concepts, making them accessible to responding to user inputs, such as mouse movements, clicks,
users at various proficiency levels. The interactive nature of and keyboard interactions, enabling the creation of interactive
this visual representation fosters a hands-on learning and responsive visuals.
environment, empowering users to grasp sorting techniques Its versatility extends beyond graphics and animation; p5.js
by observing the algorithms' behavior in action. Ultimately, supports integration with HTML, CSS, and other web
the combined approach of algorithmic implementation and technologies, allowing seamless incorporation of visual
visual depiction creates a compelling platform for creations into web pages and projects. Additionally, p5.js
comprehending and exploring the dynamics of sorting provides access to a supportive community, a wide range of
algorithms. documentation, tutorials, and examples, fostering a
collaborative and educational environment for users to explore
Limitations: creative coding.
In essence, p5.js stands as a user-friendly and powerful
Traditional algorithms need to have all data in main JavaScript library, empowering individuals to express
memory. creativity through code-driven visual arts, animations, and
Big datasets are an issue. interactive experiences on the web. Its simplicity,
comprehensive functionality, and emphasis on creative
Solution expression make it a valuable tool for both learning
programming concepts and producing engaging visual content
Incremental schemes; having the datasets in several within web-based projects.
schemes or sizes.
Stream algorithms; the use of MOA “Massive Online
Analysis” (Coincidentally, Mao is not only a streaming
algorithm but a flightless bird which also is extinct!)
7. Visualization Libraries
that perform better on modern hardware. For example, the 2. Improved Comprehension: Visual representations aid in
universal statistics algorithm computes upper limits faster comprehension. Sorting Visualization projects enable users to
than an equivalent procedure implemented using quantiles. observe the sorting process, allowing them to understand how
This is achieved by performing a few passes over the data data elements are manipulated during sorting. The visual cues
using vector instructions. make it easier to grasp algorithmic behaviors, such as
Sorting algorithms are one of the fundamental topics in comparisons, swaps, or shifting of elements, enhancing
computer science, as they are used to organize data in a way comprehension of algorithmic logic.
that makes it easier to search, access, and manipulate.
However, not all sorting algorithms are created equal, and 3. Engaging Educational Tool: The interactive and visually
choosing the right one can have a significant impact on your stimulating nature of sorting visualizations makes learning
code performance. In this article, you will learn about some algorithms engaging. In academic settings or self-paced
of the common sorting algorithms, their advantages and learning environments, these projects capture learners'
disadvantages, and how to measure their efficiency. attention, fostering active engagement and making the learning
process enjoyable.
9. Limitations
4. Interactive Exploration :Many Sorting Visualization projects
allow users to interact with the animation. Features such as
Algorithm Coverage: Some sorting visualization projects
might have limitations in terms of the number or variety of adjusting animation speed, pausing, or stepping through
sorting algorithms depicted. Due to complexity or design sorting steps empower users to control their learning pace.
This interactive exploration encourages deeper engagement
constraints, only a subset of sorting algorithms might be
showcased, potentially limiting the breadth of understanding and a better understanding of sorting algorithms.
for users.
5. Demonstrating Algorithm Efficiency: Visualizations enable
Performance Issues: Visualization projects might face
challenges in handling large datasets or executing complex side-by-side comparisons of different sorting algorithms. Users
animations efficiently. This can result in performance can witness and compare the performance of algorithms,
bottlenecks, sluggishness, or even system crashes, understanding their time complexity, efficiency, and suitability
particularly when demonstrating algorithms with intensive for different datasets. This comparative analysis provides
computational requirements. insights into algorithmic strengths and weaknesses.
Visualization Clarity: The clarity of visual representations 6. Facilitating Self-paced Learning: Visualizations
accommodate diverse learning styles and speeds. Users can
might be compromised, impacting user comprehension.
Visual complexity, unclear animations, or insufficient replay animations or steps as needed, facilitating self-directed
labeling could hinder users' ability to grasp sorting concepts learning. This flexibility enables learners to grasp concepts at
effectively. their preferred pace, catering to individual learning
preferences.
Platform Dependency: Some sorting visualization projects
7. Real-world Application Understanding: By visualizing how
might be designed for specific platforms or browsers,
potentially excluding users who cannot access or interact with sorting algorithms organize data, users gain practical insights
the visualization due to compatibility issues. into real-world applications. Understanding how these
algorithms work is fundamental in computer science, data
analysis, and software development.
Addressing these limitations might involve improving
algorithm coverage, optimizing performance, enhancing
visualization clarity, increasing interactivity, ensuring cross-
platform compatibility, enriching educational content, and 8. Error Identification and Debugging: Visualization tools
prioritizing accessibility to cater to a broader user base offer a visual aid in identifying errors or inefficiencies within
effectively. sorting algorithms. Users can observe and pinpoint potential
flaws in algorithmic logic or implementation by visually
10. Benefits tracking how data elements are sorted. This visual feedback
helps in debugging and refining algorithms, enhancing the
Absolutely, here's a more detailed breakdown of the benefits
learning process by highlighting common pitfalls or
of a Sorting Visualization project:
misconceptions.
1. Enhanced Learning Experience: Visualizations offer a
9. Cross-disciplinary Learning: Sorting Visualization projects
dynamic learning experience by presenting abstract concepts
transcend specific fields, allowing users from diverse
visually. Sorting Visualization projects provide a hands-on,
backgrounds to comprehend and appreciate algorithms'
visual representation of sorting algorithms, fostering a deeper
significance. Students, professionals, or enthusiasts in various
understanding of how these algorithms function. By
domains, including mathematics, engineering, or business
witnessing the step-by-step sorting process, learners gain a
analytics, can benefit from understanding sorting algorithms
more comprehensive understanding compared to theoretical
through visual representations.
explanations alone.
References
Schneider, Cross Validation, Feb 7, 1997
[1] CORMEN, T. H.; LEISERSON, C. E.; RIVEST,
D. L.; STEIN, C. Introduction to algorithms. H. Danielsiek, W. Paul and J. Vahrenhold,
Second Edition. 2001. ISBN 0-262-03293-7. Detecting and understanding students’
[2] Java documentation. Available from: misconceptions related to algorithms and data
hhttps://docs.oracle.com/javase/8/i. structures, 43rd ACM technical symposium on
[3] KNUTH, D. The Art of Computer Programming: Computer Science Education (2012), 21-26
Fundamental Algorithms. Third Edition. 2004.
ISBN 0-201-89683-4
[14] K. Booten, Harvesting ReRites, Johnston, DJ
[4] SIPSER, M. Introduction to the Theory of ReRites: Human+ AI Poetry+ Raw Output+
Computation. Boston, MA: PWS Publishing Responses. Montréal, QC: Anteism., (2019)
Company, 1997. ISBN 0-534-94728-X.
[15] G. Rößling, M. Schüler and B. Freisleben, The
[5] GeeksforGeeks. Available from: ANIMAL algorithm animation tool, 5th annual
hhttps://www.geeksforgeeks.org/i. SIGCSE/SIGCUE ITiCSE conference on
[6] BĚLOHLÁVEK, R. Algoritmická matematika 1 Innovation and technology in computer science
: část 1. Available also from: education (2000), 37-40.
hhttp://belohlavek.inf.upol.cz/vyuka/algoritmicka [16] W. C. Pierson and S. H. Rodger, Web-based
-matematika-1-1.pdfi. animation of data structures using JAWAA, ACM
[7] Stackoverflow. Available from: SIGCSE Bulletin 30(1) (1998), 267-271.
hhttps://stackoverflow.com/i. [17] A. Moreno and M. S. Joy, Jeliot in a demanding
[8] T. Bingmann. “The Sound of Sorting - educational setting, Electronic Notes in Theoretical
‘Audibilization’ and Visualization of Sorting Computer Science 178 (2007), 51-59.
Algorithms.” Panthemanet Weblog. Impressum, [18] T. L. Naps, Jhavé: Supporting algorithm
22 May 2013. Web. 29 Mar. 2017. visualization, IEEE Computer Graphics and
[9] Bubble-sort with Hungarian (“Cs´ang´o”) Folk Applications 25(5) (2005), 49-55.
Dance. Dir. K´atai Zolt´an and T´oth L´aszl´o.
YouTube. Sapientia University, 29 Mar. 2011.
Web. 29 Mar.2017.
[10] A. Kerren and J. T. Stasko. (2002) Chapter 1
Algorithm Animation. In: Diehl S.(eds) Software
Visualization. Lecture Notes in Computer
Science, vol 2269. Springer, Berlin, Heidelberg.
[11] A. Moreno, E. Sutinen, R. Bednarik, and N.
Myller. Conflictive animations as engaging
learning tools. Proceedings of the Koli Calling ’07
Proceedings of the Seventh Baltic Sea Conference
on Computing Education Research - Volume 88,
Koli ‘07 (Koli National Park, Finland), pages 203-
206.
[12] J. Stasko. Using Student-built Algorithm
Animations As Learning Aids. Proceedings of the
Twentyeighth SIGCSE Technical Symposium on
Computer Science Education. SIGCSE ‘97 (San
Jose, California), pages 25-29.
http://doi.acm.org/10.1145/268084.268091
[13] J. Stasko, A. Badre, and C. Lewis. Do Algorithm
Animations Assist Learning?: An Empirical Study
and Analysis. Proceedings of the INTERACT ‘93
and CHI ‘93 Conference on Human Factors in
Computing Systems, CHI-93 (Amsterdam, the
Netherlands), pages 61- 6.Jeff