Skip to main content

Adaptive Scaffolding in Block-Based Programming via Synthesizing New Tasks as Pop Quizzes

  • Conference paper
  • First Online:
Artificial Intelligence in Education (AIED 2022)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13355))

Included in the following conference series:

Abstract

Block-based programming environments are increasingly used to introduce computing concepts to beginners. However, novice students often struggle in these environments, given the conceptual and open-ended nature of programming tasks. To effectively support a student struggling to solve a given task, it is important to provide adaptive scaffolding that guides the student towards a solution. We introduce a scaffolding framework based on pop quizzes presented as multi-choice programming tasks. To automatically generate these pop quizzes, we propose a novel algorithm, PQuizSyn. More formally, given a reference task with a solution code and the student’s current attempt, PQuizSyn synthesizes new tasks for pop quizzes with the following features: (a) Adaptive (i.e., individualized to the student’s current attempt), (b) Comprehensible (i.e., easy to comprehend and solve), and (c) Concealing (i.e., do not reveal the solution code). Our algorithm synthesizes these tasks using techniques based on symbolic reasoning and graph-based code representations. We show that our algorithm can generate hundreds of pop quizzes for different student attempts on reference tasks from Hour of Code: Maze Challenge [11] and Karel [9]. We assess the quality of these pop quizzes through expert ratings using an evaluation rubric. Further, we have built an online platform for practicing block-based programming tasks empowered via pop quiz based feedback, and report results from an initial user study.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    We refer to these multi-choice questions as “pop quizzes” as the framework could present these quizzes whenever a student needs help [7].

  2. 2.

    Implementation of the algorithm is publicly available at https://github.com/machine-teaching-group/aied2022_pquizsyn_code.

  3. 3.

    https://www.teaching-blocks-hints.cc/.

  4. 4.

    When \(S^\text {quiz} \notin \textsc {SubStructs}(S^{\text {in,}\star })\), we set \(C^\text {seed}\) as a random instantiation of \(S^\text {quiz}\) – see algorithm variant PQS-OneHop in Sect. 5..

