Skip to main content

Integration of problem-based learning in elementary computer science education: effects on computational thinking and attitudes


This study investigated how a computer science (CS) problem-based curriculum impacted elementary students’ CS learning and attitudes. Four sixth-grade teachers and 200 of their students participated in the study. Researchers developed a CS curriculum in collaboration with the teachers, which consisted of two main units: (1) an introduction to block-based coding and (2) a problem-based learning (PBL) applied coding project. Overall, students significantly improved their knowledge of CT concepts after the introductory block-based coding lessons and retained that knowledge after completing the PBL activities approximately three months later. Results suggest that Event and Parallelism were challenging concepts for most of the students, whereas Loop and Sequence were easily grasped by most of the students. Further analysis based on prior knowledge levels revealed that the high-prior knowledge (HK) group outperformed the low-prior knowledge (LK) group on every measure. However, LK narrowed the gap of CT concepts after the introductory block-based coding lessons. Students also communicated relatively positive attitudes towards CS at the conclusion of the PBL unit. These results provide support for further exploring the integration of inquiry-oriented instructional strategies such as PBL to support CS instruction.

This is a preview of subscription content, access via your institution.

Fig. 1


  1. Acuña, S. R., García Rodicio, H., & Sánchez, E. (2011). Fostering active processing of instructional explanations of learners with high and low prior knowledge. European Journal of Psychology of Education, 26, 435–452.

    Article  Google Scholar 

  2. Armoni, M. (2012). Teaching CS in kindergarten: How early can the pipeline begin? ACM Inroads, 3(4), 18–19.

    Article  Google Scholar 

  3. Atkinson, R. K., Derry, S. J., Renkl, A., & Wortham, D. (2000). Learning from examples: Instructional principles from the worked examples research. Review of Educational Research, 70, 181–214.

    Article  Google Scholar 

  4. Ba, T. N., & Arora, R. (2018). Towards developing a repository of logical errors observed in parallel code for teaching code correctness. Paper presented at the 2018 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC).

  5. Barrows, H. S. (1996). Problem-based learning in medicine and beyond: A brief overview. New Directions for Teaching and Learning, 68, 3–12.

    Article  Google Scholar 

  6. Belland, B. R., Walker, A. E., & Kim, N. J. (2017). A Bayesian network meta-analysis to synthesize the influence of contexts of scaffolding use on cognitive outcomes in STEM education. Review of Educational Research, 87, 1042–1081.

    Article  Google Scholar 

  7. Bers, M. U., Flannery, L., Kazakoff, E. R., & Sullivan, A. (2014). Computational thinking and tinkering: Exploration of an early childhood robotics curriculum. Computers & Education, 72, 145–157.

    Article  Google Scholar 

  8. Bogaerts, S. A. (2013). Hands-on exploration of parallelism for absolute beginners with Scratch. Paper presented at the Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing Workshops and PhD Forum.

  9. Bogaerts, S. A. (2015). Hands-on parallelism with no prerequisites and little time using Scratch. In S. K. Prasad, A. Gupta, A. L. Rosenberg, A. Sussman, & C. C. Weems (Eds.), Topics in parallel and distributed computing (pp. 11–24). Morgan Kaufmann.

    Chapter  Google Scholar 

  10. Bogaerts, S. A. (2017). One step at a time: Parallelism in an introductory programming course. Journal of Parallel and Distributed Computing, 105, 4–17.

    Article  Google Scholar 

  11. Brackmann, C., Barone, D., Casali, A., Boucinha, R., & Muñoz-Hernandez, S. (2016). Computational thinking: Panorama of the Americas. Paper presented at the 2016 International Symposium on Computers in Education (SIIE).

  12. Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. Paper presented at the Proceedings of the 2012 annual meeting of the American Educational Research Association, Vancouver, Canada.

  13. Bruce, K. B., Danyluk, A. P., & Murtagh, T. P. (2001). Event-driven programming is simple enough for CS1. ACM SIGCSE Bulletin, 33(3), 1–4.

    Article  Google Scholar 

  14. Brush, T., Ottenbreit-Leftwich, A., Kwon, K., & Karlin, M. (2020). Implementing socially relevant problem-based computer science curriculum at the elementary level: students’ computer science knowledge and teachers’ implementation needs. Journal of Computers in Mathematics and Science Teaching, 39(2), 109–123

  15. Byckling, P., & Sajaniemi, J. (2006). Roles of variables and programming skills improvement. ACM SIGCSE Bulletin, 38(1), 413–417.

    Article  Google Scholar 

  16. Cetin, I., & Ozden, M. Y. (2015). Development of computer programming attitude scale for university students. Computer Applications in Engineering Education, 23, 667–672.

    Article  Google Scholar 

  17. Chen, G., Shen, J., Barth-Cohen, L., Jiang, S., Huang, X., & Eltoukhy, M. (2017). Assessing elementary students’ computational thinking in everyday reasoning and robotics programming. Computers & Education, 109, 162–175.

    Article  Google Scholar 

  18. CSTA. (2017). CSTA K-12 Computer science standards. Retrieved from

  19. Dembo, M. H., & McAuliffe, T. J. (1987). Effects of perceived ability and grade status on social interaction and influence in cooperative groups. Journal of Educational Psychology, 79, 415–423.

    Article  Google Scholar 

  20. Denner, J., Martinez, J., & Lyon, L. A. (2015). Computing for the social good: Engaging Latino/a students in K-12. ACM SIGCAS Computers and Society, 45(2), 31–32.

    Article  Google Scholar 

  21. Denner, J., Werner, L., Campe, S., & Ortiz, E. (2014). Pair programming: Under what conditions is it advantageous for middle school students? Journal of Research on Technology in Education, 46, 277–296.

    Article  Google Scholar 

  22. Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers & Education, 63, 87–97.

    Article  Google Scholar 

  23. Fields, D. A., Kafai, Y., Nakajima, T., Goode, J., & Margolis, J. (2018). Putting making into high school computer science classrooms: Promoting equity in teaching and learning with electronic textiles in exploring computer science. Equity & Excellence in Education, 51, 21–35.

    Article  Google Scholar 

  24. Franklin, D., Conrad, P., Boe, B., Nilsen, K., Hill, C., Len, M., Dreschler, G., Aldana, G., Almeida-Tanaka, P., Kiefer, B., & Laird, C. (2013). Assessment of computer science learning in a scratch-based outreach program. Paper presented at the Proceeding of the 44th ACM technical symposium on Computer science education, Denver, Colorado, USA.

  25. García-Peñalvo, F. J., & Mendes, A. J. (2018). Exploring the computational thinking effects in pre-university education. Computers in Human Behavior, 80, 407–411.

    Article  Google Scholar 

  26. Gaudiello, I., & Zibetti, E. (2013). Using control heuristics as a means to explore the educational potential of robotics kits. Themes in Science and Technology Education, 6(1), 15–28.

    Google Scholar 

  27. Gibson, J. P. (2008). Formal methods: Never too young to start. Paper presented at the Formal Methods in Computer Science Education, Budapest, Hungary.

  28. Google, & Gallup. (2015). Searching for computer science: Access and Barriers in U.S. K-12 Education. Retrieved from

  29. Harris, C. J., Penuel, W. R., D’Angelo, C. M., DeBarger, A. H., Gallagher, L. P., Kennedy, C. A., Cheng, B. H., & Krajcik, J. S. (2015). Impact of project-based curriculum materials on student learning in science: Results of a randomized controlled trial. Journal of Research in Science Teaching, 52, 1362–1385.

    Article  Google Scholar 

  30. Hsu, T.-C., Chang, S.-C., & Hung, Y.-T. (2018). How to learn and how to teach computational thinking: Suggestions based on a review of the literature. Computers & Education, 126, 296–310.

    Article  Google Scholar 

  31. Indiana Department of Education. (2016). Sixth–Eighth grade computer science standards. Retrieved from

  32. Iskrenovic-Momcilovic, O. (2019). Pair programming with scratch. Education and Information Technologies.

    Article  Google Scholar 

  33. Israel, M., Pearson, J. N., Tapia, T., Wherfel, Q. M., & Reese, G. (2015). Supporting all learners in school-wide computational thinking: A cross-case qualitative analysis. Computers & Education, 82, 263–279.

    Article  Google Scholar 

  34. ISTE, & CSTA. (2011). Operational definition of computational thinking for K-12 education. Retrieved from

  35. K-12 Computer Science Framework Steering Committee. (2016). K-12 Computer Science Framework. Retrieved from

  36. Khan, N. Z., & Luxton-Reilly, A. (2016). Is computing for social good the solution to closing the gender gap in computer science? Paper presented at the Proceedings of the Australasian Computer Science Week Multiconference, Canberra, Australia.

  37. Kim, B., Kim, T., & Kim, J. (2013). Paper-and-pencil programming strategy toward computational thinking for non-majors: Design your solution. Journal of Educational Computing Research, 49, 437–459.

    Article  Google Scholar 

  38. Kwon, K. (2017). Student’s misconception of programming reflected on problem-solving plans. International Journal of Computer Science Education in Schools, 1(4), 14–24.

    Article  Google Scholar 

  39. Kwon, K., Lee, S. J., & Chung, J. (2018). Computational concepts reflected on Scratch programs. International Journal of Computer Science Education in Schools, 2(3), 1–15.

    Article  Google Scholar 

  40. Kwon, K., Leftwich, A., Brush, T., & Jeon, M. (2020). Effects of problem-based learning curriculum for computer science education in an elementary school. Paper presented at the AERA Annual Meeting, San Francisco, CA. (Conference Canceled)

  41. Lambert, L., & Guiffre, H. (2009). Computer science outreach in an elementary school. Journal of Computing Sciences in Colleges, 24, 118–124.

    Google Scholar 

  42. Lawanto, K., Close, K., Ames, C., & Brasiel, S. (2017). Exploring strengths and weaknesses in middle school students’ computational thinking in Scratch. In P. J. Rich & C. B. Hodges (Eds.), Emerging research, practice, and policy on computational thinking (pp. 307–326). Springer International Publishing.

    Chapter  Google Scholar 

  43. Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., Malyn-Smith, J., & Werner, L. (2011). Computational thinking for youth in practice. ACM Inroads, 2(1), 32–37.

    Article  Google Scholar 

  44. Lewis, C. M. (2012). The importance of students’ attention to program state: A case study of debugging behavior. Paper Presented at the the Ninth Annual International Conference on International Computing Education Research, Auckland, New Zealand.

    Article  Google Scholar 

  45. Lu, J. J., & Fletcher, G. H. L. (2009). Thinking about computational thinking. Paper presented at the Proceedings of the 40th ACM technical symposium on Computer science education, Chattanooga, TN, USA.

  46. McDowell, C., Werner, L., Bullock, H. E., & Fernald, J. (2006). Pair programming improves student retention, confidence, and program quality. Communication of the ACM, 49(8), 90–95.

    Article  Google Scholar 

  47. Mishra, S., Balan, S., Iyer, S., & Murthy, S. (2014). Effect of a 2-week scratch intervention in CS1 on learners with varying prior knowledge. Paper presented at the the 2014 conference on Innovation & technology in computer science education, Uppsala, Sweden.

  48. Nam, D., Kim, Y., & Lee, T. (2010). The effects of scaffolding-based courseware for the Scratch programming learning on student problem solving skill. Paper presented at the the 18th International Conference on Computers in Education, Putrajaya, Malaysia.

  49. National Research Council. (2012). Report of a workshop on science, technology, engineering, and mathematics (STEM) workforce needs for the U.S. Department of Defense and the U.S. Defense Industrial Base: The National Academies Press.

  50. Pea, R. D. (1986). Language-independent conceptual “bugs” in novice programming. Journal of Educational Computing Research, 2, 25–36.

    Article  Google Scholar 

  51. Ramalingam, V., & Wiedenbeck, S. (1998). Development and validation of scores on a computer programming self-efficacy scale and group analyses of novice programmer self-efficacy. Journal of Educational Computing Research, 19, 367–381.

    Article  Google Scholar 

  52. Ravitz, J. (2009). Introduction: Summarizing findings and looking ahead to a new generation of PBL research. Interdisciplinary Journal of Problem-based Learning.

  53. Rich, K. M., Strickland, C., Binkowski, T. A., & Franklin, D. (2019). A K-8 debugging learning trajectory derived from research literature. Paper presented at the the 50th ACM Technical Symposium on Computer Science Education.

  54. Richards, E., & Terkanian, D. (2013). Occupational employment projections to 2022. Monthly Labor Review. Retrieved from

  55. Riley, D. D., & Hunt, K. A. (2014). Computational thinking for the modern problem solver. CRC Press.

    Book  Google Scholar 

  56. Sáez-López, J.-M., Román-González, M., & Vázquez-Cano, E. (2016). Visual programming languages integrated across the curriculum in elementary school: A two year case study using “Scratch” in five schools. Computers & Education, 97, 129–141.

    Article  Google Scholar 

  57. Savery, J. R. (2006). Overview of problem-based learning: Definitions and distinctions. Interdisciplinary Journal of Problem-Based Learning, 1(1), 9–20.

    Article  Google Scholar 

  58. Schunk, D. H., & Gunn, T. P. (1986). Self-efficacy and skill development: Influence of task strategies and attributions. The Journal of Educational Research, 79, 238–244.

    Article  Google Scholar 

  59. Selby, C. C., & Woollard, J. (2014). Computational thinking: The developing definition. Paper presented at the Special Interest Group on Computer Science Education, Canterbury.

  60. Shi, N., Cui, W., Zhang, P., & Sun, X. (2017). Evaluating the effectiveness roles of variables in the novice programmers learning. Journal of Educational Computing Research, 56, 181–201.

    Article  Google Scholar 

  61. Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22, 142–158.

    Article  Google Scholar 

  62. Statter, D., & Armoni, M. (2020). Teaching abstraction in computer science to 7th grade students. ACM Transction on Computing Education, 20(1), 1–37.

    Article  Google Scholar 

  63. Strobel, J., & van Barneveld, A. (2009). When is PBL more effective? A meta-synthesis of meta-analyses comparing PBL to conventional classrooms. Interdisciplinary Journal of Problem-Based Learning, 3(1), 44–58.

    Article  Google Scholar 

  64. Sullivan, F. R., & Heffernan, J. (2016). Robotic construction kits as computational manipulatives for learning in the STEM disciplines. Journal of Research on Technology in Education, 48, 105–128.

    Article  Google Scholar 

  65. Swidan, A., Serebrenik, A., & Hermans, F. (2017). How do scratch programmers name variables and procedures? Paper presented at the 2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM).

  66. Taylor, K., & Baek, Y. (2018). Collaborative robotics, more than just working in groups. Journal of Educational Computing Research, 56, 979–1004.

    Article  Google Scholar 

  67. The White House. (2016). Fact sheet: New progress and momentum in support of president obama’s computer science for all initiative. Retrieved from

  68. Vakil, S. (2018). Ethics, identity, and political vision: Toward a justice-centered approach to equity in computer science education. Harvard Educational Review, 88(1), 26–52.

    Article  Google Scholar 

  69. Walker, A., & Leary, H. (2009). A problem based learning meta analysis: Differences across problem types, implementation types, disciplines, and assessment levels. Interdisciplinary Journal of Problem-Based Learning.

    Article  Google Scholar 

  70. Webb, N. M. (1982). Peer interaction and learning in cooperative small groups. Journal of Educational Psychology, 74(5), 642–655.

    Article  Google Scholar 

  71. Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., & Wilensky, U. (2016). Defining computational thinking for mathematics and science classrooms. Journal of Science Education and Technology, 25, 127–147.

    Article  Google Scholar 

  72. Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.

    Article  Google Scholar 

  73. Wirkala, C., & Kuhn, D. (2011). Problem-based learning in K–12 education: Is it effective and how does it achieve its effects? American Educational Research Journal, 48, 1157–1186.

    Article  Google Scholar 

  74. Zelazo, P. D., Carter, A., Reznick, J. S., & Frye, D. (1997). Early development of executive function: A problem-solving framework. Review of General Psychology, 1, 198–226.

    Article  Google Scholar 

  75. Zhong, B., Wang, Q., & Chen, J. (2016). The impact of social factors on pair programming in a primary school. Computers in Human Behavior, 64, 423–431.

    Article  Google Scholar 

