Debugging is a natural part of the programming process. It comes into play as soon as novices make their first mistakes in creating programming artifacts. It is also consistently reported to be a skill that is difficult to learn and teach effectively. Research in Computer Science Education has often focused on breaking down debugging in steps connected by temporal and causal dependencies. We refer to this as decomposition of the debugging process. In this work, we look at debugging from the standpoint of Cognitive Load theory, and break it down into a tree-shaped model of subskills that enable and are prerequisite to one another. Our decomposition of debugging in subskills complements the work done on the debugging process and suggests viable learning trajectories that take into account the Cognitive Load of learners.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

A Teaching and Learning Oriented Decomposition of Debugging Subskills Informed by Cognitive Load Theory

  • Gabriele Pozzan,
  • Andreas Bollin,
  • Tullio Vardanega

摘要

Debugging is a natural part of the programming process. It comes into play as soon as novices make their first mistakes in creating programming artifacts. It is also consistently reported to be a skill that is difficult to learn and teach effectively. Research in Computer Science Education has often focused on breaking down debugging in steps connected by temporal and causal dependencies. We refer to this as decomposition of the debugging process. In this work, we look at debugging from the standpoint of Cognitive Load theory, and break it down into a tree-shaped model of subskills that enable and are prerequisite to one another. Our decomposition of debugging in subskills complements the work done on the debugging process and suggests viable learning trajectories that take into account the Cognitive Load of learners.