Paper Summary
Share...

Direct link:

Developing Scaffolding Debugging Strategies to Support Metacognition During Programming

Mon, April 25, 2:30 to 4:00pm PDT (2:30 to 4:00pm PDT), Marriott Marquis San Diego Marina, Floor: North Building, Lobby Level, Marriott Grand Ballroom 11

Abstract

Objectives:
This session describes the rationale and development of instructional strategies to support neurodiverse learners during programming activities, with specific attention to their debugging behaviors.

Perspectives:
Increasingly, there is an expectation that all students should have access to K-12 computer science (CS) education. Recently, there has been growing attention to the inclusion of students with disabilities in CS education (e.g., Israel et al., 2020; Ray et al., 2018). However, little attention has been given to pedagogical approaches that can increase access, learning, and success of these learners in CS education (authors, in press). The few studies that have examined inclusion of students with disabilities have revealed too little proactive instruction to support active learning and metacognitive self regulation (Israel et al., 2020). Thus, there is a need to study effective pedagogical approaches that promote learning and inclusion within CS education. At the same time, it is important to acknowledge the long history of strategy development in areas such as reading and writing. Our purpose, therefore, is to apply lessons learned from strategy development within the context of elementary computer science instruction, with the specific focus on how explicitly teaching students debugging strategies can promote learning and engagement.

Phase 1: Developing the metacognitive strategy: The Debugging Detective
Over the course of two years, we have developed and revised a metacognitive strategy called the Debugging Detective. The purpose of this strategy is to provide neurodiverse learners with an explicit way of unpacking the types of questions that experts use when debugging their programs. Students are asked to articulate what they want their program to do as well as what their program is actually doing. They are then guided through a series of guided questions, students consider how to examine their code in a strategic manner. This strategy is designed to be introduced to the students, modeled, and then introduced through a series of guided practice activities in a way that aligns with the High Leverage Practices approach to facilitating students’ learning of metacognitive strategies (Budin & Rafferty, 2018).

Phase 2: Developing guided practice activities to support students’ use of the Debugging Detective strategy

During the study, students are exposed to block-based programming within the NetsBlox interface through four guided phases of computational activities. First, they are provided with instructions on how to use the Netsblox interface by doing an activity with only 10 blocks of code. Next, they are introduced to worked examples with the same 10 blocks from the initial phase. The students are encouraged to explore and remix these worked examples. During this phase, the students are introduced to the Debugging Detective Strategy. Third, they are introduced to progressively more complex activities that include “buggy” code that does not work and encouraged to use the Debugging Detective to find and fix the bugs in the code. Finally, the students are encouraged to create their own codes using both the original blocks that they learned and new ones. When they encounter bugs in their own code, they are encouraged to independently use the Debugging Detective strategy.

Authors