Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
144 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Teaching Algorithm Design: A Literature Review (2405.00832v1)

Published 1 May 2024 in cs.DS and cs.HC

Abstract: Algorithm design is a vital skill developed in most undergraduate Computer Science (CS) programs, but few research studies focus on pedagogy related to algorithms coursework. To understand the work that has been done in the area, we present a systematic survey and literature review of CS Education studies. We search for research that is both related to algorithm design and evaluated on undergraduate-level students. Across all papers in the ACM Digital Library prior to August 2023, we only find 94 such papers. We first classify these papers by topic, evaluation metric, evaluation methods, and intervention target. Through our classification, we find a broad sparsity of papers which indicates that many open questions remain about teaching algorithm design, with each algorithm topic only being discussed in between 0 and 10 papers. We also note the need for papers using rigorous research methods, as only 38 out of 88 papers presenting quantitative data use statistical tests, and only 15 out of 45 papers presenting qualitative data use a coding scheme. Only 17 papers report controlled trials. We then synthesize the results of the existing literature to give insights into what the corpus reveals about how we should teach algorithms. Much of the literature explores implementing well-established practices, such as active learning or automated assessment, in the algorithms classroom. However, there are algorithms-specific results as well: a number of papers find that students may under-utilize certain algorithmic design techniques, and studies describe a variety of ways to select algorithms problems that increase student engagement and learning. The results we present, along with the publicly available set of papers collected, provide a detailed representation of the current corpus of CS Education work related to algorithm design and can orient further research in the area.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (91)
  1. Supporting active learning and example based instruction with classroom technology. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (Covington, Kentucky, USA) (SIGCSE ’07). Association for Computing Machinery, New York, NY, USA, 69–73. https://doi.org/10.1145/1227310.1227338
  2. Michal Armoni. 2009. Reduction in CS: A (Mostly) Quantitative Analysis of Reductive Solutions to Algorithmic Problems. J. Educ. Resour. Comput. 8, 4, Article 11 (jan 2009), 30 pages.
  3. Brett A. Becker and Keith Quille. 2019. 50 Years of CS1 at SIGCSE: A Review of the Evolution of Introductory Programming Education Research. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (Minneapolis, MN, USA) (SIGCSE ’19). Association for Computing Machinery, New York, NY, USA, 338–344. https://doi.org/10.1145/3287324.3287432
  4. Hiring is broken: What do developers say about technical interviews?. In 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, IEEE Computer Society, Los Alamitos, CA, USA, 1–9.
  5. Inverted Two-Stage Exams for Prospective Learning: Using an Initial Group Stage to Incentivize Anticipation of Transfer. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (Portland, OR, USA) (SIGCSE ’20). ACM, New York, NY, USA, 720–738.
  6. Jens Bennedssen and Michael E. Caspersen. 2008. Abstraction Ability as an Indicator of Success for Learning Computing Science?. In Proceedings of the Fourth International Workshop on Computing Education Research (Sydney, Australia) (ICER ’08). ACM, New York, NY, USA, 15–26.
  7. Steven Bird and James R. Curran. 2006. Building a Search Engine to Drive Problem-Based Learning. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Bologna, Italy) (ITICSE ’06). ACM, New York, NY, USA, 153–157.
  8. Florent Bouchez-Tichadou. 2018. Problem solving to teach advanced algorithms in heterogeneous groups. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (Larnaca, Cyprus) (ITiCSE 2018). Association for Computing Machinery, New York, NY, USA, 200–205. https://doi.org/10.1145/3197091.3197147
  9. The Shortest Path to Ethics in AI: An Integrated Assignment Where Human Concerns Guide Technical Decisions. In Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1 (Lugano and Virtual Event, Switzerland) (ICER ’22). ACM, New York, NY, USA, 344–355.
  10. John W. Coffey. 2013. Integrating Theoretical and Empirical Computer Science in a Data Structures Course. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (Denver, Colorado, USA) (SIGCSE ’13). ACM, New York, NY, USA, 23–28.
  11. AlgoVista: An Algorithmic Search Tool in an Educational Setting. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (Norfolk, Virginia, USA) (SIGCSE ’04). ACM, New York, NY, USA, 462–466.
  12. Harris M. Cooper. 1988. Organizing knowledge syntheses: A taxonomy of literature reviews. Knowledge in Society (1988). https://doi.org/10.1007/BF03177550
  13. Daniel Coore and Daniel Fokum. 2019. Facilitating Course Assessment with a Competitive Programming Platform. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (Minneapolis, MN, USA) (SIGCSE ’19). ACM, New York, NY, USA, 449–455.
  14. From Theory to Practice: NP-Completeness for Every CS Student. In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education (Canterbury, England, UK) (ITiCSE ’13). ACM, New York, NY, USA, 16–21.
  15. Detecting and Understanding Students’ Misconceptions Related to Algorithms and Data Structures. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (Raleigh, North Carolina, USA) (SIGCSE ’12). ACM, New York, NY, USA, 21–26.
  16. An Instrument to Assess Self-Efficacy in Introductory Algorithms Courses. In Proceedings of the 2017 ACM Conference on International Computing Education Research (Tacoma, Washington, USA) (ICER ’17). ACM, New York, NY, USA, 217–225.
  17. MRS: Automated Assessment of Interactive Classroom Exercises. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Baltimore, Maryland, USA) (SIGCSE ’18). ACM, New York, NY, USA, 290–295.
  18. Creating Engaging Exercises With Mobile Response System (MRS). In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (Seattle, Washington, USA) (SIGCSE ’17). ACM, New York, NY, USA, 147–152.
  19. Katherine Deibel. 2005. Team formation methods for increasing interaction during in-class group work. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Caparica, Portugal) (ITiCSE ’05). Association for Computing Machinery, New York, NY, USA, 291–295. https://doi.org/10.1145/1067445.1067525
  20. James W. Drisko and Tina Maschi. 2016. Content Analysis. Oxford University Press.
  21. A Review of Research on Parsons Problems. In Proceedings of the Twenty-Second Australasian Computing Education Conference (Melbourne, VIC, Australia) (ACE’20). Association for Computing Machinery, New York, NY, USA, 195–202. https://doi.org/10.1145/3373165.3373187
  22. Emma Enström and Viggo Kann. 2017. Iteratively Intervening with the “Most Difficult” Topics of an Algorithms and Complexity Course. ACM Trans. Comput. Educ. 17, 1, Article 4 (jan 2017), 38 pages.
  23. Parsons Problems and Beyond: Systematic Literature Review and Empirical Study Designs. In Proceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education (Dublin, Ireland) (ITiCSE-WGR ’22). Association for Computing Machinery, New York, NY, USA, 191–234. https://doi.org/10.1145/3571785.3574127
  24. Ali Erkan. 2018. The Educational Insights and Opportunities Afforded by the Nuances of Prim’s and Kruskal’s MST Algorithms. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (Larnaca, Cyprus) (ITiCSE 2018). ACM, New York, NY, USA, 129–134.
  25. Ali Erkan and Diyan Gochev. 2008. An Image Background Detection Project for a Visual Exploration of DFS and BFS. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (Portland, OR, USA) (SIGCSE ’08). ACM, New York, NY, USA, 483–487.
  26. Evaluating the Effectiveness of Algorithm Analysis Visualizations. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (Seattle, Washington, USA) (SIGCSE ’17). Association for Computing Machinery, New York, NY, USA, 201–206. https://doi.org/10.1145/3017680.3017698
  27. Tommy Färnqvist and Fredrik Heintz. 2016. Competition and Feedback through Automated Assessment in a Data Structures and Algorithms Course. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (Arequipa, Peru) (ITiCSE ’16). Association for Computing Machinery, New York, NY, USA, 130–135. https://doi.org/10.1145/2899415.2899454
  28. J. L. Fleiss. 1971. Measuring nominal scale agreement among many raters. Psychological Bulletin 76 (1971). Issue 5. https://doi.org/10.1037/h0031619
  29. Studied Questions in Data Structures and Algorithms Assessments. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1 (Turku, Finland) (ITiCSE 2023). ACM, New York, NY, USA, 250–256.
  30. Ginés Gárcia-Mateos and José Luis Fernández-Alemán. 2009. A Course on Algorithms and Data Structures Using On-Line Judging. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (Paris, France) (ITiCSE ’09). ACM, New York, NY, USA, 45–49.
  31. Edward F. Gehringer and Carolyn S. Miller. 2009. Student-generated active-learning exercises. SIGCSE Bull. 41, 1 (mar 2009), 81–85. https://doi.org/10.1145/1539024.1508897
  32. David Ginat. 2001. Metacognitive Awareness Utilized for Learning Control Elements in Algorithmic Problem Solving. In Proceedings of the 6th Annual Conference on Innovation and Technology in Computer Science Education (Canterbury, United Kingdom) (ITiCSE ’01). ACM, New York, NY, USA, 81–84.
  33. David Ginat. 2003. The greedy trap and learning from mistakes. In Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (Reno, Navada, USA) (SIGCSE ’03). Association for Computing Machinery, New York, NY, USA, 11–15. https://doi.org/10.1145/611892.611920
  34. David Ginat. 2004. Do senior CS students capitalize on recursion?. In Proceedings of the 9th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Leeds, United Kingdom) (ITiCSE ’04). Association for Computing Machinery, New York, NY, USA, 82–86. https://doi.org/10.1145/1007996.1008020
  35. David Ginat and Yoav Blau. 2017. Multiple Levels of Abstraction in Algorithmic Problem Solving. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (Seattle, Washington, USA) (SIGCSE ’17). ACM, New York, NY, USA, 237–242.
  36. Lasse Hakulinen. 2011. Using Serious Games in Computer Science Education. In Proceedings of the 11th Koli Calling International Conference on Computing Education Research (Koli, Finland) (Koli Calling ’11). ACM, New York, NY, USA, 83–88.
  37. Yeajin Ham and Brandon Myers. 2021. Learning from Team Quizzes in CS2. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (Virtual Event, USA) (SIGCSE ’21). Association for Computing Machinery, New York, NY, USA, 362–368. https://doi.org/10.1145/3408877.3432412
  38. A Systematic Literature Review of Empiricism and Norms of Reporting in Computing Education Research Literature. ACM Trans. Comput. Educ. 22, 1, Article 3 (oct 2021), 46 pages. https://doi.org/10.1145/3470652
  39. Jason J Holdsworth and Siu Man Lui. 2009. GPS-Enabled Mobiles for Learning Shortest Paths: A Pilot Study. In Proceedings of the 4th International Conference on Foundations of Digital Games (Orlando, Florida) (FDG ’09). ACM, New York, NY, USA, 86–90.
  40. Learning IS Child’s Play: Game-Based Learning in Computer Science Education. ACM Trans. Comput. Educ. 19, 3, Article 22 (jan 2019), 18 pages.
  41. Hadi Hosseini and Laurel Perweiler. 2019. Are You Game?. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (Minneapolis, MN, USA) (SIGCSE ’19). ACM, New York, NY, USA, 866–872.
  42. A meta-study of algorithm visualization effectiveness. Journal of Visual Languages & Computing 13, 3 (2002), 259–290.
  43. Cruz Izu and Brad Alexander. 2018. Using unstructured practice plus reflection to develop programming/problem-solving fluency. In Proceedings of the 20th Australasian Computing Education Conference (Brisbane, Queensland, Australia) (ACE ’18). Association for Computing Machinery, New York, NY, USA, 25–34. https://doi.org/10.1145/3160489.3160496
  44. On the Ability to Reason About Program Behaviour: A Think-Aloud Study. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (Bologna, Italy) (ITiCSE ’17). ACM, New York, NY, USA, 305–310.
  45. Assessing the benefits of interactive prediction using Web-based algorithm animation courseware. In Proceedings of the Thirty-First SIGCSE Technical Symposium on Computer Science Education (Austin, Texas, USA) (SIGCSE ’00). Association for Computing Machinery, New York, NY, USA, 377–381. https://doi.org/10.1145/330908.331889
  46. Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY, USA.
  47. When Rhetorical Logic Meets Programming: Collective Argumentative Reasoning in Problem-Solving in Programming. In Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1 (Lugano and Virtual Event, Switzerland) (ICER ’22). ACM, New York, NY, USA, 120–134.
  48. Barbara Kitchenham and Stuart Charters. 2007. Guidelines for performing Systematic Literature Reviews in Software Engineering. Technical Report EBSE-2007-01. Software Engineering Group, Keele University and Department of Computer Science, University of Durham, Salt Lake City, UT.
  49. Active Learning during Lecture Using Tablets. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (Atlanta, Georgia, USA) (SIGCSE ’14). ACM, New York, NY, USA, 121–126.
  50. Ming-Han Lee and Guido Rößling. 2011. Toward Replicating Handmade Algorithm Visualization Behaviors in a Digital Environment: A Pre-Study. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (Darmstadt, Germany) (ITiCSE ’11). ACM, New York, NY, USA, 198–202.
  51. Abe Leite and Saúl A. Blanco. 2020. Effects of Human vs. Automatic Feedback on Students’ Understanding of AI Concepts and Programming Style. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (Portland, OR, USA) (SIGCSE ’20). Association for Computing Machinery, New York, NY, USA, 44–50. https://doi.org/10.1145/3328778.3366921
  52. PDL: Scaffolding Problem Solving in Programming Courses. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1 (Virtual Event, Germany) (ITiCSE ’21). ACM, New York, NY, USA, 185–191.
  53. Joan M. Lucas. 2015. Illustrating the Interaction of Algorithms and Data Structures Using the Matching Problem. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (Kansas City, Missouri, USA) (SIGCSE ’15). Association for Computing Machinery, New York, NY, USA, 247–252. https://doi.org/10.1145/2676723.2677212
  54. What is an Algorithms Course? Survey Results of Introductory Undergraduate Algorithms Courses in the U.S.. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (Toronto ON, Canada) (SIGCSE 2023). ACM, New York, NY, USA, 284–290.
  55. Introductory programming: a systematic literature review. In Proceedings companion of the 23rd annual ACM conference on innovation and technology in computer science education. Association for Computing Machinery, New York, NY, USA, 55–106.
  56. Computing Education Theories: What Are They and How Are They Used?. In Proceedings of the 2019 ACM Conference on International Computing Education Research (Toronto ON, Canada) (ICER ’19). ACM, New York, NY, USA, 187–197.
  57. Moving Digital Libraries into the Student Learning Space: The GetSmart Experience. J. Educ. Resour. Comput. 6, 1 (mar 2006), 2–es.
  58. Lester I. McCann. 2004. Contemplate Sorting with Columnsort. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (Norfolk, Virginia, USA) (SIGCSE ’04). ACM, New York, NY, USA, 166–169.
  59. Forming project groups while learning about matching and network flows in algorithms. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (Haifa, Israel) (ITiCSE ’12). Association for Computing Machinery, New York, NY, USA, 40–45. https://doi.org/10.1145/2325296.2325310
  60. Undergraduate Teaching Assistants in Computer Science: A Systematic Literature Review. In Proceedings of the 2019 ACM Conference on International Computing Education Research (Toronto ON, Canada) (ICER ’19). Association for Computing Machinery, New York, NY, USA, 31–40. https://doi.org/10.1145/3291279.3339422
  61. JHAVÉ—an Environment to Actively Engage Students in Web-Based Algorithm Visualizations. In Proceedings of the Thirty-First SIGCSE Technical Symposium on Computer Science Education (Austin, Texas, USA) (SIGCSE ’00). ACM, New York, NY, USA, 109–113.
  62. A Decade of Demographics in Computing Education Research: A Critical Review of Trends in Collection, Reporting, and Use. In Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1 (Lugano and Virtual Event, Switzerland) (ICER ’22). ACM, New York, NY, USA, 323–343.
  63. Roy P. Pargas. 2006. Reducing Lecture and Increasing Student Activity in Large Computer Science Courses. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Bologna, Italy) (ITICSE ’06). ACM, New York, NY, USA, 3–7.
  64. Wolfgang Paul and Jan Vahrenhold. 2013. Hunting High and Low: Instruments to Detect Misconceptions Related to Algorithms and Data Structures. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (Denver, Colorado, USA) (SIGCSE ’13). ACM, New York, NY, USA, 29–34.
  65. A Project in Algorithms Based on a Primary Historical Source about Catalan Numbers. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (Houston, Texas, USA) (SIGCSE ’06). ACM, New York, NY, USA, 318–322.
  66. Vinhthuy Phan and Eric Hicks. 2018. Code4Brownies: An Active Learning Solution for Teaching Programming and Problem Solving in the Classroom. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (Larnaca, Cyprus) (ITiCSE 2018). ACM, New York, NY, USA, 153–158.
  67. What do we think we think we are doing? Metacognition and self-regulation in programming. In Proceedings of the 2020 ACM conference on international computing education research. Association for Computing Machinery, New York, NY, USA, 2–13.
  68. Justus Randolph. 2009. A Guide to Writing the Dissertation Literature Review. Practical Assessment, Research, and Evaluation 14 (2009). Issue 1.
  69. From animation to analysis in introductory computer science. In Proceedings of the Twenty-Fifth SIGCSE Symposium on Computer Science Education (Phoenix, Arizona, USA) (SIGCSE ’94). Association for Computing Machinery, New York, NY, USA, 61–65. https://doi.org/10.1145/191029.191057
  70. Samuel A. Rebelsky. 2005. The New Science Students in Too Much, Too Soon an Abbreviated, Accelerated, Constructivist, Collaborative, Introductory Experience in CS. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (St. Louis, Missouri, USA) (SIGCSE ’05). ACM, New York, NY, USA, 312–316.
  71. Inferential Statistics in Computing Education Research: A Methodological Review. In Proceedings of the 2019 ACM Conference on International Computing Education Research (Toronto ON, Canada) (ICER ’19). Association for Computing Machinery, New York, NY, USA, 177–185. https://doi.org/10.1145/3291279.3339408
  72. Algorithm Visualization: A Report on the State of the Field. SIGCSE Bull. 39, 1 (mar 2007), 150–154.
  73. Algorithm Visualization: The State of the Field. ACM Trans. Comput. Educ. 10, 3, Article 9 (aug 2010), 22 pages.
  74. Analysis of research into the teaching and learning of programming. In Proceedings of the Fifth International Workshop on Computing Education Research Workshop (Berkeley, CA, USA) (ICER ’09). Association for Computing Machinery, New York, NY, USA, 93–104. https://doi.org/10.1145/1584322.1584334
  75. John T. Stasko. 1997. Using Student-Built Algorithm Animations as Learning Aids. In Proceedings of the Twenty-Eighth SIGCSE Technical Symposium on Computer Science Education (San Jose, California, USA) (SIGCSE ’97). ACM, New York, NY, USA, 25–29.
  76. Automatic Recognition of Students’ Sorting Algorithm Implementations in a Data Structures and Algorithms Course. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research (Koli, Finland) (Koli Calling ’12). ACM, New York, NY, USA, 83–92.
  77. Predictive vs. Passive Animation Learning Tools. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (Chattanooga, TN, USA) (SIGCSE ’09). ACM, New York, NY, USA, 494–498.
  78. Map-Based Algorithm Visualization with METAL Highway Data. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Baltimore, Maryland, USA) (SIGCSE ’18). ACM, New York, NY, USA, 550–555.
  79. Laura Toma and Jan Vahrenhold. 2018. Self-Efficacy, Cognitive Load, and Emotional Reactions in Collaborative Algorithms Labs - A Case Study. In Proceedings of the 2018 ACM Conference on International Computing Education Research (Espoo, Finland) (ICER ’18). ACM, New York, NY, USA, 1–10.
  80. Tammy VanDeGrift. 2017. POGIL Activities in Data Structures: What do Students Value?. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (Seattle, Washington, USA) (SIGCSE ’17). Association for Computing Machinery, New York, NY, USA, 597–602. https://doi.org/10.1145/3017680.3017697
  81. J. Ángel Velázquez-Iturbide. 2012. Refinement of an Experimental Approach Tocomputer-Based, Active Learning of Greedy Algorithms. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (Haifa, Israel) (ITiCSE ’12). ACM, New York, NY, USA, 46–51.
  82. J. Ángel Velázquez-Iturbide. 2013. An Experimental Method for the Active Learning of Greedy Algorithms. ACM Trans. Comput. Educ. 13, 4, Article 18 (nov 2013), 23 pages. https://doi.org/10.1145/2534972
  83. J. Ángel Velázquez-Iturbide. 2019. Students’ Misconceptions of Optimization Algorithms. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (Aberdeen, Scotland Uk) (ITiCSE ’19). ACM, New York, NY, USA, 464–470.
  84. A ”Multiple Executions” Technique of Visualization. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (Arequipa, Peru) (ITiCSE ’16). ACM, New York, NY, USA, 59–64.
  85. J. Ángel Velázquez-Iturbide and Antonio Pérez-Carrasco. 2016. Systematic Development of Dynamic Programming Algorithms Assisted by Interactive Visualization. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (Arequipa, Peru) (ITiCSE ’16). ACM, New York, NY, USA, 71–76.
  86. What Are Cybersecurity Education Papers About? A Systematic Literature Review of SIGCSE and ITiCSE Conferences. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (Portland, OR, USA) (SIGCSE ’20). Association for Computing Machinery, New York, NY, USA, 2–8. https://doi.org/10.1145/3328778.3366816
  87. Robbie Weber. 2023. Using Alternative Grading in a Non-Major Algorithms Course. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (Toronto ON, Canada) (SIGCSE 2023). ACM, New York, NY, USA, 638–644.
  88. Titus Winters and Tom Payne. 2006. Closing the Loop on Test Creation: A Question Assessment Mechanism for Instructors. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (Houston, Texas, USA) (SIGCSE ’06). ACM, New York, NY, USA, 169–170.
  89. Anthony Wirth and Michael Bertolacci. 2006. New algorithms research for first year students. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Bologna, Italy) (ITICSE ’06). Association for Computing Machinery, New York, NY, USA, 128–132. https://doi.org/10.1145/1140124.1140160
  90. Jason Xia and Craig Zilles. 2023. Using Context-Free Grammars to Scaffold and Automate Feedback in Precise Mathematical Writing. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (Toronto ON, Canada) (SIGCSE 2023). ACM, New York, NY, USA, 479–485.
  91. Student Misconceptions of Dynamic Programming. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Baltimore, Maryland, USA) (SIGCSE ’18). ACM, New York, NY, USA, 556–561.
