Abstract
How does students' knowledge of code structure improve as they progress through their degree, and where do students struggle? We conducted a comparative study between introductory (CS1) and intermediate CS students (CS2) to explore these questions. Using an online survey with several tasks, including identification of expert patterns, judgment of readable structure, code comprehension, code writing, and editing, we focused on two important code structures: (S1) returning boolean expressions directly and (S2) unique vs. repeated code within if and else. Student performance varied based on structure and task: in both S1 and S2, CS2 students demonstrated higher performance in identifying patterns, judgment of readable structure, and editing. However, evidence of improvement in code writing was only found for S1, and improvement in code comprehension was only found for S2. Therefore, students may need different supports across different code structures. With the exception of comprehension of S1, student performance was far below ceiling, suggesting a need for more support. Additionally, we examined how student performance in different tasks was related to their writing structure. Overall, there were limited and varying relationships between performance in other tasks and writing: code editing predicted writing performance for both structures. For S1, student judgment of readability was also associated with writing structure, and for S2, comprehension predicted writing structure.
Author supplied keywords
Cite
CITATION STYLE
Nurollahian, S., Rafferty, A. N., Brown, N., & Wiese, E. (2024). Growth in Knowledge of Programming Patterns: A Comparison Study of CS1 vs. CS2 Students. In SIGCSE 2024 - Proceedings of the 55th ACM Technical Symposium on Computer Science Education (Vol. 1, pp. 979–985). Association for Computing Machinery, Inc. https://doi.org/10.1145/3626252.3630865
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.