

Similarly, visual representations of data structure states should help in data structure understanding. In programming, visual learners can benefit from creat- ing diagrams of problem solutions (e.g., flowcharts) before coding. Most students will retain more information when it is presented with visual elements (pictures, diagrams, flowcharts, etc). report that between 75-80% of students are visual learners. Thus, there is a need to bridge the gap from concepts to implementation. The basic problem was that students have difficulty transitioning from static textbook concepts to dynamic programming implementation. About 75% of students indicated that they had an appropriate level of expertise in Java to complete the requirements of CS2.

This survey result was supported by data from the course grades. One result of the surveys was a clear indication that students did not find fundamental concepts difficult to understand but had much more trouble with the implementation. We conducted paper-based surveys and one-on-one interviews in Fall 2004 and Spring 2005 to understand the aspects of the CS2 course that students find most difficult.

Attrition from our computing majors is most noticeable during the CS2 course. Data structures and algorithms are abstract concepts, and the understanding of this topic and the material covered in class can be divided into two levels: a) Conceptual - where students learn concepts of operations such as create, add, delete, sort etc and b) Coding - where students implement the data structure and its operations using any programming language (Java in our case).
Jgrasp update software#
All Computer Science, Software Engineering, and Wireless Engineering majors at Auburn University are required to take the COMP 1210 course (an objects-early CS1 in Java) followed by the COMP 2210 course (a Java-based CS2). Our philosophy is that for visualizations to have the most impact on program understanding, they must be generated as needed from the user’s actual program during routine development.
Jgrasp update code#
We also decided against modifying the user’s source code as is required by systems such as LJV. We have specifically avoided basing the visualizations in jGRASP on a scripting language, which is a common approach for algorithm visualization systems such as JHAVE. Although we are planning to add a general linked structure view, we began with the more intuitive “textbook” views to provide the best opportunity for improving the comprehensibility of data structures. binary tree) has its own set of views and subviews which are intended to be similar to those found in textbooks. In jGRASP, each category of data structure (e.g., linked list vs. The data structure visualization in DDD shows each object with its fields and shows field pointers and reference edges. In this respect, jGRASP is similar to DDD. Whereas Jeliot focuses on beginning concepts such as expression evaluation and assignment of variables, jGRASP includes visualizations for more complex structures such as linked lists and trees.
