SEAug 27, 2018

It's Like Python But: Towards Supporting Transfer of Programming Language Knowledge

arXiv:1808.09008v118 citations
Originality Incremental advance
AI Analysis

This addresses the need for better learning resources for programmers transitioning between languages, though it is incremental as it builds on existing learning transfer theory.

The study tackled the problem of experienced programmers learning a new language by developing Transfer Tutor, a tool that explains R code in terms of Python, and found that participants used learning transfer as a cognitive strategy and found the tool useful for highlighting facts, though they had issues with verbosity and lack of code execution.

Expertise in programming traditionally assumes a binary novice-expert divide. Learning resources typically target programmers who are learning programming for the first time, or expert programmers for that language. An underrepresented, yet important group of programmers are those that are experienced in one programming language, but desire to author code in a different language. For this scenario, we postulate that an effective form of feedback is presented as a transfer from concepts in the first language to the second. Current programming environments do not support this form of feedback. In this study, we apply the theory of learning transfer to teach a language that programmers are less familiar with--such as R--in terms of a programming language they already know--such as Python. We investigate learning transfer using a new tool called Transfer Tutor that presents explanations for R code in terms of the equivalent Python code. Our study found that participants leveraged learning transfer as a cognitive strategy, even when unprompted. Participants found Transfer Tutor to be useful across a number of affordances like stepping through and highlighting facts that may have been missed or misunderstood. However, participants were reluctant to accept facts without code execution or sometimes had difficulty reading explanations that are verbose or complex. These results provide guidance for future designs and research directions that can support learning transfer when learning new programming languages.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes