skip to main content
10.1145/3328778.3366919acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Crescendo: Engaging Students to Self-Paced Programming Practices

Published: 26 February 2020 Publication History

Abstract

This paper introduces Crescendo, a self-paced programming practice environment that combines the block-based and visual, interactive programming of Snap!, with the structured practices commonly found in Drill-and-Practice Environments. Crescendo supports students with Parsons problems to reduce problem complexity, Use-Modify-Create task progressions to gradually introduce new programming concepts, and automated feedback and assessment to support learning. In this work, we report on our experience deploying Crescendo in a programming camp for middle school students, as well as in an introductory university course for non-majors. Our initial results from field observations and log data suggest that the support features in Crescendo kept students engaged and allowed them to progress through programming concepts quickly. However, some students still struggled even with these highly-structured problems, requiring additional assistance, suggesting that even strong scaffolding may be insufficient to allow students to progress independently through the tasks.

References

[1]
Bita Akram, Wookhee Min, Eric N Wiebe, Bradford W Mott, Kristy Boyer, and James C Lester. 2018. Improving Stealth Assessment in Game-based Learning with LSTM-based Analytics . Proceedings of the 11th International Conference on Educational Data Mining (2018).
[2]
Owen Astrachan and Amy Briggs. 2012. The CS principles project. ACM Inroads, Vol. 3, 2 (2012), 38--42.
[3]
Michael Ball. 2018. Lambda: An Autograder for snap . Technical Report. Technical Report. Electrical Engineering and Computer Sciences University of California at Berkeley.
[4]
Austin Cory Bart, Javier Tibau, Eli Tilevich, Clifford A Shaffer, and Dennis Kafura. 2017. Blockpy: An open access data-science environment for introductory programmers. Computer, Vol. 50, 5 (2017), 18--26.
[5]
Stephen Cooper, Wanda Dann, and Randy Pausch. 2000. Alice: a 3-D tool for introductory programming concepts. In Journal of Computing Sciences in Colleges, Vol. 15. Consortium for Computing Sciences in Colleges, 107--116.
[6]
Albert T Corbett. 2000. Cognitive Mastery Learning in the ACT Programming Tutor. Technical Report. 1--6 pages. http://www.aaai.org/Papers/Symposia/Spring/2000/SS-00-01/SS00-01-007.pdf
[7]
Wanda Dann, Dennis Cosgrove, Don Slater, Dave Culyba, and Steve Cooper. 2012. Mediated transfer: Alice 3 to Java. In SIGCSE, Vol. 12. Citeseer, 141--146.
[8]
Sayamindu Dasgupta, William Hale, Andrés Monroy-Hernández, and Benjamin Mako Hill. 2016. Remixing as a pathway to computational thinking. In Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing. ACM, 1438--1449.
[9]
Stephen H Edwards and Krishnan Panamalai Murali. 2017. CodeWorkout: short programming exercises with built-in data collection. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education. ACM, 188--193.
[10]
Shelly Engelman, Brian Magerko, Tom McKlin, Morgan Miller, Doug Edwards, and Jason Freeman. 2017. Creativity in Authentic STEAM Education with EarSketch. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. ACM, 183--188.
[11]
Michael L. Epstein, Amber D. Lazarus, Tammy B. Calvano, Kelly A. Matthews, Rachel A. Hendel, Beth B. Epstein, and Gary M. Brosvic. 2002. Immediate Feedback Assessment Technique Promotes Learning and Corrects Inaccurate first Responses. The Psychological Record, Vol. 52, 2 (01 Apr 2002), 187--201.
[12]
Barbara J Ericson, James D Foley, and Jochen Rick. 2018. Evaluating the Efficiency and Effectiveness of Adaptive Parsons Problems. In Proceedings of the 2018 ACM Conference on International Computing Education Research. ACM, 60--68.
[13]
Barbara J. Ericson, Mark J. Guzdial, and Briana B. Morrison. 2015. Analysis of Interactive Features Designed to Enhance Learning in an Ebook . Proceedings of the eleventh annual International Conference on International Computing Education Research - ICER '15 (2015), 169--178. https://doi.org/10.1145/2787622.2787731
[14]
Barbara J Ericson, Lauren E Margulieux, and Jochen Rick. 2017. Solving parsons problems versus fixing and writing code. In Proceedings of the 17th Koli Calling Conference on Computing Education Research. ACM, 20--29.
[15]
Barbara J Ericson, Kantwon Rogers, Miranda Parker, Briana Morrison, and Mark Guzdial. 2016. Identifying design principles for CS teacher Ebooks through design-based research. In Proceedings of the 2016 ACM Conference on International Computing Education Research. ACM, 191--200.
[16]
Dan Garcia, Brian Harvey, and Tiffany Barnes. 2015. The beauty and joy of computing. ACM Inroads, Vol. 6, 4 (2015), 71--79.
[17]
Stuart Garner. 2007. An Exploration of How a Technology-Facilitated Part-Complete Solution Method Supports the Learning of Computer Programming . Issues in Informing Science and Information Technology, Vol. 4 (2007), 491--501.
[18]
Joanna Goode, Gail Chapman, and Jane Margolis. 2012. Beyond curriculum: the exploring computer science program. ACM Inroads, Vol. 3, 2 (2012), 47--53.
[19]
Luke Gusukuma, Virginia Tech, Austin Cory Bart, Virginia Tech, Dennis Kafura, Virginia Tech, Jeremy Ernst, and Virginia Tech. 2018. Misconception-Driven Feedback : Results from an Experimental Study . 1 (2018), 160--168.
[20]
Kyle J. Harms, Noah Rowlett, and Caitlin Kelleher. 2015. Enabling independent learning of programming concepts through programming completion puzzles . Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC, Vol. 2015-Decem, October 2015 (2015), 271--279. https://doi.org/10.1109/VLHCC.2015.7357226
[21]
David Hovemeyer and Jaime Spacco. 2013. CloudCoder: a web-based programming exercise system. Journal of Computing Sciences in Colleges, Vol. 28, 3 (2013), 30--30.
[22]
Michael Hull, Dan Powell, and Ewan Klein. 2011. Infandango: automated grading for student programming. (2011).
[23]
Prapti Khawas, Peeratham Techapalokul, and Eli Tilevich. [n. d.]. Unmixing Remixes: The How and Why of Not Starting Projects from Scratch. ([n. d.]).
[24]
Amruth N Kumar. 2006. Explanation of step-by-step execution as feedback for problems on program analysis, and its generation in model-based problem-solving tutors. Technology, Instruction, Cognition and Learning (TICL) Journal, Vol. 4, 1 (2006).
[25]
Irene Lee, Fred Martin, Jill Denner, Bob Coulter, Walter Allan, Jeri Erickson, Joyce Malyn-Smith, and Linda Werner. 2011. Computational thinking for youth in practice. Acm Inroads, Vol. 2, 1 (2011), 32--37.
[26]
Michael J Lee and Andrew J Ko. 2015. Comparing the effectiveness of online learning approaches on CS1 learning outcomes. In Proceedings of the Eleventh Annual International Conference on International Computing Education Research. ACM, 237--246.
[27]
Nicholas Lytle, Veronica Cateté, Danielle Boulden, Yihuan Dong, Jennifer Houchins, Alexandra Milliken, Amy Isvik, Dolly Bounajim, Eric Wiebe, and Tiffany Barnes. 2019 a. Use, Modify, Create: Comparing Computational Thinking Lesson Progressions for STEM Classes. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education. ACM, 395--401.
[28]
Nicholas Lytle, Mark Floryan, and Tiffany Barnes. 2019 b. Effects of a Pathfinding Program Visualization on Algorithm Development. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education. ACM, 225--231.
[29]
Brian Magerko, Jason Freeman, Tom McKlin, Scott McCoid, Tom Jenkins, and Elise Livingston. 2013. Tackling engagement in computing with computational music remixing. In Proceeding of the 44th ACM technical symposium on Computer science education. ACM, 657--662.
[30]
John H Maloney, Kylie Peppler, Yasmin Kafai, Mitchel Resnick, and Natalie Rusk. 2008. Programming by choice: urban youth learning programming with scratch. Vol. 40. ACM.
[31]
Orni Meerbaum-Salant, Michal Armoni, and Mordechai Ben-Ari. 2011. Habits of programming in scratch . ITiCSE'11 - Proceedings of the 16th Annual Conference on Innovation and Technology in Computer Science (2011), 168--172. https://doi.org/10.1145/1999747.1999796
[32]
John C Nesbit, Olusola O Adesope, Qing Liu, and Wenting Ma. 2014. How Effective are Intelligent Tutoring Systems in Computer Science Education?. In 2014 IEEE 14th International Conference on Advanced Learning Technologies. IEEE, 99--103.
[33]
Nick Parlante. 2019. CodingBat. Retrieved from ttps://codingbat.com/java.
[34]
Dale Parsons and Patricia Haden. 2006. Parson's programming puzzles: a fun and effective learning tool for first programming courses. In Proceedings of the 8th Australasian Conference on Computing Education-Volume 52. Australian Computer Society, Inc., 157--163.
[35]
Shaileen Crawford Pokress and José Juan Dominguez Veiga. 2013. MIT App Inventor: Enabling personal mobile computing. arXiv preprint arXiv:1310.2830 (2013).
[36]
Thomas W Price and Tiffany Barnes. 2015. Comparing textual and block interfaces in a novice programming environment. In Proceedings of the eleventh annual International Conference on International Computing Education Research. ACM, 91--99.
[37]
Thomas W Price, Yihuan Dong, and Dragan Lipovac. 2017. iSnap: towards intelligent tutoring in novice programming environments. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. ACM, 483--488.
[38]
Mitchel Resnick, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman, et almbox. 2009. Scratch: programming for all. Commun. ACM, Vol. 52, 11 (2009), 60--67.
[39]
Kelly Rivers and Kenneth R. Koedinger. 2017. Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming Tutor . International Journal of Artificial Intelligence in Education, Vol. 27, 1 (2017), 37--64. http://link.springer.com/10.1007/s40593-015-0070-z
[40]
Kelli Taylor and Doug Rohrer. 2010. The effects of interleaved practice. Applied Cognitive Psychology, Vol. 24, 6 (2010), 837--848.
[41]
Kurt Vanlehn. 2006. The Behavior of Tutoring Systems. Int. J. Artif. Intell. Ed., Vol. 16, 3 (Aug. 2006), 227--265. http://dl.acm.org/citation.cfm?id=1435351.1435353
[42]
Lev Vygotsky. 1978. Interaction between learning and development. Readings on the development of children, Vol. 23, 3 (1978), 34--41.
[43]
David Weintrop and Uri Wilensky. 2017. Comparing block-based and text-based programming in high school computer science classrooms. ACM Transactions on Computing Education (TOCE), Vol. 18, 1 (2017), 3.
[44]
Rui Zhi, Min Chi, Tiffany Barnes, and Thomas W Price. 2019. Evaluating the Effectiveness of Parsons Problems for Block-based Programming. In Proceedings of the 2019 ACM Conference on International Computing Education Research. ACM, 51--59.
[45]
Rui Zhi, Nicholas Lytle, and Thomas W Price. 2018. Exploring Instructional Support Design in an Educational Game for K-12 Computing Education. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education. ACM, 747--752.