References

  1. Ahmed, U.Z., et al.: Synthesizing tasks for block-based programming. In: NeurIPS (2020)

    Google Scholar 

  2. Ahmed, U.Z., Gulwani, S., Karkare, A.: Automatically generating problems and solutions for natural deduction. In: IJCAI (2013)

    Google Scholar 

  3. Akram, B., et al.: Automated assessment of computer science competencies from student programs with gaussian process regression. In: EDM (2020)

    Google Scholar 

  4. Alvin, C., Gulwani, S., Majumdar, R., Mukhopadhyay, S.: Synthesis of geometry proof problems. In: AAAI (2014)

    Google Scholar 

  5. Bunel, R., Hausknecht, M.J., Devlin, J., Singh, R., Kohli, P.: Leveraging grammar and reinforcement learning for neural program synthesis. In: ICLR (2018)

    Google Scholar 

  6. Cherenkova, Y., Zingaro, D., Petersen, A.: Identifying challenging CS1 concepts in a large problem dataset. In: SIGCSE (2014)

    Google Scholar 

  7. Cicirello, V.A.: On the role and effectiveness of pop quizzes in CS1. In: SIGCSE (2009)

    Google Scholar 

  8. CodeHS.com: CodeHS - Teaching Coding and CS. https://codehs.com/

  9. CodeHS.com: Intro to Programming with Karel the Dog. https://codehs.com/info/curriculum/introkarel

  10. Code.org: Code.org - Learn Computer Science. https://code.org/

  11. Code.org: Hour of Code - Classic Maze Challenge. https://studio.code.org/s/hourofcode

  12. Code.org: Hour of Code Initiative. https://hourofcode.com/

  13. Cody, C., Maniktala, M., Lytle, N., Chi, M., Barnes, T.: The Impact of looking further ahead: a comparison of two data-driven unsolicited hint types on performance in an intelligent data-driven logic tutor. IJAIED (2021)

    Google Scholar 

  14. Cordova, L., Carver, J.C., Gershmel, N., Walia, G.: A comparison of inquiry-based conceptual feedback vs. traditional detailed feedback mechanisms in software testing education: an empirical investigation. In: SIGCSE (2021)

    Google Scholar 

  15. Crichton, W., Sampaio, G.G., Hanrahan, P.: Automating program structure classification. In: SIGCSE (2021)

    Google Scholar 

  16. Efremov, A., Ghosh, A., Singla, A.: Zero-shot learning of hint policy via reinforcement learning and program synthesis. In: EDM (2020)

    Google Scholar 

  17. Ene, A., Stirbu, C.: Automatic generation of quizzes for Java programming language. In: ECAI (2019)

    Google Scholar 

  18. Games, B.: Games for Tomorrow’s Programmers. https://blockly.games/

  19. Grover, S.: Toward a framework for formative assessment of conceptual learning in K-12 computer science classrooms. In: SIGCSE (2021)

    Google Scholar 

  20. Gulwani, S., Polozov, O., Singh, R.: Program synthesis. Found. Trends® Program. Lang. 4(1–2), 1–119 (2017)

    Google Scholar 

  21. MacFarland, T.W., Yates, J.M.: Kruskal–Wallis H-test for oneway analysis of variance (ANOVA) by ranks. In: Introduction to Nonparametric Statistics for the Biological Sciences Using R, pp. 177–211. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30634-6_6

    Chapter  MATH  Google Scholar 

  22. Marwan, S., Gao, G., Fisk, S., Price, T., Barnes, T.: Adaptive immediate feedback can improve novice programming engagement and intention to persist in computer science. In: ICER (2020)

    Google Scholar 

  23. McHugh, M.L.: The Chi-square test of independence. Biochemia Medica 23, 143–149 (2013)

    Article  Google Scholar 

  24. Paaßen, B., Hammer, B., Price, T.W., Barnes, T., Gross, S., Pinkwart, N.: The continuous hint factory - providing hints in continuous and infinite spaces. JEDM 10, 1–35 (2018)

    Google Scholar 

  25. Pattis, R.E.: Karel the Robot: A Gentle Introduction to the Art of Programming. Wiley (1981)

    Google Scholar 

  26. Piech, C., Sahami, M., Huang, J., Guibas, L.J.: Autonomously generating hints by inferring problem solving policies. In: L@S (2015)

    Google Scholar 

  27. Polozov, O., O’Rourke, E., Smith, A.M., Zettlemoyer, L., Gulwani, S., Popovic, Z.: Personalized mathematical word problem generation. In: IJCAI (2015)

    Google Scholar 

  28. Price, T.W., Dong, Y., Lipovac, D.: iSnap: towards intelligent tutoring in novice programming environments. In: SIGCSE (2017)

    Google Scholar 

  29. Price, T.W., et al.: A comparison of the quality of data-driven programming hint generation algorithms. IJAIED 29, 368–395 (2019)

    Google Scholar 

  30. Price, T.W., Williams, J.J., Solyst, J., Marwan, S.: Engaging students with instructor solutions in online programming homework. In: CHI (2020)

    Google Scholar 

  31. Price, T.W., Zhi, R., Barnes, T.: Evaluation of a data-driven feedback algorithm for open-ended programming. In: EDM (2017)

    Google Scholar 

  32. Price, T.W., Zhi, R., Barnes, T.: Hint generation under uncertainty: the effect of hint quality on help-seeking behavior. In: AIED (2017)

    Google Scholar 

  33. Resnick, M., et al.: Scratch: programming for all. Commun. ACM 52, 60–67 (2009)

    Article  Google Scholar 

  34. Rivers, K., Harpstead, E., Koedinger, K.R.: Learning curve analysis for programming: which concepts do students struggle with? In: ICER (2016)

    Google Scholar 

  35. Rivers, K., Koedinger, K.R.: Automating hint generation with solution space path construction. In: Trausan-Matu, S., Boyer, K.E., Crosby, M., Panourgia, K. (eds.) ITS 2014. LNCS, vol. 8474, pp. 329–339. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07221-0_41

    Chapter  Google Scholar 

  36. Rivers, K., Koedinger, K.R.: Data-driven hint generation in vast solution spaces: a self-improving Python programming tutor. IJAIED 27, 37–64 (2017)

    Google Scholar 

  37. Singh, R., Gulwani, S., Rajamani, S.: Automatically generating algebra problems. In: AAAI (2012)

    Google Scholar 

  38. Soltanpoor, R., Thevathayan, C., D’Souza, D.J.: Adaptive remediation for novice programmers through personalized prescriptive quizzes. In: ITiCSE (2018)

    Google Scholar 

  39. Wiese, E.S., Rafferty, A.N., Fox, A.: Linking code readability, structure, and comprehension among novices: it’s complicated. In: ICSE (2019)

    Google Scholar 

  40. Wiese, E.S., Rafferty, A.N., Kopta, D.M., Anderson, J.M.: Replicating novices’ struggles with coding style. In: ICPC (2019)

    Google Scholar 

  41. Wu, M., Mosse, M., Goodman, N.D., Piech, C.: Zero shot learning for code education: rubric sampling with deep learning inference. In: AAAI (2019)

    Google Scholar 

  42. Zhang, L., Li, B., Zhang, Q., Hsiao, I.: Does a distributed practice strategy for multiple choice questions help novices learn programming. iJET 15, 234 (2020)

    Google Scholar 

  43. Zhi, R., Marwan, S., Dong, Y., Lytle, N., Price, T.W., Barnes, T.: Toward data-driven example feedback for novice programming. In: EDM (2019)

    Google Scholar 

  44. Zimmerman, K., Rupakheti, C.R.: An automated framework for recommending program elements to novices (N). In: ASE (2015)

    Google Scholar 

Download references

Acknowledgments

We would like to thank the reviewers for their feedback. Ahana Ghosh was supported by Microsoft Research through its PhD Scholarship Programme. Adish Singla acknowledges support by the European Research Council (ERC) under the Horizon Europe programme (ERC StG, grant agreement No. 101039090).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ahana Ghosh .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ghosh, A., Tschiatschek, S., Devlin, S., Singla, A. (2022). Adaptive Scaffolding in Block-Based Programming via Synthesizing New Tasks as Pop Quizzes. In: Rodrigo, M.M., Matsuda, N., Cristea, A.I., Dimitrova, V. (eds) Artificial Intelligence in Education. AIED 2022. Lecture Notes in Computer Science, vol 13355. Springer, Cham. https://doi.org/10.1007/978-3-031-11644-5_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-11644-5_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-11643-8

  • Online ISBN: 978-3-031-11644-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics