BiGO: A Toolset to Support CS Students to Learn to Analyze Time Complexities of Algorithms
Self archived versionfinal draft
MetadataShow full item record
CitationToivonen, Tapani. Oyelere, Solomon. (2019). BiGO: A Toolset to Support CS Students to Learn to Analyze Time Complexities of Algorithms. Koli Calling '19 Proceedings of the 19th Koli Calling International Conference on Computing Education Research, 3. 10.1145/3364510.3364530.
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.