Web-Based Animated Simulator for Sorting Algorithms

Web Application

Project Details

Project Information

Project Title: Web-Based Animated Simulator for Sorting Algorithms

Category: Web Application

Semester: Fall 2024

Course: CS619

Complexity: Easy

Supervisor Details

Project Description

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

 

Languages

  • HTML, CSS, Boot Strap, JavaScript, PHP, MySQL Language

Tools

  • WAMP/XAMPP Server, Sublime Text / VS Code Tool

Project Schedules

Assignment #
Title
Start Date
End Date
Sample File
1
SRS Document
Friday 8, November, 2024 12:00AM
Wednesday 4, December, 2024 12:00AM
2
Design Document
Thursday 5, December, 2024 12:00AM
Thursday 27, February, 2025 12:00AM
3
Prototype Phase
Friday 28, February, 2025 12:00AM
Tuesday 18, March, 2025 12:00AM
4
Final Deliverable
Wednesday 19, March, 2025 12:00AM
Monday 5, May, 2025 12:00AM

Viva Review Submission

Review Information
Supervisor Behavior

Student Viva Reviews

Prototype Viva

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.