ABSTRACT
Although many visualization techniques have been shown to be pedagogically effective, they are still not widely adopted. The reasons include: lack of suitable methods of automatic-generation of visualizations, lack of integration among visualizations, and lack of integration with basic integrated development environment (IDE) support. To effectively use visualizations when developing code, it is useful to automatically generate multiple synchronized views without leaving the IDE. The jGRASP IDE provides object viewers that automatically generate dynamic, state-based visualizations of objects and primitive variables in Java. Such seamless integration of a lightweight IDE with a set of pedagogically effective software visualizations is unique and is currently unavailable in any other environment. Multiple instructors have reported positive anecdotal evidence of their usefulness. We conducted formal, repeatable experiments to investigate the effect of these viewers for singly linked lists on student performance and we found a statistically significant improvement over traditional methods of visual debugging that use break-points.
- Eisenstadt, M. 1997. My hairiest bug war stories. Communications of the ACM, vol. 40, issue 4, pp. 30--37. Google ScholarDigital Library
- Felder, R. M., and Silverman, L. K. 1988. Learning and Teaching Styles in Engineering Education. Engr. Education, 1988, vol. 78, pp. 674--681.Google Scholar
- Hendrix, D. T., Cross, J. H., and Barowski, L. A. 2004. An extensible framework for providing dynamic data structure visualizations in a lightweight IDE. In Proceedings of the 35th SIGCSE technical symposium on Computer science education, pp. 387--391. Google ScholarDigital Library
- Hristova, M., Misra, A., Rutter, M., and Mercuri, R. 2003. Identifying and correcting Java programming errors for introductory computer science students. In Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education, Reno, Nevada, USA, pp. 153--156. Google ScholarDigital Library
- Jain, J., Billor, N., Hendrix, D., and Cross, J. H. 2005. Survey to Investigate Data Structure Understanding. Submitted to the International Conference on Statistics, Combinatorics, Mathematics and Applications, Auburn, AL, December 2--4, 2005.Google Scholar
- Jain, J., Cross, J. H., and Hendrix, D. 2005. Qualitative Assessment of Systems Facilitating Visualization of Data Structures. In Proceedings of 2005 ACM Southeast Conference, Kennesaw, GA, March 18--20, 2005. Google ScholarDigital Library
- Johnson, R. A., and Wichern, D. W. 1998. Applied multivariate statistical analysis, 4th Edition, ISBN: 0130925535. Lewis, J. and Chase J. 2004. Java Software Structures: Designing and Using Data Structures, 2nd Edition, ISBN: 0321245849.Google Scholar
- Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J. E., Sanders, K., Seppälä, O., Simon, B., and Thomas, L. 2004. A multi-national study of reading and tracing skills in novice programmers. In Working Group Reports From ITiCSE on innovation and Technology in Computer Science Education, pp. 119--15. Google ScholarDigital Library
- Metzger, R. C. 2003. Debugging by Thinking: A Multidisciplinary Approach (HP Technologies), ISBN: 1555583075.Google Scholar
- Rubey, R. J. 1975. Quantitative aspects of software validation. In Proceedings of the International Conference on Reliable Software, Los Angeles, California, pp. 246--251. Google ScholarDigital Library
- Shaffer, C., Heath, L. S., and Yang, J. 1996. Using the swan data structure visualization system for computer science education. In Proceedings of the SIGCSE, ACM Press, 1996, pp. 140--144. Google ScholarDigital Library
- Shrout, Patrick E., and Fleiss, Joseph L. Intraclass correlations: Uses in assessing rater reliability. Psychological Bulletin. vol. 86, issue 2, Mar 1979, pp. 420--428.Google Scholar
- Youngs, E. 1974. Human Errors in Programming. International Journal of Man-Machine Studies, vol. 6, pp. 361--376.Google ScholarCross Ref
Index Terms
- Experimental evaluation of animated-verifying object viewers for Java
Recommendations
Dynamic program visualizations for Java (abstract only)
SIGCSE '14: Proceedings of the 45th ACM technical symposium on Computer science educationThis workshop will focus on using the new jGRASP viewer canvas which provides an exciting new dimension to dynamic program visualization. The canvas allows students and instructors to organize dynamic viewers of multiple objects and primitives to ...
Dynamic object viewers for data structures
The jGRASP lightweight IDE has been extended to provide object viewers that automatically generate dynamic, state-based visualizations of data structures in Java. These viewers provide multiple synchronized visualizations of data structures as the user ...
An extensible framework for providing dynamic data structure visualizations in a lightweight IDE
A framework for producing dynamic data structure visualizations within the context of a lightweight IDE is described. Multiple synchronized visualizations of a data structure can be created with minimal coding through the use of an external viewer ...
Comments