An Embedding Technique for Language-Independent Lecturer-Oriented Program Visualization

Lisan Sulistiani, Oscar Karnalim


Nowadays, programming is a promising skill to be learned; the demand of programmer is increased. To align with such trend, several Program Visualization (PV) tools have been developed. Using such tool, user can learn how a particular program works through interactive and descriptive visualization. However, most of the tools are language-dependent: they use either language-dependent debugger or code to generate visualization. Such dependency may become a problem when a program written in new programming language is incorporated. Therefore, this paper proposes an embedding technique to handle given issue. To incorporate new programming language, it only needs five language-dependent features to be set. In general, our proposed technique works in threefold: embedding some statements to target program, generating visualization states by running the program with console commands, and visualizing given program based on generated visualization states. According to our evaluation, proposed technique is able to incorporate program written in any programming languages as long as those languages provide required language-dependent features. Further, it is practical to be used since it still have the benefits of conventional PV even though it is designed as a language-independent PV.


embedding technique; language independence; program visualization; educational tool; computer science education


A. Robins, J. Rountree, and N. Rountree, “Learning and teaching programming: A review and discussion,” Computer science education, vol. 13, no. 2, pp. 137–172, 2003.

M. Kölling, “The greenfoot programming environment,” ACM Transactions on Computing Education (TOCE), vol. 10, no. 4, p. 14, 2010.

J. Sorva, V. Karavirta, and L. Malmi, “A Review of Generic Program Visualization Systems for Introductory Programming Education,” ACM Transactions on Computing Education, vol. 13, no. 4, pp. 1–64, Nov. 2013.

E. Kaila, T. Rajala, M. J. Laakso, and T. Salakoski, “Effects of Course-Long Use of a Program Visualization Tool,” in Australasian Computing Education Conference, Brisbane, 2010.

O. Karnalim and M. Ayub, “The Effectiveness of a Program Visualization Tool on Introductory Programming: A Case Study with PythonTutor,” CommIT (Communication and Information Technology) Journal, vol. 11, no. 2, 2017.

O. Karnalim and M. Ayub, “The Use of PythonTutor on Programming Laboratory Session: Student Perspectives,” KINETIK, vol. 2, no. 4, 2017.

S. M. Cisar, R. Pinter, and D. Radosav, “Effectiveness of Program Visualization in Learning Java: a Case Study with Jeliot 3,” International Journal of Computers, Communications & Control, vol. 6, no. 4, 2011.

J. Á. Velázquez-Iturbide, A. Pérez-Carrasco, J. Á. Velázquez-Iturbide, and A. Pérez-Carrasco, “Active learning of greedy algorithms by means of interactive experimentation,” in Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education - ITiCSE ’09, New York, New York, USA, 2009, vol. 41, p. 119.

O. Debdi, M. Paredes-Velasco, and J. Á. Velázquez-Iturbide, “GreedExCol, A CSCL tool for experimenting with greedy algorithms,” Computer Applications in Engineering Education, vol. 23, no. 5, pp. 790–804, 2015.

E. Elvina and O. Karnalim, “Complexitor: An Educational Tool for Learning Algorithm Time Complexity in Practical Manner,” ComTech: Computer, Mathematics and Engineering Applications, vol. 8, no. 1, p. 21, Mar. 2017.

C. A. Shaffer et al., “Algorithm Visualization: The State of the Field,” ACM Transactions on Computing Education, vol. 10, no. 3, pp. 1–22, Aug. 2010.

S. Halim, Z. Chun KOH, V. Bo Huai LOH, and F. Halim, “Learning Algorithms with Unified and Interactive Web-Based Visualization,” Olympiads in Informatics, vol. 6, pp. 53–68, 2012.

L. Christiawan and O. Karnalim, “AP-ASD1 : An Indonesian Desktop-based Educational Tool for Basic Data Structure Course,” Jurnal Teknik Informatika dan Sistem Informasi, vol. 2, no. 1, Apr. 2016.

F. C. Jonathan, O. Karnalim, and M. Ayub, “Extending The Effectiveness of Algorithm Visualization with Performance Comparison through Evaluation-integrated Development,” in Seminar Nasional Aplikasi Teknologi Informasi (SNATI), 2016.

S. Zumaytis and O. Karnalim, “Introducing an Educational Tool for Learning Branch & Bound Strategy,” Journal of Information Systems Engineering and Business Intelligence, vol. 3, no. 1, p. 8, Apr. 2017.

T. L. Naps, J. R. Eagan, L. L. Norton, T. L. Naps, J. R. Eagan, and L. L. Norton, “JHAVÉ—an environment to actively engage students in Web-based algorithm visualizations,” in Proceedings of the thirty-first SIGCSE technical symposium on Computer science education - SIGCSE ’00, New York, New York, USA, 2000, vol. 32, pp. 109–113.

V. Karavirta and C. A. Shaffer, “JSAV: the JavaScript algorithm visualization library,” in Proceedings of the 18th ACM conference on Innovation and technology in computer science education - ITiCSE ’13, New York, New York, USA, 2013, p. 159.

C. A. Shaffer, M. Akbar, A. J. D. Alon, M. Stewart, and S. H. Edwards, “Getting algorithm visualizations into the classroom,” in Proceedings of the 42nd ACM technical symposium on Computer science education - SIGCSE ’11, New York, New York, USA, 2011, p. 129.

P. J. Guo, “Online python tutor: embeddable web-based program visualization for cs education,” in Proceeding of the 44th ACM technical symposium on Computer science education - SIGCSE ’13, New York, New York, USA, 2013, p. 579.

H. Kang and P. J. Guo, “Omnicode: A Novice-Oriented Live Programming Environment with Always-On Run-Time Value Visualizations,” in The 30th ACM Symposium on User Interface Software and Technology (UIST, 2017.

J. Á. Velázquez-Iturbide, A. Pérez-Carrasco, and J. Urquiza-Fuentes, “SRec: : an animation system of recursion for algorithm courses,” in Proceedings of the 13th annual conference on Innovation and technology in computer science education - ITiCSE ’08, New York, New York, USA, 2008, vol. 40, p. 225.

A. Moreno, N. Myller, E. Sutinen, and M. Ben-Ari, “Visualizing programs with Jeliot 3,” in Proceedings of the working conference on Advanced visual interfaces - AVI ’04, New York, New York, USA, 2004, p. 373.

P. Gestwicki and B. Jayaraman, “Interactive Visualization of Java Programs,” in Symposia on Human Centric Computing Languages and Environments, 2002.

T. Rajala, M.-J. Laakso, E. Kalla, and T. Salakoski, “VILLE: a language-independent program visualization tool,” in Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88, Darlinghurst, 2007, pp. 151–159.

J. W. Creswell, Educational research: planning, conducting, and evaluating quantitative and qualitative research. Pearson, 2012.

DOI: 10.24003/emitter.v6i1.234


  • There are currently no refbacks.

Copyright (c) 2018 EMITTER International Journal of Engineering Technology

EMITTER Journal Editorial Office


Politeknik Elektronika Negeri Surabaya

Jl. Raya ITS - Kampus PENS Sukolilo Surabaya 60111, INDONESIA   Telp : +62 31 594 7280   Fax : +62 31 594 6114