Skip to main content
eScholarship
Open Access Publications from the University of California

Supporting Learning of Programming through Translation Activities in a Computer Tutor

Abstract

Computer programs correspond to instructions that tell a computer how to perform a task. Because computers do not understand human languages, programs have to be written in a specialized programming language. Such languages have unique syntax and semantics that on the surface appear quite different from human languages. To foster understanding what a program means, novices need to translate the programming language instructions into a familiar human language. We developed a tutoring system that provides translation activities, from the language Python into plain English, and feedback on student answers. One version of the tutoring system provides open-ended input boxes that students type translations into. A second version instead asks students to generate answers to the translation using drop-down menus. The latter provides more scaffolding but also may encourage shallow behaviors such as guessing and checking. To shed light on how these designs influence learning, we evaluate them with novice programmers. Here, we report on the results of the evaluation and next steps.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View