Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3502718.3524820acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

CATNIP: An Automated Hint Generation Tool for Scratch

Published: 07 July 2022 Publication History

Abstract

Taking the first steps when learning how to program can be hard. Block-based programming languages like Scratch lower this hurdle, but learners may nevertheless get stuck when trying to solve a specific task and need help. This can also challenge teachers when facing many raised hands at the same time in the classroom. Consequently, it is desirable for learners and teachers alike to have access to systems that automatically generate hints on which steps to take next in a programming assignment. In this paper we introduce Catnip, a tool that generates next step hints for the Scratch programming language based on a structural comparison between model solutions and the current student attempt. Catnip uses extensive postprocessing to improve the generated hints, and displays them directly inside the Scratch framework, suggesting where to add or reorder blocks while working on a programming task.

References

[1]
Paolo Antonucci, Christian Estler, Durica Nikoliç, Marco Piccioni, and Bertrand Meyer. 2015. An Incremental Hint System For Automated Programming Assignments. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (Vilnius, Lithuania) (ITiCSE '15). Association for Computing Machinery, New York, NY, USA, 320--325. https://doi.org/10.1145/2729094.2742607
[2]
Nikolaus Augsten, Michael Böhlen, and Johann Gamper. 2005. Approximate Matching of Hierarchical Data Using pq-Grams. In Proceedings of the 31st International Conference on Very Large Data Bases (Trondheim, Norway) (VLDB '05). VLDB Endowment, 301--312.
[3]
Bryce Boe, Charlotte Hill, Michelle Len, Greg Dreschler, Phillip Conrad, and Diana Franklin. 2013. Hairball: Lint-inspired static analysis of scratch projects. SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education, 215--220. https://doi.org/10.1145/2445196.2445265
[4]
Allan Collins and Manu Kapur. 2014. Cognitive Apprenticeship 2 ed.). Cambridge University Press, 109--127. https://doi.org/10.1017/CBO9781139519526.008
[5]
Gordon Fraser, Ute Heuer, Nina Körber, Florian Obermüller, and Ewald Wasmeier. 2021. LitterBox: A Linter for Scratch Programs. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). 183--188. https://doi.org/10.1109/ICSE-SEET52601.2021.00028
[6]
Dan Garcia, Brian Harvey, and Tiffany Barnes. 2015. The Beauty and Joy of Computing. ACM Inroads, Vol. 6, 4 (Nov. 2015), 71--79. https://doi.org/10.1145/2835184
[7]
Sumit Gulwani, Ivan Radivcek, and Florian Zuleger. 2018. Automated Clustering and Program Repair for Introductory Programming Assignments. SIGPLAN Not., Vol. 53, 4 (jun 2018), 465--480. https://doi.org/10.1145/3296979.3192387
[8]
Stuart Hansen and Erica Eddy. 2007. Engagement and Frustration in Programming Projects. 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, 271--275. https://doi.org/10.1145/1227310.1227407
[9]
John Maloney, Mitchel Resnick, Natalie Rusk, Brian Silverman, and Evelyn Eastmond. 2010. The Scratch Programming Language and Environment. ACM Transactions on Computing Education (TOCE), Vol. 10 (11 2010), 16. https://doi.org/10.1145/1868358.1868363
[10]
Monica M. McGill and Adrienne Decker. 2020. Tools, Languages, and Environments Used in Primary and Secondary Computing Education. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education (Trondheim, Norway) (ITiCSE '20). Association for Computing Machinery, New York, NY, USA, 103--109. https://doi.org/10.1145/3341525.3387365
[11]
James Munkres. 1957. Algorithms for the Assignment and Transportation Problems. J. Soc. Indust. Appl. Math., Vol. 5, 1 (March 1957), 32--38. https://doi.org/10.1137/0105003
[12]
Florian Obermüller, Lena Bloch, Luisa Greifenstein, Ute Heuer, and Gordon Fraser. 2021 a. Code Perfumes: Reporting Good Code to Encourage Learners .Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3481312.3481346
[13]
Florian Obermüller, Ute Heuer, and Gordon Fraser. 2021 b. Guiding Next-Step Hint Generation Using Automated Tests .Association for Computing Machinery, New York, NY, USA, 220--226. https://doi.org/10.1145/3430665.3456344
[14]
Thomas Price, Rui Zhi, and Tiffany Barnes. 2017b. Evaluation of a Data-driven Feedback Algorithm for Open-ended Programming.
[15]
Thomas W. Price, Yihuan Dong, and Tiffany Barnes. 2016. Generating Data-driven Hints for Open-ended Programming. In EDM .
[16]
Thomas W. Price, Yihuan Dong, and Dragan Lipovac. 2017a. ISnap: Towards Intelligent Tutoring in Novice Programming Environments. 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, 483--488. https://doi.org/10.1145/3017680.3017762
[17]
Thomas W. Price, Rui Zhi, and Tiffany Barnes. 2017c. Hint Generation Under Uncertainty: The Effect of Hint Quality on Help-Seeking Behavior. In Artificial Intelligence in Education, Elisabeth André, Ryan Baker, Xiangen Hu, Ma. Mercedes T. Rodrigo, and Benedict du Boulay (Eds.). Springer International Publishing, Cham, 311--322.
[18]
Brian J. Reiser and Iris Tabak. 2014. Scaffolding 2 ed.). Cambridge University Press, 44--62. https://doi.org/10.1017/CBO9781139519526.005
[19]
K Ann Renninger. 2010. Working with and cultivating the development of interest, self-efficacy, and self-regulation. Innovations in Educational Psychology (2010), 107.
[20]
Andreas Stahlbauer, Marvin Kreis, and Gordon Fraser. 2019. Testing scratch programs automatically. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 165--175.
[21]
Peeratham Techapalokul and Eli Tilevich. 2017. Quality Hound - An online code smell analyzer for scratch programs. In 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 337--338. https://doi.org/10.1109/VLHCC.2017.8103498
[22]
Jooyong Yi, Umair Z. Ahmed, Amey Karkare, Shin Hwei Tan, and Abhik Roychoudhury. 2017. A Feasibility Study of Using Automated Program Repair for Introductory Programming Assignments. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (Paderborn, Germany) (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA, 740--751. https://doi.org/10.1145/3106237.3106262
[23]
K. Zimmerman and C. R. Rupakheti. 2015. An Automated Framework for Recommending Program Elements to Novices (N). In 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE) . 283--288.