Cited By

View all
  • (2023)A Case Study on When and How Novices Use Code Examples in Open-Ended ProgrammingProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588774(82-88)Online publication date: 29-Jun-2023
  • (2023)Investigating the Impact of On-Demand Code Examples on Novices' Open-Ended Programming ExperienceProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600141(464-475)Online publication date: 7-Aug-2023
  • (2023)Implementation and Evaluation of Self-learning Topic for SQLite Integration in Flutter Programming Learning Assistance System2023 10th International Conference on Electrical Engineering, Computer Science and Informatics (EECSI)10.1109/EECSI59885.2023.10295626(589-594)Online publication date: 20-Sep-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '20: Proceedings of the 51st ACM Technical Symposium on Computer Science Education
February 2020
1502 pages
ISBN:9781450367936
DOI:10.1145/3328778
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 the author(s) 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: 26 February 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. adaptive feedback
  2. drill and practice systems
  3. novice programming environments
  4. parsons problems
  5. use modify create

Qualifiers

  • Research-article

Conference

SIGCSE '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)1
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)A Case Study on When and How Novices Use Code Examples in Open-Ended ProgrammingProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588774(82-88)Online publication date: 29-Jun-2023
  • (2023)Investigating the Impact of On-Demand Code Examples on Novices' Open-Ended Programming ExperienceProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600141(464-475)Online publication date: 7-Aug-2023
  • (2023)Implementation and Evaluation of Self-learning Topic for SQLite Integration in Flutter Programming Learning Assistance System2023 10th International Conference on Electrical Engineering, Computer Science and Informatics (EECSI)10.1109/EECSI59885.2023.10295626(589-594)Online publication date: 20-Sep-2023
  • (2023)Generating Automated Assistance Mechanism in Android Programming Self-learning System Using Automatic Testing Tools2023 International Conference on Innovation and Intelligence for Informatics, Computing, and Technologies (3ICT)10.1109/3ICT60104.2023.10391287(445-450)Online publication date: 20-Nov-2023
  • (2023)Code Semantics Learning with Deep Neural Networks: An AI-Based Approach for Programming EducationComputational Science – ICCS 202310.1007/978-3-031-36030-5_57(737-750)Online publication date: 3-Jul-2023
  • (2022)Parsons Problems and BeyondProceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3571785.3574127(191-234)Online publication date: 27-Dec-2022
  • (2022)The Effects of Adaptive Procedural Levels on Engagement and Performance in an Educational Programming GameProceedings of the 17th International Conference on the Foundations of Digital Games10.1145/3555858.3555892(1-12)Online publication date: 5-Sep-2022
  • (2022)Codespec: A Computer Programming Practice EnvironmentProceedings of the 2022 ACM Conference on International Computing Education Research - Volume 210.1145/3501709.3544278(32-34)Online publication date: 7-Aug-2022
  • (2022)What do We Know about Computing Education for K-12 in Non-formal Settings? A Systematic Literature Review of Recent ResearchProceedings of the 2022 ACM Conference on International Computing Education Research - Volume 110.1145/3501385.3543960(264-281)Online publication date: 3-Aug-2022
  • (2022)Programming Practice Logs as a Tool to Support Equity and InclusionProceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 210.1145/3478432.3499083(1091-1091)Online publication date: 3-Mar-2022
  • Show More Cited By

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