Exploring CS1 code design skills
Despite the importance of code design for readability, performance, and ease of writing and reading code, many students have struggled to develop these skills while learning what is usually their first programming language.
In this project, I aimed to understand the ways design was taught and learned at an Introductory Computer Science (CS1) level and to identify the potential ways students could learn these design skills.
To achieve this, the project had three steps: (1) analysing course content and responses for an Introduction to Programming for Engineers course to see how students were exposed to design choices, (2) a think-aloud study to dig into the design strategies that students preferred, and (3) a teaching intervention to see if exposure to different design strategies lead to measurably better performance and design choices.
Come along if you’re interested in seeing the findings!