Early childhood preservice teachers’ debugging block-based programs: An eye tracking study

Learning computational skills such as programming and debugging is very important for K-12 students given the increasing need of workforce proficient in computing technologies. Programming is an intricate cognitive task that entails iteratively creating and revising programs to create an artifact. Central to programming is debugging, which consists of systematically identifying and fixing program errors. Given its central role, debugging should be explicitly taught to early childhood preservice teachers so they can support their future students’ learning to program and debug errors. In this study, we propose using eye-tracking data and cued retrospective reporting to assess preservice teachers’ cognitive strategies while debugging. Several eye-tracking studies have investigated learners’ debugging strategies though the literature lacks studies (a) conducted with early childhood preservice teachers and (b) that focus on block-based programming languages, such as Scratch. The present study addresses this gap in the literature. This study used mixed methods to triangulate quantitative findings from eye movement analysis and qualitative findings about employed debugging strategies into the creation of descriptive themes. Results showed that participants developed strategies such as simultaneous review of output and code, use of beacons to narrow down the area to be debugged, and eye fixation on output to form hypotheses. But most often, debugging was not informed by a hypothesis, which led to trial and error. Study limitations and directions for future research are discussed.

[1]  HeintzFredrik,et al.  Computational thinking for all , 2018 .

[2]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[3]  Michail N. Giannakos,et al.  Using Eye-Tracking to Unveil Differences Between Kids and Teens in Coding Activities , 2017, IDC.

[4]  Markku Tukiainen,et al.  A method to study visual attention aspects of collaboration: eye-tracking pair programmers simultaneously , 2008, ETRA.

[5]  F. Paas,et al.  Uncovering the problem-solving process: cued retrospective reporting versus concurrent and retrospective reporting. , 2005, Journal of experimental psychology. Applied.

[6]  M. Crosby,et al.  Code Scanning Patterns in Program Comprehension , 2005 .

[7]  Andreas Busjahn,et al.  Analysis of code reading to gain more insight in program comprehension , 2011, Koli Calling.

[8]  Roman Bednarik,et al.  Eye-movement Modeling Examples in Source Code Comprehension: A Classroom Study , 2018, Koli Calling.

[9]  Austin Henderson,et al.  Interaction Analysis: Foundations and Practice , 1995 .

[10]  Jean Scholtz,et al.  The Roles Beacons Play in Comprehension for Novice and Expert Programmers , 2002, PPIG.

[11]  Sue Fitzgerald,et al.  Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers , 2008, Comput. Sci. Educ..

[12]  Jennifer Caroline Greene,et al.  Mixed Methods in Social Inquiry , 2007 .

[13]  Robert McCartney,et al.  Common sense computing (episode 4): debugging , 2008, Comput. Sci. Educ..

[14]  Susan M. Land,et al.  A conceptual framework for scaffolding III-structured problem-solving processes using question prompts and peer interactions , 2004 .

[15]  Roman Bednarik,et al.  Expertise-dependent visual attention strategies develop over time during debugging with multiple code representations , 2012, Int. J. Hum. Comput. Stud..

[16]  Cheng-Chih Wu,et al.  Tracking Students’ Cognitive Processes During Program Debugging—An Eye-Movement Approach , 2016, IEEE Transactions on Education.

[17]  Jerry Chih-Yuan Sun,et al.  A smart eye-tracking feedback scaffolding approach to improving students' learning self-efficacy and performance in a C programming course , 2019, Comput. Hum. Behav..

[18]  Satabdi Basu,et al.  Fostering Synergistic Learning of Computational Thinking and Middle School Science in Computer-based Intelligent Learning Environments , 2016 .

[19]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[20]  Jonathan I. Maletic,et al.  Assessing the Comprehension of UML Class Diagrams via Eye Tracking , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[21]  Johnny Saldaña,et al.  The Coding Manual for Qualitative Researchers , 2009 .

[22]  Lucas Vasconcelos,et al.  Coding in scientific modeling lessons (CS-ModeL) , 2019, Educational Technology Research and Development.

[23]  Nancy L. Leech,et al.  A typology of mixed methods research designs , 2009 .

