Teaching Algorithm Design: A Literature Review (2405.00832v1)
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.
- 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
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- Harris M. Cooper. 1988. Organizing knowledge syntheses: A taxonomy of literature reviews. Knowledge in Society (1988). https://doi.org/10.1007/BF03177550
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- James W. Drisko and Tina Maschi. 2016. Content Analysis. Oxford University Press.
- 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
- 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.
- 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
- 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.
- 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.
- 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
- 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
- J. L. Fleiss. 1971. Measuring nominal scale agreement among many raters. Psychological Bulletin 76 (1971). Issue 5. https://doi.org/10.1037/h0031619
- 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.
- 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.
- 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
- 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.
- 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
- 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
- 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.
- 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.
- 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
- 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
- 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.
- Learning IS Child’s Play: Game-Based Learning in Computer Science Education. ACM Trans. Comput. Educ. 19, 3, Article 22 (jan 2019), 18 pages.
- 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.
- A meta-study of algorithm visualization effectiveness. Journal of Visual Languages & Computing 13, 3 (2002), 259–290.
- 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
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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
- 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.
- 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.
- 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.
- Moving Digital Libraries into the Student Learning Space: The GetSmart Experience. J. Educ. Resour. Comput. 6, 1 (mar 2006), 2–es.
- 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.
- 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
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Justus Randolph. 2009. A Guide to Writing the Dissertation Literature Review. Practical Assessment, Research, and Evaluation 14 (2009). Issue 1.
- 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
- 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.
- 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
- Algorithm Visualization: A Report on the State of the Field. SIGCSE Bull. 39, 1 (mar 2007), 150–154.
- Algorithm Visualization: The State of the Field. ACM Trans. Comput. Educ. 10, 3, Article 9 (aug 2010), 22 pages.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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.
- 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.