Skip to main content

Advertisement

Log in

Debugging during block-based programming

  • Original Research
  • Published:
Instructional Science Aims and scope Submit manuscript

Abstract

In this study, we investigated the debugging process that early childhood preservice teachers used during block-based programing. Its purpose was to provide insights into how to prepare early childhood teachers to integrate computer science into instruction. This study reports the types of errors that early childhood preservice teachers commonly made and how they debugged the errors. Findings are discussed in relation to research and practice that could benefit from debugging instruction. This study provides directions for future computer science education research that aims to prepare teachers for programming, computational thinking, and STEM education. Though this study used robotics as a programming context, findings on early childhood preservice teachers’ debugging processes could be applicable to other contexts involving block-based programming.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Ahmadzadeh, M., Elliman, D., & Higgins, C. (2005). An analysis of patterns of debugging among novice computer science students. In Proceedings of the 10th annual SIGCSE conference on innovation and technology in computer science education (pp. 84–88). New York: ACM. https://doi.org/10.1145/1067445.1067472.

  • Ahmadzadeh, M., Elliman, D., & Higgins, C. (2007). The impact of improving debugging skill on programming ability. Innovation in Teaching and Learning in Information and Computer Sciences, 6(4), 72–87. https://doi.org/10.11120/ital.2007.06040072.

    Article  Google Scholar 

  • Akcaoglu, M. (2014). Learning problem-solving through making games at the game design and learning summer program. Educational Technology Research and Development, 62(5), 583–600. https://doi.org/10.1007/s11423-014-9347-4.

    Article  Google Scholar 

  • Araki, K., Furukawa, Z., & Cheng, J. (1991). A general framework for debugging. IEEE Software, 8(3), 14–20. https://doi.org/10.1109/52.88939.

    Article  Google Scholar 

  • Belland, B. R. (2014). Scaffolding: Definition, current debates, and future directions. In J. M. Spector, M. D. Merrill, J. Elen, & M. J. Bishop (Eds.), Handbook of research on educational communications and technology (pp. 505–518). New York: Springer. http://link.springer.com/chapter/10.1007/978-1-4614-3185-5_39.

  • Belland, B. R. (2017). Instructional scaffolding in STEM education: Strategies and efficacy evidence. http://www.springer.com/us/book/9783319025643.

  • Bers, M. U. (2010). The tangibleK robotics program: Applied computational thinking for young children. Early Childhood Research and Practice, 12(2), n2.

    Google Scholar 

  • Bers, M. U., Flannery, L., Kazakoff, E. R., & Sullivan, A. (2014). Computational thinking and tinkering: Exploration of an early childhood robotics curriculum. Computers and Education, 72, 145–157. https://doi.org/10.1016/j.compedu.2013.10.020.

    Article  Google Scholar 

  • Bers, M. U., Seddighin, S., & Sullivan, A. (2013). Ready for robotics: Bringing together the T and E of STEM in early childhood teacher education. Journal of Technology and Teacher Education, 21(3), 355.

    Google Scholar 

  • Bjork, E. L., & Bjork, R. A. (2011). Making things hard on yourself, but in a good way: Creating desirable difficulties to enhance learning. In M. A. Gernsbacher, R. W. Pew, L. M. Hough, & J. R. Pomerantz (Eds.), Psychology and the real world: Essays illustrating fundamental contributions to society (pp. 56–64). New York: Worth Publishers.

    Google Scholar 

  • Brennan, K., & Resnick, M. (2012). Using artifact-based interviews to study the development of computational thinking in interactive media design. In Presented at the American Educational Research Association annual meeting, Vancouver, BC, Canada.

  • Carver, S. M., & Risinger, S. C. (1987). Improving children’s debugging skills. In G. M. Olson, S. Sheppard, & E. Soloway (Eds.), Empirical studies of programmers: Second workshop (pp. 147–171). Westport, CT: Ablex Publishing.

    Google Scholar 

  • Chiu, C.-F., & Huang, H.-Y. (2015). Guided debugging practices of game based programming for novice programmers. International Journal of Information and Education Technology, 5(5), 343–347. https://doi.org/10.7763/IJIET.2015.V5.527.

    Article  Google Scholar 

  • Chmiel, R., & Loui, M. C. (2004). Debugging: From novice to expert. SIGCSE Bulletin, 36, 17–21.

    Article  Google Scholar 

  • Committee for the Workshops on Computational Thinking, and National Research Council. (2010). Report of a workshop on the scope and nature of computational thinking. https://doi.org/10.17226/12840.

  • Fitzgerald, S., Lewandowski, G., McCauley, R., Murphy, L., Simon, B., Thomas, L., et al. (2008). Debugging: Finding, fixing and flailing, a multi-institutional study of novice debuggers. Computer Science Education, 18(2), 93–116. https://doi.org/10.1080/08993400802114508.

    Article  Google Scholar 

  • Fitzgerald, S., McCauley, R., Hanks, B., Murphy, L., Simon, B., & Zander, C. (2010). Debugging from the student perspective. IEEE Transactions on Education, 53(3), 390–396. https://doi.org/10.1109/TE.2009.2025266.

    Article  Google Scholar 

  • Gould, J. D. (1975). Some psychological evidence on how people debug computer programs. International Journal of Man–Machine Studies, 7(2), 151–182. https://doi.org/10.1016/S0020-7373(75)80005-8.

    Article  Google Scholar 

  • Greiff, S., Wüstenberg, S., Csapó, B., Demetriou, A., Hautamäki, J., Graesser, A. C., et al. (2014). Domain-general problem solving skills and education in the 21st century. Educational Research Review, 13, 74–83. https://doi.org/10.1016/j.edurev.2014.10.002.

    Article  Google Scholar 

  • Grover, S., Pea, R., & Cooper, S. (2015). Designing for deeper learning in a blended computer science course for middle school students. Computer Science Education, 25(2), 199–237. https://doi.org/10.1080/08993408.2015.1033142.

    Article  Google Scholar 

  • Gugerty, L., & Olson, G. (1986). Debugging by skilled and novice programmers. In Proceedings of the SIGCHI conference on human factors in computing systems (pp. 171–174). New York: ACM. https://doi.org/10.1145/22627.22367.

  • Hiebert, J., & Grouws, D. A. (2007). The effects of classroom mathematics teaching on students’ learning. In F. K. Lester (Ed.), Second handbook of research on mathematics teaching and learning (pp. 371–404). Charlotte, NC: Information Age Publishing.

    Google Scholar 

  • Jadud, M. C. (2005). A first look at novice compilation behaviour using BlueJ. Computer Science Education, 15(1), 25–40. https://doi.org/10.1080/08993400500056530.

    Article  Google Scholar 

  • Jadud, M. C. (2006). Methods and tools for exploring novice compilation behaviour. In Proceedings of the second international workshop on computing education research (pp. 73–84). New York: ACM. https://doi.org/10.1145/1151588.1151600.

  • Jonassen, D. H. (2000). Toward a design theory of problem solving. Educational Technology Research and Development, 48(4), 63–85. https://doi.org/10.1007/BF02300500.

    Article  Google Scholar 

  • Jonassen, D. H. (2011). Learning to solve problems: A handbook for designing problem-solving learning environments. New York: Routledge.

    Google Scholar 

  • K12 Computer Science Framework Steering Committee. (2016). K-12 computer science framework. http://www.k12cs.org.

  • Kapur, M. (2010). Productive failure in mathematical problem solving. Instructional Science, 38(6), 523–550. https://doi.org/10.1007/s11251-009-9093-x.

    Article  Google Scholar 

  • Kapur, M. (2011). A further study of productive failure in mathematical problem solving: Unpacking the design components. Instructional Science, 39(4), 561–579.

    Article  Google Scholar 

  • Kapur, M. (2014a). Comparing learning from productive failure and vicarious failure. Journal of the Learning Sciences, 23(4), 651–677. https://doi.org/10.1080/10508406.2013.819000.

    Article  Google Scholar 

  • Kapur, M. (2014b). Productive failure in learning math. Cognitive Science, 38(5), 1008–1022. https://doi.org/10.1111/cogs.12107.

    Article  Google Scholar 

  • Katz, I. R., & Anderson, J. R. (1987). Debugging: An analysis of bug-location strategies. Human–Computer Interaction, 3(4), 351.

    Article  Google Scholar 

  • Kazakoff, E., & Bers, M. (2012). Programming in a robotics context in the kindergarten classroom: The impact on sequencing skills. Journal of Educational Multimedia and Hypermedia, 21(4), 371–391.

    Google Scholar 

  • Kim, C., Kim, D., Yuan, J., Hill, R. B., Doshi, P., & Thai, C. N. (2015). Robotics to promote elementary education pre-service teachers’ STEM engagement, learning, and teaching. Computers & Education, 91, 14–31. https://doi.org/10.1016/j.compedu.2015.08.005.

    Article  Google Scholar 

  • Kim, C., Yuan, J., Oh, J., Shin, M., & Hill, R. B. (2016). Productive struggle during inquiry learning. Paper presented at the European Association for Research on Learning & Instruction (EARLI) SIG 20 & SIG 26 Meetings, Ghent, Belgium.

  • Kim, C., Yuan, J., Vasconcelos, L., Shin, M., & Hill, R. B. (2017). Prospective elementary teachers’ debugging during block-based visual programming. Paper presented at the American Educational Research Association (AERA) Annual Meeting, San Antonio, TX, USA.

  • Klahr, D., & Carver, S. M. (1988). Cognitive objectives in a LOGO debugging curriculum: Instruction, learning, and transfer. Cognitive Psychology, 20(3), 362–404. https://doi.org/10.1016/0010-0285(88)90004-7.

    Article  Google Scholar 

  • Lee, M. J., Bahmani, F., Kwan, I., LaFerte, J., Charters, P., Horvath, A.,…Ko, A. J. (2014). Principles of a debugging-first puzzle game for computing education. In 2014 IEEE symposium on visual languages and human-centric computing (VL/HCC), Melbourne, Australia (pp. 57–64). https://doi.org/10.1109/VLHCC.2014.6883023.

  • Lee, M. J., & Ko, A. J. (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 (pp. 237–246). New York: ACM. https://doi.org/10.1145/2787622.2787709.

  • Leedy, P. D., & Ormrod, J. E. (2013). Practical research: Planning and design (p. c2013). Boston: Pearson.

    Google Scholar 

  • Lin, Y.-T., Wu, C.-C., Hou, T.-Y., Lin, Y.-C., Yang, F.-Y., & Chang, C.-H. (2016). Tracking students’ cognitive processes during program debugging: An eye-movement approach. IEEE Transactions on Education, 59(3), 175–186.

    Article  Google Scholar 

  • Liu, Z., Zhi, R., Hicks, A., & Barnes, T. (2017). Understanding problem solving behavior of 6–8 graders in a debugging game. Computer Science Education. https://doi.org/10.1080/08993408.2017.1308651.

    Google Scholar 

  • Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12? Computers in Human Behavior, 41, 51–61. https://doi.org/10.1016/j.chb.2014.09.012.

    Article  Google Scholar 

  • McCauley, R., Fitzgerald, S., Lewandowski, G., Murphy, L., Simon, B., Thomas, L., et al. (2008). Debugging: A review of the literature from an educational perspective. Computer Science Education, 18(2), 67–92.

    Article  Google Scholar 

  • Perkins, D. N., Farady, M., Hancock, C., Hobbs, R., Simmons, R., Tuck, T., & Villa, E. (1986). Nontrivial pursuit: The hidden complexity of elementary LOGO programming. Reports: Research/Technical No. ETC-TR86-7. Cambridge, MA: Educational Technology Center.

  • Perkins, D. N., & Martin, F. (1985). Fragile knowledge and neglected strategies in novice programmers. IR85-22. http://eric.ed.gov/?id=ED295618.

  • Perkins, D. N., & Martin, F. (1986). Fragile knowledge and neglected strategies in novice programmers. In Papers presented at the first workshop on empirical studies of programmers (pp. 213–229). Norwood, NJ: Ablex Publishing Corp. http://dl.acm.org/citation.cfm?id=21842.28896.

  • Reiser, B. (2004). Scaffolding complex learning: The mechanisms of structuring and problematizing student work. Journal of the Learning Sciences, 13, 273–304. https://doi.org/10.1207/s15327809jls1303_2.

    Article  Google Scholar 

  • Schön, D. A. (1983). The reflective practitioner: How professionals think in action. New York: Basic Books.

    Google Scholar 

  • Schunn, C. D., & Trafton, J. G. (2013). The psychology of uncertainty in scientific data analysis. In G. J. Feist & M. E. Gorman (Eds.), Handbook of the psychology of science (pp. 461–483). New York: Springer.

    Google Scholar 

  • Silk, E. M., Higashi, R., Shoop, R., & Schunn, C. D. (2009). Designing technology activities that teach mathematics. The Technology Teacher, 69(4), 21–27.

    Google Scholar 

  • Simon, B., Bouvier, D., Chen, Tzu.-Yi., Lewandowski, G., McCartney, R., & Sanders, K. (2008). Common sense computing (episode 4): Debugging. Computer Science Education, 18(2), 117–133. https://doi.org/10.1080/08993400802114698.

    Article  Google Scholar 

  • Tsau, S. R. (1996). College students’ diagnostic capabilities in computer programming. The University of Wisconsin-Madison.

  • VanLehn, K., Siler, S., Murray, C., Yamauchi, T., & Baggett, W. B. (2003). Why do only some events cause learning during human tutoring? Cognition and Instruction, 21(3), 209–249. https://doi.org/10.1207/S1532690XCI2103_01.

    Article  Google Scholar 

  • Vessey, I. (1985). Expertise in debugging computer systems: A process analysis. International Journal of Man–Machine Studies, 23(5), 459–494. https://doi.org/10.1016/S0020-7373(85)80054-7.

    Article  Google Scholar 

  • Warshauer, H. K. (2015). Strategies to support productive struggle. Mathematics Teaching in the Middle School, 20(7), 390–393.

    Article  Google Scholar 

  • Wood, D., Bruner, J., & Ross, G. (1976). The role of tutoring in problem solving. Journal of Child Psychology and Psychiatry, 17, 89–100. https://doi.org/10.1111/j.1469-7610.1976.tb00381.x.

    Article  Google Scholar 

  • Yadav, A., Gretter, S., Hambrusch, S., & Sands, P. (2016). Expanding computer science education in schools: Understanding teacher experiences and challenges. Computer Science Education, 26(4), 235–254. https://doi.org/10.1080/08993408.2016.1257418.

    Article  Google Scholar 

  • Yen, C.-Z., Wu, P.-H., & Lin, C.-F. (2012). Analysis of experts’ and novices’ thinking process in program debugging. Communications in Computer and Information Science, 302, 122–134.

    Article  Google Scholar 

  • Yoon, B.-D., & Garcia, O. N. (1998). Cognitive activities and support in debugging. In Proceedings of the fourth annual symposium on human interaction with complex systems (pp. 160–169). https://doi.org/10.1109/HUICS.1998.659974.

Download references

Acknowledgements

This research was supported by the National Science Foundation (NSF) under grant 1712286, and internal grants from the University of Georgia (UGA). But any findings, conclusions, or recommendations are those of the author and do not necessarily represent official positions of NSF or UGA.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to ChanMin Kim.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kim, C., Yuan, J., Vasconcelos, L. et al. Debugging during block-based programming. Instr Sci 46, 767–787 (2018). https://doi.org/10.1007/s11251-018-9453-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11251-018-9453-5

Keywords

Navigation