[24]  Jonathan I. Maletic,et al.  An Empirical Study of Debugging Patterns Among Novices Programmers , 2017, SIGCSE.

[25]  Liz Bacon,et al.  Learning Programming at the Computational Thinking Level via Digital Game-Play , 2012, ICCS.

[26]  Paul D Jeanne Ellis Ormrod Leedy,et al.  Practical Research: Planning and Design , 1974 .

[27]  David Bau,et al.  Droplet, a blocks-based editor for text code , 2015 .

[28]  Sue Fitzgerald,et al.  Debugging: a review of the literature from an educational perspective , 2008, Comput. Sci. Educ..

[29]  Tim Wahls,et al.  The Case for Pair Programming in the Computer Science Classroom , 2011, TOCE.

[30]  Sze Yee Lye,et al.  Review on teaching and learning of computational thinking through programming: What is next for K-12? , 2014, Comput. Hum. Behav..

[31]  Erman Yükseltürk,et al.  An investigation of the effects of programming with Scratch on the preservice IT teachers' self-efficacy perceptions and attitudes towards computer programming , 2017, Br. J. Educ. Technol..

[32]  Bassey Isong,et al.  A Methodology for Teaching Computer Programming: first year students’ perspective , 2014 .

[33]  Filiz Kalelio lu A new way of teaching programming skills to K-12 students: Code.org , 2015 .

[34]  KohJoyce Hwee Ling,et al.  Review on teaching and learning of computational thinking through programming , 2014 .

[35]  Mark Zuckerberg,et al.  Computer Science for All , 2016 .

[36]  Peter C.-H. Cheng,et al.  A Survey on the Usage of Eye-Tracking in Computer Programming , 2018, ACM Comput. Surv..

[37]  Diomidis Spinellis,et al.  On the Dichotomy of Debugging Behavior Among Programmers , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[38]  Gautam Biswas,et al.  Integrating computational thinking with K-12 science education using agent-based computation: A theoretical framework , 2013, Education and Information Technologies.

[39]  J. Greene Is Mixed Methods Social Inquiry a Distinctive Methodology? , 2008 .

[40]  Matthew C. Jadud A First Look at Novice Compilation Behaviour Using BlueJ , 2005, Comput. Sci. Educ..

[41]  John D. Gould,et al.  An Exploratory Study of Computer Program Debugging1 , 1974 .

[42]  V. Shute,et al.  Demystifying computational thinking , 2017 .

[43]  Shuchi Grover,et al.  Computational Thinking in K–12 , 2013 .

[44]  Annie Murphy Paul The Coding Revolution. , 2016, Scientific American.

[45]  Yann-Gaël Guéhéneuc,et al.  A systematic literature review on the usage of eye-tracking in software engineering , 2015, Inf. Softw. Technol..

[46]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[47]  Filiz Kalelioglu,et al.  A new way of teaching programming skills to K-12 students: Code.org , 2015, Comput. Hum. Behav..

[48]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[49]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[50]  ChanMin Kim,et al.  Debugging during block-based programming , 2018 .

[51]  Olatokunbo S. Fashola,et al.  Using Robotics and Game Design to Enhance Children’s Self-Efficacy, STEM Attitudes, and Computational Thinking Skills , 2016 .

[52]  Ching-Fang Lin,et al.  Analysis of Experts’ and Novices’ Thinking Process in Program Debugging , 2012 .

[53]  Christopher Watson,et al.  A systematic review of approaches for teaching introductory programming and their influence on success , 2014, ICER '14.

[54]  N. Hari Narayanan,et al.  Visual attention patterns during program debugging with an IDE , 2012, ETRA '12.

[55]  Stephen Cooper Developing Algorithmic Thinking with Alice , 2000 .

[56]  Quinn Burke,et al.  The Markings of a New Pencil: Introducing Programming-as-Writing in the Middle School Classroom , 2012, Journal of Media Literacy Education.

[57]  R. Mayer,et al.  Cognitive Principles of Multimedia Learning: The Role of Modality and Contiguity , 1999 .