/AlgorithmVisualization

AlgorithmVisualization

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

AlgorithmVisualization

Welcome to AlgorithmVisualization!

This is our final project made by Mahmoud Ramadan and Abdo Mosa for CS50 online course in computer science provided by Harvard University for 2020.

AlgorithmVisualizaion is a web application that made to help students to better understand and learn algorithms in a visualized and better way. So you can see the algorithm running in front of your eyes so you can see the algorithm step by step in an animated approach.

Description

There are three modes to use this app; Normal Mode which is the basic mode that you can view an animation of an algorithm you use and can customize the running speed of it with some stats about what's going on. The second mode and the most important one is Educational Mode which let you see a brief description about the algorithm beside its source code and also a log window that shows what the algorithm is specifically doing in the form of steps. The final Mode is Comparison Mode which simply let you compare two algorithms live and see the differences between them in terms of speed, number of swaps done and number of comparisons.

Technologies Used

This app is made mainly in JavaScript with the help of HTML and CSS. We didn't use any libraries for any of the animation but used pure JavaScript. We used some concepts like Canvas, Promise, Ascync and others all in an Object-Oriented Approach.

We hope you enjoy it and find it usefull!