Sorting Visualizer Project 70 Page Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

PROJECT-IV

Sorting Visualizer

A PROJECT REPORT

Submitted By

Anurag Singh(21BCS7744)
Abhinav Prabhat(21BCS7368)
Utkarsh Gupta (21BCS7143)
Pratiksha Gupta (21BCS7086)
Akrit Gupta (21BCS7796)

In partial fulfillment for the award of


the degree of
Bachelor of Engineering
in
Computer Science and Engineering

Chandigarh University
JUL-DEC, 2024

DEPARTMENT OF COMPUTER SCIENCE


& ENGINEERING
CHANDIGARH UNIVERSITY GHARUAN,
MOHALI
BONAFIDE CERTIFICATE

Certified that this project report “Sorting Visualizer” is the bonafide work of “Anurag Singh,
Abhinav Prabhat, Utkarsh Gupta, Pratiksha Gupta, Akrit Gupta” who carried out the project
work under my/our supervision.

SIGNATURE SIGNATURE

HEAD OF THE DEPARTMENT SUPERVISOR

Submitted for the project viva-voce examination held on

INTERNAL EXAMINER EXTERNAL EXAMINER


TABLE OF CONTENTS

1. Introduction
2. Literature Review
3. Design Flow/Process
4. Implementation
5. Testing and Validation
6. Conclusion and Future Work
7. References
8. Appendix

ABSTRACT
The Sorting Visualizer is a tool developed to assist students in understanding sorting
algorithms through visual representation. By using animation and interactive elements, it
enables users to observe the steps involved in various sorting techniques, such as Bubble
Sort, Quick Sort, Merge Sort, and Insertion Sort. This project aims to fill the gap in
traditional teaching by providing a dynamic learning experience.

ACKNOWLEDGEMENTS
We would like to extend our gratitude to our project supervisor, faculty members, and peers
who provided support and guidance throughout the project. This project would not have
been possible without their encouragement and insights.

CHAPTER 1 - INTRODUCTION

1.1 Purpose
This project aims to enhance understanding of sorting algorithms by providing a visual,
interactive tool that allows users to observe and analyze the sorting processes in real time.
Sorting algorithms are fundamental concepts in computer science, and visualization can
help bridge the gap between theoretical knowledge and practical comprehension.
1.2 Identification of Problem
Understanding sorting algorithms is crucial in computer science, but students often find it
difficult to grasp the underlying processes. Without visual aids, it is challenging to observe
the dynamic steps involved in sorting.

1.3 Significance of the Project


The Sorting Visualizer addresses this gap, providing students and educators a resource to
observe each sorting algorithm’s mechanics, allowing for interactive and self-paced
learning.

CHAPTER 2 - LITERATURE REVIEW

2.1 Background of Sorting Algorithms


Sorting algorithms are essential in data processing and computer science education, with
origins dating back to the 1960s. Classic sorting algorithms like Bubble Sort, Merge Sort,
and Quick Sort have been developed to enhance computational efficiency in handling data.

2.2 Educational Tools for Algorithm Visualization


Interactive visual tools for algorithms are widely recognized for their educational value.
Studies have shown that students who engage with visual tools demonstrate higher
retention and understanding of complex algorithmic concepts.

2.3 Analysis of Existing Solutions


Many existing tools offer sorting algorithm visualizations but lack real-time customization
and user interaction. The Sorting Visualizer aims to fill these gaps by offering a more
comprehensive tool that is both accessible and user-friendly.

CHAPTER 3 - DESIGN FLOW AND PROCESS

3.1 Feature Selection and Specification


Key features include algorithm selection, customizable data sets, real-time animations, and
user-controlled speed. These features were chosen to make the tool engaging and
informative.

3.2 System Architecture


The system uses React.js for frontend visualizations and JavaScript for algorithm logic. The
architecture supports scalability and performance optimization across web platforms.

3.3 UI/UX Design


The interface was developed with a focus on ease of use. Users can select algorithms, input
data, and observe animations. Controls are intuitive, allowing adjustment of speed,
pause/play, and reset functions.

CHAPTER 4 - IMPLEMENTATION

4.1 Algorithm Implementation


Sorting algorithms were implemented to support both visual representation and
educational commentary. For instance, Bubble Sort animations emphasize swaps and
comparisons, while Merge Sort displays recursive divisions.

4.2 Frontend and Backend Development


React.js powers the frontend to render animations, while JavaScript handles algorithmic
logic. Each sorting step is rendered in real-time, providing users with a smooth experience.

You might also like