Inspiration
Algorithms involving loops and if-statements such as sorting algorithms may seem tricky to beginners. Although there are many videos/apps visualizing such algorithms, not many of them provide the capability to move step-by-step and display variables and actions. The ability to move step-by-step and view comparisons, variable changes, etc. makes such algorithms much more understandable and learners should be able to know what is happening.
What it does
This tool allows users to generate an array of any size, choose an algorithm that will be applied to the array, then view a live animation of the algorithm with the option to move step-by-step and pause/resume, an explanation of the current action such as compare, swap, etc. will be displayed under the visualization panel.
How we built it
This web app was built using HTML and CSS for the frontend, and Node.js for the backend. The start was creating and laying out the panels, then creating a visualized array interactively, then adding sorting algorithm functions that update the UI interactively, and finally improve the layout/UI at the end.
Challenges we ran into
The biggest challenge was the time constraint, and working with multiple related files (HTML, CSS, JS) containing hundreds of lines made it very much harder to debug.
Accomplishments that we're proud of
I'm proud to have built a fully functioning web app that learners (including me) can benefit from, and that I am able to expand on with more algorithms later on
What we learned
By the completion of this project/hack, I felt that I improved my skills in debugging, and working with large chunks of code.
What's next for Algorithm Thinking Simulator
Searching algorithms, and more sorting algorithms. Maybe even data structures and algorithms visualization.
GitHub Repo: https://github.com/alialfattoa/Algorithm-Thinking-Simulator
Log in or sign up for Devpost to join the conversation.