Indonesian Desktop Tool for Data Structures
Indonesian Desktop Tool for Data Structures
Abstract— Although there are so many available data structure may handle dynamic test cases efficiently in terms of time
educational tools, it is quite difficult to find a suitable tool to aid (lecturer does not require to write/draw algorithm steps on
students for learning certain course [1]. Several major board) [3, 4, 5]. Although many data structure educational tools
impediments in determining the tool are teaching preferences, have been developed and can be easily found on the internet
language barrier, confusing terminologies, internet dependency,
various degree of material difficulty, and other environment
(e.g. AlgoViz [6], VisuAlgo [7] and OpenDSA [8]), these tools
aspects. In this research, a data structure educational tool called may have different terminologies with class material since each
AP-ASD1 is developed based on basic algorithm and data university may have its teaching preferences due to student
structure course (ASD 1). Since AP-ASD1 is developed following characteristics. Language used in educational tools also affects
course materials and not vice versa, this educational tool is student understanding since some of them are only fluent in
guaranteed to fit in our needs. The feasibility of AP-ASD1 is their native language and forcing them to learn foreign
evaluated based on two factors which are functionality correctness language and data structure at the same time may lower their
and survey. All features are correctly functioned and yield chance to understand.
expected output whereas survey yields fairly good result (84,305% In this research, an Indonesian desktop-based data structure
achievement rate). Based on our survey, AP-ASD1 meets
eligibility standard and its features are also successfully
educational tool has been developed based on Algorithm and
integrated. Survey also concludes that this application is also quite Data Structure 1 course. This tool is called AP-ASD1 (Aplikasi
effective as a supportive tool for learning basic data structure. Pembelajaran Algoritma dan Struktur Data 1) which is an
acronym of “Educational tool for Algorithm and Data Structure
Keywords—educational tool; algorithm visualization; basic data 1 course” in Indonesian language. Algorithm and Data
structure; dynamic algorithm tracking Structure 1 (ASD 1) is a computer science course in Maranatha
Christian University which consists of basic data structure
materials such as stack, queue, linked list, and priority queue.
I. INTRODUCTION To fulfill our needs, this tool is developed as Indonesian-
Teaching data structure in computer science class requires language desktop-based application with no internet
several illustrations about how the data structure works in order requirement. It also has several additional features such as
to improve student’s understanding. Illustrations are usually dynamic algorithm tracking mechanism and embedded course
drawn manually on the board, stored as animations in materials.
presentation file, or visualized with educational tools [2].
Hand-drawn illustration is the most conventional representation II. RELATED WORKS
which let lecturer illustrates the flow of data structure by
A. AlgoViz
drawing its steps on the board. This mechanism may be the
most comfortable one since lecturer can adjust his/her AlgoViz which is the successor of AlgoViz Wiki [9] is an
illustration by adding, removing, or updating several specific algorithm visualization (AV) portal that contains links to
details based on students’ feedbacks. However, this mechanism various AV websites [6]. It is intended to connect educators,
consumes a lot of time and may yield faulty steps especially developers, and users for AVs. This portal homepage can be
when the lecturer is in a rush. Storing illustrations as seen in Figure 1. It is built on Drupal [10] (an open-source
animations in presentation tools (e.g. Microsoft PowerPoint or content management system written in PHP) and can be
Prezi) is a better approach since it is more efficient in terms of accessed from http://algoviz.org/.
time and its steps are definitely error-free. However, most AlgoViz portal does not only enlist all available AV
animations in presentation tools are built hardcoded which is websites but also provides its quality assessment information
quite difficult to incorporate dynamic test cases. such as ranking given by catalog editor, user rating,
There is a long tradition among Computer Science lecturers description, review information, field reports, and user
of using educational tool software to teach algorithms since it comments [11]. These quality assessments can be used as user
21
Jurnal Teknik Informatika dan Sistem Informasi e-ISSN : 2443-2229
Volume 2 Nomor 1 April 2015
consideration before exploring the target site. Since this portal 3. VisuAlgo covers various algorithm and data structure so
is greatly depends on AV community, several mechanism are that students have a “one-stop” place for all their
applied in order to keep the members in touch such as AlgoViz learning needs.
awards, forum, email notification, RSS feeds, and social-
media-based notifications. C. OpenDSA
OpenDSA aims to build a complete open-source, online
eTextbook for algorithm and data structure courses that
integrates textbook text with a rich collection of interactive
activities (including algorithm visualizations) [8, 13, 14, 15].
OpenDSA can be accessed from http://algoviz.org/OpenDSA/
(this tool is registered in AlgoViz portal) and its homepage can
be seen in Figure 3. This website is built with HTML 5
technology which enables course modules to be available for
use in many modern browsers with no additional plugins or
software needed.
B. VisuAlgo
VisuAlgo is a web-based educational tool which visualizing
algorithm and data structure through animation [7, 12]. This
website was conceptualized by Steven Halim in 2011 with the
aims of improving teaching of data structures and algorithms
through dynamic interactive visualization. VisuAlgo can be
accessed from http://visualgo.net/ where its homepage can be
seen in Figure 2. This website is utilized in several computer Figure 3. OpenDSA Homepage
science class at National University of Singapore (NUS) and
covers various algorithm and data structure materials such as OpenDSA is designed with the following educational goals
sorting, bitmask, linked list, hash table, binary heap, binary [16]:
search tree, graph, segment tree, and suffix tree. 1. To become a leverage technology that present course
material in a way that makes learning easier.
2. Engaging and motivating students through interactive
activities.
3. To evaluate student performance easier through
exercises and self-assessments.
A sample of eTextbook generated by OpenDSA can be seen
in Figure 4 [8]. Each eTextbook is formed as a series of HTML
pages which consists of algorithm and data structure materials
[16]. Lecturer for a given course have control over the content,
such as reuse, alter, remove, or add existing materials on it.
Each material is converted as an interactive module which
algorithm visualization is supported by JSAV, a JavaScript
algorithm visualization library [17]. It also may consist of
Figure 2. VisuAlgo Homepage
interactive activities such as interactive exercises, algorithmic
VisuAlgo improves learning and teaching of algorithms in calculator, and performance simulator [16]. Exercises can be
the following ways [2]: conducted in several ways which are simple questions,
1. VisuAlgo visualizes algorithm flow through animation proficiency exercises, and programming exercises. Proficiency
and highlighted pseudocode which improves student exercises aim to verify student understanding about how a
understanding. These steps can be repeated as many as given algorithm works by requiring them to simulate its
needed so that students can focus on algorithm part that behavior whereas programming exercises aim to verify student
has not been understood. understanding about how to implement an algorithm or using a
2. VisuAlgo applies dynamic visualization which let certain data structure. Several minor features are also
students use their own examples and see the result. embedded such as algorithmic calculator and performance
simulator. Algorithmic calculator is conducted to calculate
22
e-ISSN : 2443-2229 Jurnal Teknik Informatika dan Sistem Informasi
Volume 2 Nomor 1 April 2016
complex part such as hashing function whereas performance translation between two programming language. Pop-up
simulator is conducted to “measure” how many processes questions are designed to maintain student interaction towards
needed for executing an algorithm. the application. It also helps the lecturer to measure student
understanding about the code. Breakpoints are utilized to let
this application run similar to standard debugger.
E. JHAVE
JHAVE (Java-Hosted Algorithm Visualization
Environment) is a support environment for AV systems where
users can design their AV on it [19]. It provides several user
benefits such as a standard set of VCR-like controls, graphical
representation, information and pseudo-code window, input
generator, pop-up question mechanism, and even several
supportive content generation tool. Sample user interface of
Figure 4. A Sample of E-Textbook Generated by OpenDSA AV developed in JHAVE can be seen in Figure 6. Lecturers
D. ViLLE may design their AV including what information is represented
during that phase. JHAVE is designed in client-server
ViLLE is a desktop-based program educational tool for architecture for dynamic material update.
teaching programming to novice programmer where student
can see the dynamic behavior of program execution through
variable changes between each instruction, function calls
through stack view, and even the description of certain code
line [18]. Function call through stack view is utilized to let
students understand recursion whereas code line description is
required to tell specific detail of certain line (which is
frequently used in advanced algorithm). ViLLE sample user
interface can be seen in Figure 5. Current code line is
highlighted whereas user gains flexible control of the
visualization (both forwards and backwards).
F. Research Contribution
Feature comparison of existing CS educational tools and
AP-ASD1 can be seen in Table I. AV represents AlgoViz, VA
represents VisuAlgo, OD represents OpenDSA, V represents
ViLLE, JH represents JHAVE, and AP represents AP-ASD1.
Question symbol (“?”) represents uncertainty where the
existence of that feature is greatly depend on its AV designer.
Figure 5. ViLLE Sample User Interface
23
Jurnal Teknik Informatika dan Sistem Informasi e-ISSN : 2443-2229
Volume 2 Nomor 1 April 2015
24
e-ISSN : 2443-2229 Jurnal Teknik Informatika dan Sistem Informasi
Volume 2 Nomor 1 April 2016
Figure 8. AP-ASD1 Main Window when Visualizing Insert Last on Standard Linked List
25
Jurnal Teknik Informatika dan Sistem Informasi e-ISSN : 2443-2229
Volume 2 Nomor 1 April 2015
Module selection panel which can be seen in Figure 9 User may instruct current data structure to do some
enables user to select course modules. To simplify module operations by utilizing module operation panel. The
selection, modules are categorized based on its data example of module operation panel can be seen in Figure
structure name and grouped using tree view. User can 11. User can choose any operation by clicking selected
expand or shrink each menu by clicking it. Current module button and give several input needed in given textfields.
bar consists of several information and setting about the Standard textfields are used as input mechanism to keep
current module. Beside showing current course title, this bar AP-ASD1 as simple as possible which let user prepare all
is also featured with tracking mode checkbox, next and prev the input before executing an operation. Each operation
button for algorithm tracking, and detail button. Tracking affects visualization panel, algorithm panel, instruction log,
mode checkbox is checked if user want to see algorithm and operation history.
tracking and its algorithm tracking can be controlled
through next and prev buttons. Detail button let user access
detailed data structure material of the current module which
example view can be seen in Figure 10. Each module is
described based on course materials and featured with
relevant graphics.
26
e-ISSN : 2443-2229 Jurnal Teknik Informatika dan Sistem Informasi
Volume 2 Nomor 1 April 2016
Figure 14. The Example of Instruction Log: Delete Last on List that
Record Head and Tail
27
Jurnal Teknik Informatika dan Sistem Informasi e-ISSN : 2443-2229
Volume 2 Nomor 1 April 2015
current data structure state in visualization panel and access, desktop platform for consistent UI and functionality,
memory. and consistent UI for ease of use).
IV. EVALUATION
TABLE III
The feasibility of AP-ASD1 is evaluated based on two STANDARD EFFECTIVENESS MEASUREMENT QUESTION
factors which are functionality correctness and survey.
Question Measurement
Functionality correctness is measured using black-box Question
ID Objective
testing whereas survey is conducted by distributing A1 Ease of use How easy can you use AP-ASD1?
questionnaires on ASD 1 students which have used AP- A2 Intuitive UI How intuitive is the UI of AP-ASD1?
ASD1 in the class. UI and How consistent are all UI
A3 functionality components and functionalities
A. Black-box Testing consistency between modules in AP-ASD1?
Black-box testing is conducted to validate functionality User How convenient is AP-ASD1 in
A4
correctness of AP-ASD1 features. A feature is considered Convenience terms of use?
correctly functioned if and only if that feature produces Declarative How declarative is application
A5
similar result with its expected result. Based on our tutorial tutorial given in AP-ASD1?
evaluation, All AP-ASD1 features are correctly functioned How good is AP-ASD1 in sync with
Course material
A6 data-structure-related ASD 1 course
and yield expected results. Validated AP-ASD1 features are synchronization
materials?
categorized as follows: How helpful is AP-ASD1 to learn
1. Module change through module selection It also A7 Learning impact basic data structure, especially in
includes content consistency in current module bar, ASD 1 course?
module operation panel, visualization panel,
instruction log, and operation history. Survey are given to students in ASD 1 class for short odd
2. Data structure state and visualization (including semester of academic year 2015/2016. There are 15 students
animation sequence) for each operation. of 2015 which take ASD 1 course for the first time. They
3. The flow of dynamic algorithm tracking which are instructed to utilize AP-ASD1 as a supplementary tool
involves algorithm panel and instruction log. to understand basic data structure during ASD 1 course.
4. Miscellaneous form components which are not When students fill up the survey, they are instructed for not
evaluated in other categories. writing their identity on survey page. This mechanism is
B. Survey conducted to let they measure the impact of AP-ASD1
objectively. All questions and instructions in survey are
Survey aims to measure AP-ASD1 subjective translated in Indonesian language due to language problem
effectiveness from the user perspective. It is conducted by (most student only understand their native language which
asking ASD 1 students to answer several questions based on is Indonesian language). Survey was given at the end of
their experience toward AP-ASD1. These questions are semester when all materials have been taught.
divided into two parts which are standard effectiveness
measurement questions and feature-impact measurement TABLE IV
questions. Each question in both parts are marked with FEATURE-IMPACT MEASUREMENT QUESTION
unique ID to be easily referred in other sections. Students Question Feature Question
can answer each question with a number ranged from 0 to 5 ID
inclusively where 0 means this objective is not achieved at Indonesian-
all and 5 means it is completely achieved. language How good do you understand the
Standard effectiveness measurement questions can be B1 instruction and semantic of all instructions and
seen in Table III. All questions given in Table III are description in descriptions given in AP-ASD1?
generated based on general measurement objectives which AP-ASD1
Course-
is used to measure AP-ASD1 in general. Beside general How similar data structure
synchronized
aspects, several major features are also evaluated to validate B2 terminologies used in AP-ASD1 with
data structure
its impact through feature-impact measurement questions. course material?
terminologies
Feature-impact measurement questions which are shown at How helpful is data structure
Data structure
Table IV are generated based on AP-ASD1 major features B3 visualization to understand certain
visualization
in one-to-one correlation. For clarity, major features are data structure?
features which described explicitly in analysis section Dynamic How helpful is dynamic algorithm
(Indonesian-language instruction and description in AP- B4 algorithm tracking to understand the algorithm
ASD1, course-synchronized data structure terminologies, tracking of data structure operation?
Detailed data
data structure visualization, dynamic algorithm tracking, How declarative is detailed data
B5 structure
detailed data structure materials, no dependence to internet materials
structure material in AP-ASD1?
28
e-ISSN : 2443-2229 Jurnal Teknik Informatika dan Sistem Informasi
Volume 2 Nomor 1 April 2016
29
Jurnal Teknik Informatika dan Sistem Informasi e-ISSN : 2443-2229
Volume 2 Nomor 1 April 2015
30