arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1808.09008cs.SE
收藏

它就像Python,但是:支持程序设计语言知识的转移

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

Nischal Shrestha, Titus Barik, Chris Parnin

摘要:

传统上,编程的专业知识假定了新手和专家的二元划分。学习资源通常针对第一次学习编程的程序员,或该语言的专家程序员。一个代表性不足但重要的程序员群体是那些在一种程序设计语言方面有经验,但希望用不同语言编写代码的人。对于这种情况下,我们假设,一个有效的反馈形式是作为一个从第一语言的概念转移到第二。当前的编程环境不支持这种形式的反馈。在这项研究中,我们应用学习迁移理论来教授程序员不太熟悉的语言-例如R-他们已经知道的程序设计语言-例如Python。我们使用一种名为Transfer Tutor的新工具来研究学习迁移,该工具以等效的Python代码来解释R代码。我们的研究发现,参与者利用学习迁移作为一种认知策略,即使是在未经提示的情况下。参与者发现Transfer Tutor在许多启示方面都很有用,比如逐步了解和强调可能被遗漏或误解的事实。然而,参与者不愿意在没有代码执行的情况下接受事实,或者有时难以阅读冗长或复杂的解释。这些结果为未来的设计和研究方向提供了指导,可以支持学习新的程序设计语言时的学习迁移。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