Assessing and Teaching Scope, Mutation, and Aliasing in Upper-Level Undergraduates
Assessing and Teaching Scope, Mutation, and Aliasing in Upper-Level Undergraduates
复制标题
高年级本科生的范围、突变和别名的评估和教学
DOI:
10.1145/3017680.3017777
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
P. Wilson
中科院分区:
文献类型:
--
作者:
Kathi Fisler;S. Krishnamurthi;P. Wilson
Scope, aliasing, mutation, and parameter passing are fundamental programming concepts that interact in subtle ways, especially in complex programs. Research has shown that students have substantial misconceptions on these topics. But this research has been done largely in CS1 courses, when students' programming experience is limited and problems are necessarily simple. What happens later in the curriculum? Does more programming experience iron out these misconceptions naturally, or are interventions required? This paper explores students' understanding of these topics in the context of a programming languages class for third- and fourth-year CS majors. Our pre- and post-tests pose questions in two programming languages to gauge whether upper-level students transfer knowledge between languages. Many students held misconceptions about these concepts at the start of the course. Students made progress in only some languages and topics, and cross-language transfer does not occur naturally. We also discuss various pedagogic activities we used to engage students with these concepts, and provide data and student opinion on their effectiveness.