Investigating the Utility of self-Explanation for Learning to Program through Translation Activities

Public Deposited
Resource Type
Creator
Abstract
  • Programming is challenging for novices to learn. Code tracing is a foundational programming skill that involves simulating a program's execution. Translating lines of code into plain English explanations of what it does should allow students to better understand a program while code tracing. Translations is similar to self-explanation, a general mechanism that helps learning by making inferences beyond the instructional materials. This thesis investigates whether self-explanation via translation of programming syntax to plain English helps students learn to code trace, in a between-subjects study (\emph{N} = 44). We created two versions of a computer tutor that guides novice programmers through code-tracing problems. In the experimental condition, students were asked to translate lines of code during code-tracing activities, while in the control condition students were only asked to code trace. The experimental group performed significantly better on translation and code-generation questions, but the control group performed significantly better on code-tracing questions

Subject
Language
Publisher
Thesis Degree Level
Thesis Degree Name
Thesis Degree Discipline
Identifier
Rights Notes
  • Copyright © 2022 the author(s). Theses may be used for non-commercial research, educational, or related academic purposes only. Such uses include personal study, research, scholarship, and teaching. Theses may only be shared by linking to Carleton University Institutional Repository and no part may be used without proper attribution to the author. No part may be used for commercial purposes directly or indirectly via a for-profit platform; no adaptation or derivative works are permitted without consent from the copyright owner.

Date Created
  • 2022

Relations

In Collection:

Items