Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3341525.3387390acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Compigorithm: An Interactive Tool for Guided Practice of Complexity Analysis

Published: 15 June 2020 Publication History

Abstract

It is essential that students learn to write code that is not only correct, but also efficient. To that end, algorithmic complexity analysis techniques, such as Big-O analysis, are typically an important part of courses on algorithm design. However, students often hold fundamental misconceptions about how Big-O analysis works. This paper presents Compigorithm, an interactive tool for helping students practice Big-O analysis. Compigorithm scaffolds student learning by breaking down the analysis process into five concrete steps and walking students through each of these steps. When students make mistakes, they are provided with automated hints and allowed to re-attempt until they get the correct answer. Compigorithm was piloted in an introductory algorithms course and evaluated using a controlled experiment. The experimental group trained by analyzing algorithms using Compigorithm, while the control group analyzed the same algorithms by hand. On the subsequent post-test, the experimental group outperformed the control group by a significant margin (p < 0.00001; Cohen's d = 0.84).

References

[1]
Scott Barlowe and Andrew Scott. 2015. O-Charts: Towards an Effective Toolkit for Teaching Time Complexity. In Proceedings of the 45th Annual Frontiers in Education Conference (FIE '15). El Paso, TX.
[2]
Paul Black and Dylan William. 1998. Assessment and Classroom Learning. Assessment in Education: Principles, Policy, & Practice, Vol. 5, 1 (1998).
[3]
The Coq Development Team. 2017. The Coq Proof Assistant Reference Manual, version 8.7. http://coq.inria.fr
[4]
Terence J. Crooks. 1988. The Impact of Classroom Evaluation Practices on Students. Review of Educational Research, Vol. 58, 4 (1988).
[5]
Martin Davis. 1958. Computability & Unsolvability .McGraw-Hill Book Company, Inc.
[6]
Mohammed F. Farghally, Kyu Han Koh, Jeremy V. Ernst, and Clifford A. Shaffer. 2017a. Towards a Concept Inventory for Algorithm Analysis Topics. In Proceedings of the 48th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '17). Seattle, WA.
[7]
Mohammed F. Farghally, Kyu Han Koh, Hossameldin Shahin, and Cliffor A. Shaffer. 2017b. Evaluating the Effectiveness of Algorithm Analysis Visualizations. In Proceedings of the 48th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '17). Seattle, WA.
[8]
Eric Fouh, Mohammed Farghally, Sally Hamouda, Kyu Han Koh, and Clifford A. Shaffer. 2016. Investigating Difficult Topics in a Data Structures Course Using Item Response Theory and Logged Data Analysis. In Proceedings of the 2016 International Conference on Educational Data Mining (EDM '16). Raleigh, NC.
[9]
Judith Gal-Ezer, Tamar Vilner, and Ela Zur. 2004. Teaching Algorithm Efficiency at CS1 Level: A Different Approach. Computer Science Education, Vol. 14, 3 (2004), 235--248.
[10]
Judith Gal-Ezer and Ela Zur. 2003. The Efficiency of Algorithms -- Misconceptions. Computers & Education, Vol. 42, 3 (2003), 215--226.
[11]
Michael T. Goodrich and Roberto Tamassia. 1998. Teaching the Analysis of Algorithms with Visual Proofs. In Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '98). Atlanta, GA.
[12]
John Hattie. 2008. Visible Learning: A Synthesis of Over 800 Meta-Analyses Relating to Achievement. Routledge.
[13]
John Hattie and Helen Timperley. 2007. The Power of Feedback. Review of Educational Research, Vol. 77, 1 (2007).
[14]
Christopher D. Hundhausen and Jonathan Lee Brown. 2005. Personalizing and Discussing Algorithms within CS1 Studio Experiences: An Observational Study. In Proceedings of the 1st International Workshop on Computing Education Research (ICER '05). Seattle, WA.
[15]
Christopher D. Hundhausen and Jonathan L. Brown. 2008. Designing, Visualizing, and Discussing Algorithms within a CS1 Studio Experience: An Empirical Study. Computers & Education, Vol. 50, 1 (2008), 301--326.
[16]
Christopher D. Hundhausen, Sarah A. Douglas, and John T. Stasko. 2002. A Meta-Study of Algorithm Visualization Effectiveness. Journal of Visual Languages & Computing, Vol. 13, 3 (2002), 259--290.
[17]
Leslie Lamport. [n. d.]. The PlusCal Algorithm Language. In Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing (ICTAC '09).
[18]
K. Rustan M. Leino. 2010. Dafny: an Automatic Program Verifier for Functional Correctness. In Proceedings of the 16th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning (LPAR '10). Dakar, Senegal.
[19]
Robert McCartney, Dennis J. Bouvier, Tzu-Yi Chen, Gary Lewandowski, Kate Sanders, Beth Simon, and Tammy VanDeGrift. 2009. Commonsense Computing (episode 5): Algorithm Efficiency and Balloon Testing. In Proceedings of the 5th International Computing Education Research Workshop (ICER '09). Berkeley, CA.
[20]
Aaron Meurer, Christopher P. Smith, Mateusz Paprocki, Ondvrej vCertík, Sergey B. Kirpichev, Matthew Rocklin, Amit Kumar, Sergiu Ivanov, Jason K. Moore, Sartaj Singh, Thilina Rathnayake, Sean Vig, Brian E. Granger, Richard P. Muller, Francesco Bonazzi, Harsh Gupta, Shivam Vats, Fredrik Johansson, Fabian Pedregosa, Matthew J. Curry, Andy R. Terrel, vStvepán Rouvcka, Ashutosh Saboo, Isuru Fernando, Sumith Kulal, Robert Cimrman, and Anthony Scopatz. 2017. SymPy: symbolic computing in Python. PeerJ Computer Science, Vol. 3 (Jan. 2017), e103. https://doi.org/10.7717/peerj-cs.103
[21]
Miranda Parker and Colleen Lewis. 2014. What Makes Big-O Analysis Difficult: Understanding how Students Understand Runtime Analysis. Journal of Computing Sciences in Colleges, Vol. 29, 4 (2014), 164--174.
[22]
Sartaj Sahni. 1999. Data Structures, Algorithms, and Applications in C+. McGraw-Hill Publishing Company.
[23]
Valerie J. Shute. 2008. Focus on Formative Feedback. Review of Educational Research, Vol. 78, 1 (2008).

Cited By

View all
  • (2023)RAVICProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 210.1145/3545947.3576336(1391-1391)Online publication date: 1-Mar-2023
  • (2023)InStitches: Augmenting Sewing Patterns with Personalized Material-Efficient PracticeProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581499(1-14)Online publication date: 19-Apr-2023
  • (2021)Wrong Answers for Wrong Reasons: The Risks of Ad Hoc InstrumentsProceedings of the 21st Koli Calling International Conference on Computing Education Research10.1145/3488042.3488045(1-11)Online publication date: 17-Nov-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '20: Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education
June 2020
615 pages
ISBN:9781450368742
DOI:10.1145/3341525
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithmic complexity
  2. educational tools
  3. interactive learning

Qualifiers

  • Research-article

Conference

ITiCSE '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Upcoming Conference

ITiCSE '25
Innovation and Technology in Computer Science Education
June 27 - July 2, 2025
Nijmegen , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)33
  • Downloads (Last 6 weeks)3
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)RAVICProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 210.1145/3545947.3576336(1391-1391)Online publication date: 1-Mar-2023
  • (2023)InStitches: Augmenting Sewing Patterns with Personalized Material-Efficient PracticeProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581499(1-14)Online publication date: 19-Apr-2023
  • (2021)Wrong Answers for Wrong Reasons: The Risks of Ad Hoc InstrumentsProceedings of the 21st Koli Calling International Conference on Computing Education Research10.1145/3488042.3488045(1-11)Online publication date: 17-Nov-2021
  • (2021)Novice Difficulties with Analyzing the Running Time of Short Pieces of CodeProceedings of the 23rd Australasian Computing Education Conference10.1145/3441636.3441855(1-10)Online publication date: 2-Feb-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media