Introducing a Practical Educational Tool for Correlating Algorithm Time Complexity with Real Program Execution
AbstractAlgorithm 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.
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).
How to Cite
Â Creative Common Attribution-ShareAlike 3.0 International (CC BY-SA 3.0)
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).