Download references


This material is based upon work supported by the Google Computer Science Education Research Grant. Thanks to the research team members for their contributions to this work, and to the teachers and students who participated in this study.

Author information



Corresponding author

Correspondence to Kyungbin Kwon.

Ethics declarations

Conflict of interest

The authors declare that he has no conflict of interest.

Ethical approval

All procedures performed in studies involving human participants were in accordance with the ethical standards of the institutional and/or national research committee and with the 1964 Helsinki declaration and its later amendments or comparable ethical standards.

Informed consent

Researchers obtained a student assent form and a parent consent form from the participants as well as their parents/guardians before initiating research activities.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix 1: Student Attitude Survey

Appendix 1: Student Attitude Survey

Self-efficacy toward programming

  1. 1.

    I can write a program that gives me the results I want.

  2. 2.

    I am good at programming.

  3. 3.

    I can find errors in my program and fix them.

  4. 4.

    I can read a program written by others.

Attitude toward CS

  1. 5.

    I think programming is important to know.

  2. 6.

    I think programming is frustrating.

  3. 7.

    I think programming is boring.

  4. 8.

    I think programming could help solve problems in my everyday life.

  5. 9.

    I want to continue to learn programming in the future.

  6. 10.

    I enjoy writing programs.

Confidence in CT skills

  1. 11.

    I can break down a problem so I can find a solution.

  2. 12.

    I can find a pattern in a series of events or numbers.

  3. 13.

    I am good at creating plans to solve complex problems.

  4. 14.

    I can create a step-by-step solution to a problem.

  5. 15.

    I can apply a plan to solve a problem.

  6. 16.

    I can find general rules from a problem I solved that I can use for other problems.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Kwon, K., Ottenbreit-Leftwich, A.T., Brush, T.A. et al. Integration of problem-based learning in elementary computer science education: effects on computational thinking and attitudes. Education Tech Research Dev 69, 2761–2787 (2021).

Download citation


  • Computer science education
  • Computational thinking
  • Problem-based learning
  • Elementary CS education
  • Block-based programming