Professional Documents
Culture Documents
Synopsis 2002559
Synopsis 2002559
PROJECT SYNOPSIS
OF MAJOR PROJECT
BACHELOR OF TECHNOLOGY
Computer Science
SUBMITTED BY
Prabhjot Singh
2002559
prabhjotsinghrainu@gmail.com
7056952556
Baeker was the first well-known visualization, ad hoc visualizations existed long
before. The first recognized system for creating algorithm animations was BALSA [2]
in 1984. Since then, hundreds of algorithm visualizations have been implemented and
provided freely to educators, and scores (or hundreds) of papers have been written about
them. It is widely perceived that algorithm visualizations can provide a powerful
alternative to static written presentations (from textbooks) or verbal descriptions
supported by illustrations (from lectures). There has been some debate in the literature
as to whether algorithm visualizations are effective in practice. Some studies have
shown the classic dismissal that is the downfall of most technological interventions in
education: “no significant difference” [6, 9, 11]. Other studies have shown that
algorithm visualizations can indeed improve understanding of the fundamental data
structures and algorithms that are part of a traditional computer science curriculum [13,
3, 7]. Certainly, many visualizations exist and are widely (and freely) available via the
Internet. Unfortunately, the vast majority of those currently available serve no useful
pedagogical purpose.
So we see that (a) many algorithm visualizations exist, yet relatively few are of true
value, and (b) algorithm visualizations can be demonstrated to have pedagogical value,
yet it is also quite possible to use them in ways that have no pedagogical effect. These
facts seem to imply that creating and deploying effective algorithm visualizations is
difficult. There is a small body of literature that investigates how to create
pedagogically useful algorithm visualizations (for example, [10, 15]). Yet, there is still
much to be done before we are at the point where good quality visualizations on most
topics of interest are widely available.
Literary Survey:
In this article, we will build a Sorting Algorithm Visualizer using Python and Tkinter. Tkinter
is a standard GUI library for Python. We will use it to create the user interface of our project.
We will visualize Bubble Sort and Merge Sort. But we can implement all the comparison-
based sorting algorithms in this project.
Table of Contents:
· File Structure of the Project
· colors.py
· main.py
· Filling up The Functions
· Implementing Bubble Sort
· Implementing Merge Sort
· Completing what we left behind
We will structure our project files at the very beginning. First, we will create a folder and name
it Sorting Visualizer. This will be our project directory. Inside this folder, we will create
another folder named algorithms. Then we will create two python
files main.py and colors.py. main.py will be our main Python file which we will
execute. colors.py will contain some hexadecimal values of colors that we will need.
Inside the algorithm folder, we will create a file __init__.py. This will allow
the algorithms folder to act as a Python package. See the documentation on packaging a
project. We will create two more Python files inside
the algorithms folder, bubbleSort.py and mergeSort.py. In these files, we will implement our
sorting algorithms.So our file structure will be like this…
In colors.py we will store some hexadecimal values of colours as variables. We will use these
colours in our project.
main.py will be our main executable file that will run our project. We will import all packages
and modules in this file. First, we will import some stuff and set up a basic interface.
Facilities Required for the Project:
References:
[1] Association for Computing Machinery. The ACM digital library. http://portal.acm.org,
2006.
[2] M. H. Brown and R. Sedgewick. A system for algorithm animation. In SIGGRAPH ’84:
Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques,
pages 177–186, New York, NY, USA, 1984. ACM Press.
[3] M. D. Byrne, R. Catrambone, and J. T. Stasko. Do algorithm animations aid learning?
Technical Report GIT-GVU-96-18, Georgia Institute of Technology, 1996.
[4] CITIDEL: Computing and information technology interactive digital educational library.
http:// www.citdel.org, 2006.
[5] Connexions scholarly content repository. http:// cnx.org, 2006.
[6] J. S. Gurka and W. Citrin. Testing effectiveness of algorithm animation. In Proceedings,
IEEE Symposium on Visual Languages, pages 182–189, 1996