Assessing and Teaching Scope, Mutation, and Aliasing in Upper-Level Undergraduates
Kathi Fisler, Shriram Krishnamurthi, Preston Tunnell Wilson · 2017
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?