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.
Buy single article
Instant access to the full article PDF.
Price includes VAT (USA)
Tax calculation will be finalised during checkout.
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. https://doi.org/10.1007/s10212-010-0049-y
Armoni, M. (2012). Teaching CS in kindergarten: How early can the pipeline begin? ACM Inroads, 3(4), 18–19. https://doi.org/10.1145/2381083.2381091
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. https://doi.org/10.3102/00346543070002181
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).
Barrows, H. S. (1996). Problem-based learning in medicine and beyond: A brief overview. New Directions for Teaching and Learning, 68, 3–12. https://doi.org/10.1002/tl.37219966804
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. https://doi.org/10.3102/0034654317723009
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. https://doi.org/10.1016/j.compedu.2013.10.020
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. https://doi.org/10.1109/IPDPSW.2013.63
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.
Bogaerts, S. A. (2017). One step at a time: Parallelism in an introductory programming course. Journal of Parallel and Distributed Computing, 105, 4–17. https://doi.org/10.1016/j.jpdc.2016.12.024
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).
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.
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. https://doi.org/10.1145/507758.377440
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
Byckling, P., & Sajaniemi, J. (2006). Roles of variables and programming skills improvement. ACM SIGCSE Bulletin, 38(1), 413–417. https://doi.org/10.1145/1124706.1121470
Cetin, I., & Ozden, M. Y. (2015). Development of computer programming attitude scale for university students. Computer Applications in Engineering Education, 23, 667–672. https://doi.org/10.1002/cae.21639
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. https://doi.org/10.1016/j.compedu.2017.03.001
CSTA. (2017). CSTA K-12 Computer science standards. Retrieved from https://www.csteachers.org/page/standards
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. https://doi.org/10.1037/0022-06126.96.36.1995
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. https://doi.org/10.1145/2809957.2809964
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. https://doi.org/10.1080/15391523.2014.888272
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. https://doi.org/10.1016/j.compedu.2012.11.016
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. https://doi.org/10.1080/10665684.2018.1436998
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. https://doi.org/10.1145/2445196.2445304
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. https://doi.org/10.1016/j.chb.2017.12.005
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.
Gibson, J. P. (2008). Formal methods: Never too young to start. Paper presented at the Formal Methods in Computer Science Education, Budapest, Hungary.
Google, & Gallup. (2015). Searching for computer science: Access and Barriers in U.S. K-12 Education. Retrieved from https://goo.gl/oX311J
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. https://doi.org/10.1002/tea.21263
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. https://doi.org/10.1016/j.compedu.2018.07.004
Indiana Department of Education. (2016). Sixth–Eighth grade computer science standards. Retrieved from https://www.doe.in.gov/sites/default/files/standards/indiana-6-8-computer-science-standards-2016-060717.pdf
Iskrenovic-Momcilovic, O. (2019). Pair programming with scratch. Education and Information Technologies. https://doi.org/10.1007/s10639-019-09905-3
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. https://doi.org/10.1016/j.compedu.2014.11.022
ISTE, & CSTA. (2011). Operational definition of computational thinking for K-12 education. Retrieved from https://id.iste.org/docs/ct-documents/computational-thinking-operational-definition-flyer.pdf
K-12 Computer Science Framework Steering Committee. (2016). K-12 Computer Science Framework. Retrieved from https://dl.acm.org/doi/book/10.1145/3079760
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. https://doi.org/10.1145/2843043.2843069
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. https://doi.org/10.2190/EC.49.4.b
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. https://doi.org/10.21585/ijcses.v1i4.19
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. https://doi.org/10.21585/ijcses.v2i3.33
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. http://tinyurl.com/wl5lak9 (Conference Canceled)
Lambert, L., & Guiffre, H. (2009). Computer science outreach in an elementary school. Journal of Computing Sciences in Colleges, 24, 118–124.
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.
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. https://doi.org/10.1145/1929887.1929902
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. https://doi.org/10.1145/2361276.2361301
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. https://doi.org/10.1145/1508865.1508959
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. https://doi.org/10.1145/1145287.1145293
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. https://doi.org/10.1145/2591708.2591733
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.
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.
Pea, R. D. (1986). Language-independent conceptual “bugs” in novice programming. Journal of Educational Computing Research, 2, 25–36. https://doi.org/10.2190/689T-1R2A-X4W4-29J2
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. https://doi.org/10.2190/c670-y3c8-ltj1-ct3p
Ravitz, J. (2009). Introduction: Summarizing findings and looking ahead to a new generation of PBL research. Interdisciplinary Journal of Problem-based Learning.https://doi.org/10.7771/1541-5015.1088
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.
Richards, E., & Terkanian, D. (2013). Occupational employment projections to 2022. Monthly Labor Review. Retrieved from https://www.bls.gov/opub/mlr/2013/article/occupational-employment-projections-to-2022.htm
Riley, D. D., & Hunt, K. A. (2014). Computational thinking for the modern problem solver. CRC Press.
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. https://doi.org/10.1016/j.compedu.2016.03.003
Savery, J. R. (2006). Overview of problem-based learning: Definitions and distinctions. Interdisciplinary Journal of Problem-Based Learning, 1(1), 9–20. https://doi.org/10.7771/1541-5015.1002
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. https://doi.org/10.1080/00220671.1986.10885684
Selby, C. C., & Woollard, J. (2014). Computational thinking: The developing definition. Paper presented at the Special Interest Group on Computer Science Education, Canterbury.
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. https://doi.org/10.1177/0735633117707312
Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22, 142–158. https://doi.org/10.1016/j.edurev.2017.09.003
Statter, D., & Armoni, M. (2020). Teaching abstraction in computer science to 7th grade students. ACM Transction on Computing Education, 20(1), 1–37. https://doi.org/10.1145/3372143
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. https://doi.org/10.7771/1541-5015.1046
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. https://doi.org/10.1080/15391523.2016.1146563
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).
Taylor, K., & Baek, Y. (2018). Collaborative robotics, more than just working in groups. Journal of Educational Computing Research, 56, 979–1004. https://doi.org/10.1177/0735633117731382
The White House. (2016). Fact sheet: New progress and momentum in support of president obama’s computer science for all initiative. Retrieved from https://obamawhitehouse.archives.gov/the-press-office/2016/09/14/fact-sheet-new-progress-and-momentum-support-president-obamas-computer
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. https://doi.org/10.17763/1943-5045-88.1.26
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. https://doi.org/10.7771/1541-5015.1061
Webb, N. M. (1982). Peer interaction and learning in cooperative small groups. Journal of Educational Psychology, 74(5), 642–655. https://doi.org/10.1037/0022-06188.8.131.522
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. https://doi.org/10.1007/s10956-015-9581-5
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215
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. https://doi.org/10.3102/0002831211419491
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. https://doi.org/10.1037/1089-26184.108.40.206
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. https://doi.org/10.1016/j.chb.2016.07.017
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.
Conflict of interest
The authors declare that he has no conflict of interest.
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.
Researchers obtained a student assent form and a parent consent form from the participants as well as their parents/guardians before initiating research activities.
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
I can write a program that gives me the results I want.
I am good at programming.
I can find errors in my program and fix them.
I can read a program written by others.
Attitude toward CS
I think programming is important to know.
I think programming is frustrating.
I think programming is boring.
I think programming could help solve problems in my everyday life.
I want to continue to learn programming in the future.
I enjoy writing programs.
Confidence in CT skills
I can break down a problem so I can find a solution.
I can find a pattern in a series of events or numbers.
I am good at creating plans to solve complex problems.
I can create a step-by-step solution to a problem.
I can apply a plan to solve a problem.
I can find general rules from a problem I solved that I can use for other problems.
About this article
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). https://doi.org/10.1007/s11423-021-10034-3
- Computer science education
- Computational thinking
- Problem-based learning
- Elementary CS education
- Block-based programming