ABSTRACT
Analysis of algorithms is a part of computing curriculums throughout the world in both undergraduate and graduate levels. However, students in general find this topic to be difficult subject due its theoretical and mathematical nature. This paper presents BiGO, a tool to support the students to understand and learn to analyze the time complexity of algorithms in rigorous manner. BiGO has four main features: i. it enables students to encode any given primitive recursive function with a specific scripting language in order to ii. automatically compute the upper bounds of the script and to, iii. visualize the behavior of the upper bounds in comparison to the most commonly occurring time complexity classes and, iv. view how long it takes for a computer to process the algorithm based on the different input values. This paper outlines the pedagogical goals of the tool and the system implementation architecture. Furthermore, we discuss future developmental plans for the tool and an evaluation within undergraduate and graduate level courses such as Data structures and algorithms and Design and analysis of algorithms.
- H. Juris and R.E. Stearns (1965). On the computational complexity of algorithms. Transactions of the American Mathematical Society, 117, 285--306.Google ScholarCross Ref
- T. Wolfgang, 1997. Languages, automata, and logic, Handbook of formal languages. Springer, Berlin, Heidelberg.Google Scholar
- D. Whitfield, and M. Hellman, 1976. New directions in cryptography, IEEE transactions on Information Theory, 22(6), 644--654.Google Scholar
- D.E. Knuth, 1976. Big omicron and big omega and big theta, ACM SIGACT News 8(2), 18--24.Google ScholarDigital Library
- T. Chen, and T. Sobh (2001). A tool for data structure visualization and user-defined algorithm animation. Frontiers in Education Conference., IEEE, 1. DOI: 10.1109/FIE.2001.963845.Google Scholar
- J. Avigad, and D. Kevin. (2004). Formalizing O notation in Isabelle/HOL. International Joint Conference on Automated Reasoning. Springer, Berlin, Heidelberg.Google ScholarCross Ref
- M. Sipser (1992). The history and status of the P versus NP question. Proceedings of the twenty-fourth annual ACM symposium on Theory of computing. ACM.Google ScholarDigital Library
- S. Grissom, M. F. McNally, and T. Naps. (2003). Algorithm visualization in CS education: comparing levels of student engagement, Proceedings of the ACM symposium on Software visualization. ACM.Google ScholarDigital Library
- G. Kurniawati, and O. Karnalim (2018). Introducing a practical educational tool for correlating algorithm time complexity with real program execution, Journal of Information Technology and Computer Science 3(1), 1--15.Google ScholarCross Ref
- M. Forišek, and S. Monika. (2012). Metaphors and analogies for teaching algorithms, Proceedings of the 43rd ACM technical symposium on Computer Science Education, ACM.Google ScholarDigital Library
- F. Elvina, and K. Oscar (2017). Complexitor: An educational tool for learning algorithm time complexity in practical manner, ComTech: Computer, Mathematics and Engineering Applications 8(1), 21--27.Google ScholarCross Ref
- D. Burlinson, M. Mehedint, C. Grafer, K. Subramanian, J. Payton, P. Goolkasian, M. Youngblood, and R. Kosara, (2016). BRIDGES: A System to Enable Creation of Engaging Data Structures Assignments with Real-World Data and Visualizations. SIGCSE '16, 2016, ACM. DOI:http://dx.doi.org/10.1145/2839509.2844635.Google ScholarDigital Library
- M.A Matin, S.S.M Oliullah, M.M.A Polash (2018). Implementation of a Customizable Algorithm Visualization Tool for E-Learning. ACM. DOI: https://doi.org/10.1145/3291078.3291104.Google Scholar
- S. Simonak (2016). Algorithm Visualizations as a Way of Increasing the Quality in Computer Science Education. In Proceedings of IEEE 14th International Symposium on Applied Machine Intelligence and Informatics, SAMI 2016. 153--157. IEEE. DOI: 10.1109/SAMI.2016.7422999.Google ScholarCross Ref
- V. Karavirta, and C.A Shaffer (2016). Creating Engaging Online Learning Material with the JSAV JavaScript Algorithm Visualization Library. IEEE Transactions on Learning Technologies, 9(2), 171--18, DOI: 10.1109/TLT.2015.2490673.Google ScholarCross Ref
- Sundblad, Yngve. "The Ackermann function, a theoretical, computational, and formula manipulative study." BIT Numerical Mathematics 11.1 (1971): 107--119.Google Scholar
- Schnorr, Claus-Peter, and Martin Euchner. "Lattice basis reduction: Improved practical algorithms and solving subset sum problems." Mathematical programming 66.1-3 (1994): 181--199.Google Scholar
- Zhang, Lintao, et al. "Efficient conflict driven learning in a boolean satisfiability solver." Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design. IEEE Press, 2001.Google Scholar
- Zhang, Da-Qian, Kang Zhang, and Jiannong Cao. "A context-sensitive graph grammar formalism for the specification of visual languages." The Computer Journal 44.3 (2001): 186--200.Google Scholar
- Roura, Salvador. "Improved master theorems for divide-and-conquer recurrences." Journal of the ACM (JACM) 48.2 (2001): 170--205.Google Scholar
- https://electronis.org. Accessed 12-08-2019Google Scholar
- Culic, Ioana, Alexandra Radovici, and Laura Mihaela Vasilescu. "Auto-generating Google Blockly visual programming elements for peripheral hardware." 2015 14th RoEduNet International Conference-Networking in Education and Research (RoEduNet NER). IEEE, 2015.Google Scholar
- Barbeau, Sean J., et al. "System and method for spatial point-of-interest generation and automated trip segmentation using location data." U.S. Patent No. 8,843,315. 23 Sep. 2014.Google Scholar
- BiGO: A Toolset to Support CS Students to Learn to Analyze Time Complexities of Algorithms
Recommendations
From Professional Development to the Classroom: Findings from CS K-12 Teachers
SIGCSE '17: Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science EducationThe CS for All initiative places increased emphasis on the need to prepare K-12 teachers of computer science (CS). Professional development (PD) programs continue to be an essential mechanism for preparing in-service teachers who have little formal ...
Implementation and Outcomes of a Three-Pronged Approach to Professional Development for CS Principles
SIGCSE '16: Proceedings of the 47th ACM Technical Symposium on Computing Science EducationOne of the greatest challenges in broadening participation in computer science is teacher preparation, as few middle and high school teachers have a formal background in computing. Further, without a credentialing program, there are limited ways to ...
What do computer scientists do?: a survey of CS and non-CS liberal arts faculty
ITiCSE '12: Proceedings of the 17th ACM annual conference on Innovation and technology in computer science educationWe asked all of the liberal arts faculty who advise undergraduates on course selection at the 14 colleges in the Associated Colleges of the Midwest a series of questions regarding their perceptions of the personality traits of Computer Science (CS) ...
Comments