Popis: |
Students need the ability to reason about the behavior of programs when working with advanced concepts like concurrency and abstraction. To achieve this, students require core programming skills that allow them to trace and predict the outcome of a program. While previous research indicates that teachers cannot expect students to acquire all core programming skills after their introductory CS course, less is known of studentsâ progression in later years. In this study, we investigate 397 studentsâ ability to predict the outcome of short computer programs. The participants are from different programs and progressions in their studies. We find that students, regardless of program and year, struggle with predicting the outcome of short programs that require an accurate mental model of some less readily apparent concepts, such as references. Further, we discover that there is no significant improvement in the first three years. Finally, we propose further avenues of research to improve these learning outcomes. |