Project Title: Web-Based Animated Simulator for Sorting Algorithms
Category: Web Application
Project File: Download Project File
Umra Naeem
umra.naeem@vu.edu.pk
umra.naeem
Web-Based Animated Simulator for Sorting Algorithms
Project Domain / Category
Web Application
Abstract / Introduction
The aim of this project is to develop a web-based simulator that demonstrates the workings of various sorting algorithms step-by-step. Students will create an interactive platform where users can input data, visualize how different algorithms operate, and understand the principles behind these fundamental computer science concepts. The animated simulator will bridge the gap between theoretical knowledge and practical understanding of these algorithms. This project will give a deeper understanding of different sorting algorithms and show their significance in computer science.
Following is brief description of some Sorting Algorithms:
• Bubble Sort: Repeatedly swaps adjacent elements. Complexity: O(n²).
• Selection Sort: Selects the smallest element and moves it to the sorted region.
Complexity: O(n²).
• Insertion Sort: Inserts elements into a sorted section. Complexity: O(n²).
• Merge Sort: Divides and conquers by merging sorted halves. Complexity: O(n log n).
• Quick Sort: Partitions around a pivot for efficient sorting. Complexity: O(n log n) average.
Functional Requirements
The following functional requirements outline the key features and functionalities of the Animated Simulator. These requirements ensure that the simulator meets its educational objectives while providing a user-friendly and engaging experience.
• Main Dashboard and input Selection:
o The simulator must have a dashboard that allows users to navigate easily between different algorithms and settings.
o Users should be able to input list of numbers, select and apply a sorting algorithm from a list on input data.
o Input validation must ensure that the data entered is numeric and within specified limits (e.g., maximum array size).
• Algorithm Selection and Implementation:
o Users should have the option to choose from the following algorithms:
▪ Sorting Algorithms: Selection Sort, Insertion Sort, Bubble Sort, Quick Sort, and Merge Sort.
o The simulator should provide a brief description of each algorithm and its time complexity.
o Implement the logic for sorting algorithms in PHP.
Note: Students can also add more algorithms as per their requirements.
• Algorithm Execution and Real-Time Visualization
o The simulator must visually depict the state of the array or list during execution, highlighting comparisons, and swaps.
o Animations should be smooth and clearly illustrate each step of the algorithm. o The simulator at the end should display both unsorted and sorted list of numbers. Include a summary of algorithm complexities (best, worst, and average cases).
o You can use JS libraries for visualization like D3.js , P5.js etc.,
• Animation Controls and Control Options:
o Users must be able to start, pause, and reset the simulation at any point during the algorithm execution.
o Speed control slider to adjust the speed of the visualization.
▪ Receive user input from the frontend.
▪ (e.g., tracking most used algorithms, average input size).
• Database using Xampp Server
o Store algorithm selection and input data in MYSQL Database for future analysis.
• Help and Documentation
o Provide a help section explaining how to use the simulator.
o Include descriptions of each algorithm, including its time complexity and use cases.
Tools:
HTML, CSS, Bootstrap, JavaScript, PHP, Visualization Libraries (D3.js, P5.js etc), Xampp Server, MySQL Database
Supervisor:
Name: Umra Naeem
Email ID: umra.naeem@vu.edu.pk
Skype ID: umra.naeem
Reviewer: Sajjal Ishtiaq
Submitted on: Friday 11, April, 2025 06:29PM
Supervisor Behavior: Lenient & Supportive
Supervisor is kind and helpful, asks easy questions, may give hints.
Review:
Sabse phle ma'am ne project run krwaya tha, then html file check ki thi, phr pocha tha Database ka connection kaha ho rha code dikhaye phr insert statement ko explain krwaya tha phr === or = operator Mai pocha tha.
And ek line thi code ki wo kaha tha explain kre. Or pocha tha function banaya hoa Maia kaha ji wo unho ne kaha dikhaye phr pocha tha function kaha call ho rha.