An Embedding Technique for Language-Independent Lecturer-Oriented Program Visualization
Abstract
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.
Downloads
References
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.
Copyright (c) 2018 EMITTER International Journal of Engineering Technology
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
The copyright to this article is transferred to Politeknik Elektronika Negeri Surabaya(PENS) if and when the article is accepted for publication. The undersigned hereby transfers any and all rights in and to the paper including without limitation all copyrights to PENS. The undersigned hereby represents and warrants that the paper is original and that he/she is the author of the paper, except for material that is clearly identified as to its original source, with permission notices from the copyright owners where required. The undersigned represents that he/she has the power and authority to make and execute this assignment. The copyright transfer form can be downloaded here .
The corresponding author signs for and accepts responsibility for releasing this material on behalf of any and all co-authors. This agreement is to be signed by at least one of the authors who have obtained the assent of the co-author(s) where applicable. After submission of this agreement signed by the corresponding author, changes of authorship or in the order of the authors listed will not be accepted.
Retained Rights/Terms and Conditions
- Authors retain all proprietary rights in any process, procedure, or article of manufacture described in the Work.
- Authors may reproduce or authorize others to reproduce the work or derivative works for the author’s personal use or company use, provided that the source and the copyright notice of Politeknik Elektronika Negeri Surabaya (PENS) publisher are indicated.
- Authors are allowed to use and reuse their articles under the same CC-BY-NC-SA license as third parties.
- Third-parties are allowed to share and adapt the publication work for all non-commercial purposes and if they remix, transform, or build upon the material, they must distribute under the same license as the original.
Plagiarism Check
To avoid plagiarism activities, the manuscript will be checked twice by the Editorial Board of the EMITTER International Journal of Engineering Technology (EMITTER Journal) using iThenticate Plagiarism Checker and the CrossCheck plagiarism screening service. The similarity score of a manuscript has should be less than 25%. The manuscript that plagiarizes another author’s work or author's own will be rejected by EMITTER Journal.
Authors are expected to comply with EMITTER Journal's plagiarism rules by downloading and signing the plagiarism declaration form here and resubmitting the form, along with the copyright transfer form via online submission.