Skip to content

User Manual

SimonCzy edited this page Sep 4, 2023 · 3 revisions

About the product

Computer animation is an excellent medium for capturing the dynamic nature of data structure manipulations and can be used to advantage in the teaching of algorithms and data structures. A major educational issue is the necessity of providing a means for the student to manage the complexity of the material. We have addressed this issue in a multimedia teaching tool called “Algorithms in Action'' by allowing students to view an algorithm at varying levels of detail. Starting with a high-level pseudocode description of the algorithm, with accompanying high-level animation and textual explanation, students can expand sections of the pseudocode to expose more detail. Animation and explanation are controlled in a coordinated fashion, becoming correspondingly more detailed as the pseudocode is expanded. Algorithms in Action was previously implemented as a Java applet, which is no longer used due to changes in the technology landscape. A focus of the current version is to provide AiA is a modern and easy-to-use fashion.

Installation Instructions

  1. Clone the source code from https://gitlab.eng.unimelb.edu.au/lceddia/aia.git
  2. Enter into the project directory and open your terminal.
  3. Run ‘npm install’ in the terminal which will download all the 3rd party code needed.
  4. Run ‘npm start’ in the terminal, then the website will be shown in localhost:3000

Main functionalities

Select algorithms

The user can select a particular algorithm from a list with a general description of the algorithm and learn how the algorithm works.

Step through execution (pseudocode and the algorithm animation)

The user can execute each visible line of the pseudo-code step by step (as in a program debugger) with an accompanying animation of data structures, the functionalities include the move to the next step and back to the previous step.

Code explanation
  • Brief Description

The system displays a brief introduction for a selected algorithm, this helps the user to quickly start on learning the algorithm.

  • Line by Line

The user can view explanations specific to each line or block of the pseudo-code and try to understand why the algorithm does what it does. The user can record audio explanations of parts of the algorithm that can be clicked on to play

Run whole algorithms automatically (with a play button)

The user can execute the algorithm from start to end at a viewable speed without constantly clicking to run the next line.

Speed control

The user can change the speed of execution/animation to make sure the whole process will be at the user’s comfortable speed.

Pseudocode expand

The user can expand any section of the pseudo-code into more detail and only focus on learning about the sections of the algorithm that the user feels unfamiliar with.

Enable both default values and customized values

The user can change the values of the parameters for the algorithm (e.g. the array of data to be sorted) and understand how the algorithm and data structures behave with the different values.

Personalization

The user can change animation color and text size.

Operating Instruction

1. Start your learning

How to select an algorithm
  1. Log in to the main interface of AIA, you will see that the entire page is divided into three main parts: left panel, middle panel, and right panel.

  2. Click on the algorithm category located in the left panel to expand and display all the algorithms under that category.

  3. Click the algorithm you want to learn, then the instructions for use and the brief description of this algorithm will be displayed in the middle panel and right panel.

How to find a specific algorithm quickly
  1. Click the search bar located in the top left corner.

  2. Enter the name of the algorithm you want to find in the input box.

  3. Click the Enter button on your keyboard, then the algorithm you want to find will appear on the top of the left panel.

How to view the explanation of an algorithm
  1. Select an algorithm.

  2. Click the BACKGROUND label on the top of the right panel, then the pseudocode and line by line explanation will be shown in the right panel.

How to view the source code and line explanation of an algorithm
  1. Select an algorithm.

  2. Click the CODE label on the top of the right panel, and the pseudocode will be shown in the right panel.

  3. The code explanation will be given by clicking on the explanation label.

How to view the extra information of an algorithm
  1. Select an algorithm.

  2. Click the MORE button, then the extra information for that algorithm will be shown in the right panel.

How to run an algorithm
  1. Select an algorithm.

  2. Click the play button in the middle panel, the algorithm will be run automatically. Then you can see the process of this algorithm from the animation (in the middle panel) and the pseudocode (in the right panel).

How to control the executing speed of an algorithm
  1. Select an algorithm.

  2. Press on the slider bar to change the speed from slow (left) to fast (right).

2. Customize your learning

How to view more detailed algorithm code
  1. Select an algorithm.

  2. Click the CODE label to show the algorithm code.

  3. Click the extension icon in the code,Then this line of code will be expanded into a more detailed code.

How to expand all pseudocode quickly
  1. Click the ‘Expand All’ button at the bottom of the right panel to expand all pseudocodes together.

  2. Click the ‘Collapse All’ button next to the Expand all button to collapse all expandable pseudocodes.

How to view each step of the algorithm execution
  1. Select an algorithm.

  2. Click the right arrow located in the middle of the middle panel. Then the middle panel will show the next step of this algorithm by animation, and the explanation and code will show in the right panel.

  1. If you want to review the previous step of the algorithm execution, please click the left arrow.
How to run an algorithm with your own input
  1. Select an algorithm.

  2. Enter inputs located in the below middle panel.

  3. Click the button located near the input (different parament have different button, for example, insert button and search button) to confirm the input

  4. Click on the play button to see the behavior of the algorithm with different parameters.

3. Personalize your learning page

How to change font size
  1. Click on the Settings button located at the top of the right panel.

  2. Click on the Reduce font size button(left)and the increased font size button(right) to reduce and increase system font size.

How to change animation color
  1. Click on the Settings button located at the top of the right panel.

  2. Click on the round color mode button to change color mode

How to change system theme
  1. Click on the Settings button located at the top of the right panel.

  2. Click on the round theme button to change the theme of the system.

4. View more about AIA

  1. Click on the About button located at the top of the right panel to view more information about AIA.

Appendix MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

The software is provided “as is”, without warranty of any kind, expressed or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort or otherwise, arising from, out of, or in connection with the software or the use or other deadlines in the software.

Clone this wiki locally