skip to main content
10.1145/3364510.3364530acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
short-paper

BiGO: A Toolset to Support CS Students to Learn to Analyze Time Complexities of Algorithms

Authors Info & Claims
Published:21 November 2019Publication History

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.

References

  1. H. Juris and R.E. Stearns (1965). On the computational complexity of algorithms. Transactions of the American Mathematical Society, 117, 285--306.Google ScholarGoogle ScholarCross RefCross Ref
  2. T. Wolfgang, 1997. Languages, automata, and logic, Handbook of formal languages. Springer, Berlin, Heidelberg.Google ScholarGoogle Scholar
  3. D. Whitfield, and M. Hellman, 1976. New directions in cryptography, IEEE transactions on Information Theory, 22(6), 644--654.Google ScholarGoogle Scholar
  4. D.E. Knuth, 1976. Big omicron and big omega and big theta, ACM SIGACT News 8(2), 18--24.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. J. Avigad, and D. Kevin. (2004). Formalizing O notation in Isabelle/HOL. International Joint Conference on Automated Reasoning. Springer, Berlin, Heidelberg.Google ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. 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 ScholarGoogle ScholarCross RefCross Ref
  16. Sundblad, Yngve. "The Ackermann function, a theoretical, computational, and formula manipulative study." BIT Numerical Mathematics 11.1 (1971): 107--119.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. Roura, Salvador. "Improved master theorems for divide-and-conquer recurrences." Journal of the ACM (JACM) 48.2 (2001): 170--205.Google ScholarGoogle Scholar
  21. https://electronis.org. Accessed 12-08-2019Google ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle Scholar
  1. BiGO: A Toolset to Support CS Students to Learn to Analyze Time Complexities of Algorithms

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      Koli Calling '19: Proceedings of the 19th Koli Calling International Conference on Computing Education Research
      November 2019
      247 pages
      ISBN:9781450377157
      DOI:10.1145/3364510

      Copyright © 2019 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 November 2019

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate80of182submissions,44%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader