Introducing a Practical Educational Tool for Correlating Algorithm Time Complexity with Real Program Execution

Author

Gisela Kurniawati, Oscar Karnalim

Abstract

Algorithm time complexity is an important topic to be learned for programmer; it could define whether an algorithm is practical to be used on real environment or not. However, learning such material is not a trivial task. Based on our informal observation regarding students’ test, most of them could not correlate Big-Oh equation to real program execution. This paper proposes JCEL, an educational tool that acts as a supportive tool for learning algorithm time complexity. Using this tool, user could learn how to correlate Big-Oh equation with real program execution by providing three components: a Java source code, source code input set, and time complexity equations. According to our evaluation, students feel that JCEL is helpful for learning the correlation between Big-Oh equation and real program execution. Further, the use of Pearson correlation in JCEL shows a promising result.

Full Text:

PDF

References


Levitin, A.: Introduction to the design & analysis of algorithms. Pearson (2012).

on Computing Curricula, A. for C.M. (ACM), Society, I.C.: Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY, USA (2013).

Elvina, E., Karnalim, O.: Complexitor: An Educational Tool for Learning Algorithm Time Complexity in Practical Manner. ComTech: Computer, Mathematics and Engineering Applications. 8, 21 (2017).

Pearson, K.: Note on Regression and Inheritance in the Case of Two Parents.

Sorva, J., Karavirta, V., Malmi, L.: A Review of Generic Program Visualization Systems for Introductory Programming Education. ACM Transactions on Computing Education. 13, 1–64 (2013).

Kaila, E., Rajala, T., Laakso, M.J., Salakoski, T.: Effects of Course-Long Use of a Program Visualization Tool. In: Australasian Computing Education Conference. , Brisbane (2010).

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

Karnalim, O., Ayub, M.: The Use of PythonTutor on Programming Laboratory Session: Student Perspectives. KINETIK. 2, (2017).

Cisar, S.M., Pinter, R., Radosav, D.: Effectiveness of Program Visualization in Learning Java: a Case Study with Jeliot 3. International Journal of Computers, Communications & Control. 6, (2011).

Guo, P.J.: 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. p. 579. ACM Press, New York, New York, USA (2013).

Kang, H., Guo, P.J.: 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).

Velázquez-Iturbide, J.Á., Pérez-Carrasco, A., Urquiza-Fuentes, J.: 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. p. 225. ACM Press, New York, New York, USA (2008).

Moreno, A., Myller, N., Sutinen, E., Ben-Ari, M.: Visualizing programs with Jeliot 3. In: Proceedings of the working conference on Advanced visual interfaces - AVI ’04. p. 373. ACM Press, New York, New York, USA (2004).

Gestwicki, P., Jayaraman, B.: Interactive Visualization of Java Programs. In: Symposia on Human Centric Computing Languages and Environments (2002).

Rajala, T., Laakso, M.-J., Kalla, E., Salakoski, T.: VILLE: a language-independent program visualization tool. In: Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88. pp. 151–159. Australian Computer Society, Darlinghurst (2007).

Carlisle, M.C., Wilson, T.A., Humphries, J.W., Hadfield, S.M.: RAPTOR: a visual programming environment for teaching algorithmic problem solving. Acm Sigcse Bulletin. 37, 176–180 (2005).

Watts, T.: The SFC editor a graphical tool for algorithm development. Journal of Computing Sciences in Colleges. 20, 73–85 (2004).

Resnick, M., Silverman, B., Kafai, Y., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J.: Scratch: Programming for All. Communications of the ACM. 52, 60 (2009).

Cooper, S., Dann, W., Pausch, R.: Alice: a 3-D tool for introductory programming concepts. In: Journal of Computing Sciences in Colleges. pp. 107–116 (2000).

Kölling, M.: The greenfoot programming environment. ACM Transactions on Computing Education (TOCE). 10, 14 (2010).

Christiawan, L., Karnalim, O.: AP-ASD1 : An Indonesian Desktop-based Educational Tool for Basic Data Structure Course. Jurnal Teknik Informatika dan Sistem Informasi. 2, (2016).

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

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

Zumaytis, S., Karnalim, O.: Introducing an Educational Tool for Learning Branch & Bound Strategy. Journal of Information Systems Engineering and Business Intelligence. 3, 8 (2017).

Debdi, O., Paredes-Velasco, M., Velázquez-Iturbide, J.Á.: GreedExCol, A CSCL tool for experimenting with greedy algorithms. Computer Applications in Engineering Education. 23, 790–804 (2015).

Velázquez-Iturbide, J.Á., Pérez-Carrasco, A., A.: 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. p. 119. ACM Press, New York, New York, USA (2009).

Parr, T.: The definitive ANTLR 4 reference. Pragmatic Bookshelf (2013).

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




DOI: http://dx.doi.org/10.25126/jitecs.20183140