Cited By

View all
  • (2024)A Block-Based Testing Framework for ScratchProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699547(1-12)Online publication date: 12-Nov-2024
  • (2024)Extending Scratch Framework to Improve the Analytical Skills of Undergraduate StudentsProceedings of the 2024 10th International Conference on Computer Technology Applications10.1145/3674558.3674561(15-19)Online publication date: 15-May-2024
  • (2024)NuzzleBug: Debugging Block-Based Programs in ScratchProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623331(1-13)Online publication date: 20-May-2024

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '22: Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1
July 2022
686 pages
ISBN:9781450392013
DOI:10.1145/3502718
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: 07 July 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. block-based programming
  2. hints
  3. scratch

Qualifiers

  • Research-article

Funding Sources

Conference

ITiCSE 2022
Sponsor:

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)46
  • Downloads (Last 6 weeks)8
Reflects downloads up to 08 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A Block-Based Testing Framework for ScratchProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699547(1-12)Online publication date: 12-Nov-2024
  • (2024)Extending Scratch Framework to Improve the Analytical Skills of Undergraduate StudentsProceedings of the 2024 10th International Conference on Computer Technology Applications10.1145/3674558.3674561(15-19)Online publication date: 15-May-2024
  • (2024)NuzzleBug: Debugging Block-Based Programs in ScratchProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623331(1-13)Online publication date: 20-May-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media