It's Like Python But: Towards Supporting Transfer of Programming Language Knowledge
Nischal Shrestha, Titus Barik, Chris Parnin

TL;DR
This paper explores supporting programmers experienced in one language to learn a new language by transferring knowledge, using a tool called Transfer Tutor that explains code in terms of familiar language concepts.
Contribution
It introduces a novel approach applying learning transfer theory to programming education and presents Transfer Tutor, a tool that facilitates understanding of new languages through familiar language concepts.
Findings
Participants used learning transfer as a cognitive strategy.
Transfer Tutor was found useful for highlighting key facts.
Participants hesitated to accept facts without code execution.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsVisual and Cognitive Learning Processes · Innovative Teaching and Learning Methods · Online Learning and Analytics