Citations (1)

Summary

  • The paper reveals a significant gap in rigorous empirical research and psychological exploration within algorithm design education.
  • Effective teaching strategies identified include problem selection for engagement and algorithm visualization, although the latter's impact lacks consistent empirical support.
  • The review highlights the critical need for more controlled studies and qualitative investigations into psychological factors to advance pedagogical approaches in algorithm design.

An Expert Review of "Teaching Algorithm Design: A Literature Review"

Introduction

The paper entitled "Teaching Algorithm Design: A Literature Review" presents an extensive survey aimed at understanding the current landscape of algorithm design education within undergraduate computer science programs. The authors conducted a systematic review of literature to identify trends, gaps, and opportunities for future research in this essential yet underexplored area of computer science education. The survey reflects the synthesis of 94 academic papers obtained from the ACM Digital Library, underscoring critical pedagogical practices and interventions germane to teaching algorithms.

Scope and Methodology

The paper meticulously classifies research on algorithm design into topics, evaluation methods, evaluation metrics, and intervention targets, guided by the ACM Curricular Guidelines. This framework allowed the authors to structure their analysis around specific algorithmic paradigms such as greedy algorithms, dynamic programming, and shortest-path algorithms, among others. Employing a content analysis protocol, the authors ensured reliability and comprehensiveness in categorizing the literature, emphasizing both quantitative and qualitative data insights.

Key Findings and Insights

Educational Methods and Practices

A significant insight from the paper is the sparsity of rigorous pedagogical research in algorithm design education. Only a limited number of studies leverage statistical tests or controlled trials, which would significantly enhance the validity of their educational interventions. Moreover, while student performance is frequently measured, only a minority of papers delve into psychological factors such as self-efficacy or persistence, suggesting these areas require more attention due to their potential impact on student learning outcomes.

Engagement through Problem Selection

The literature review highlights that problem selection remains a potent tool in engaging students with real-world scenarios, enhancing both motivation and problem-solving skills. Algorithms involve a high degree of abstraction, and aligning problems with real-world contexts, such as GPS navigation systems or bipartite matching for project group formation, can significantly increase student interest and perceived relevance of the material.

Algorithm Visualization

Several studies underscore the benefits of algorithm visualization tools, which facilitate active engagement and conceptual understanding. However, empirical assessments of these visualizations are mixed, with some studies noting no significant improvement in learning despite increased engagement and efficiency. The literature indicates potential in using visualizations to encourage active participation, possibly amplifying their educational impact.

Implications and Future Directions

The synthesis of existing literature suggests several implications for both practice and future research. There is an evident need to augment rigorous empirical research within algorithm design education, focusing particularly on controlled studies that could substantiate the efficacy of diverse pedagogical approaches. Additionally, broader qualitative investigations into the psychological dimensions of learning algorithms could provide insights into creating more inclusive and psychologically supportive learning environments.

Moreover, extending reviews to encompass computing theory and algorithmic analysis topics can create a more comprehensive understanding of the curriculum, aligning with ACM guidelines. Researching underrepresented topics such as examination strategies and the psychological well-being of students in algorithm courses might offer further opportunities for impactful contributions.

Conclusion

This literature review provides a critical examination of the state of algorithm design education, establishing a foundation for future inquiry. It identifies key areas of success, such as active learning and problem-based engagement, while highlighting significant research gaps in methodological rigor and psychological exploration. By elucidating these dimensions, the review serves as a valuable resource for educators and researchers seeking to enhance the pedagogical approach to teaching algorithms, ultimately contributing to the development of more robust and effective CS education strategies.

HackerNews

Reddit Logo Streamline Icon: https://streamlinehq.com

Reddit