Research
Student reasoning for self-assessments of programming ability
We interviewed 7 students throughout an academic quarter to understand how and why they self-assessed their programming abilities as they took an introductory CS class. We found that students' self-assessments are grounded in their self-expectations, understanding of normal practice, and confidence in ability to recover from perceived setbacks. We also found that these reasons originate from interactions with others in their learning and professional environments.
Student perceptions of ability when programming with LLMs
We surveyed computing students to understand how they perceive their own and others' programming abilities when programming with LLMs. We found that students adopt a variety of self-assessment criteria related to being able to code independently, work quickly, and conceptually understand their work. We argue that understanding if students are accurately self-assessing their programming abilities when using LLMs requires us to deeply understand what students' goals and interests are.
Designing to support accurate self-assessments of programming ability
Previous research found that students are often overly critical of their programming abilities in common, expected moments in the programming process, like stopping to think or looking up syntax. How can we design sociotechnical learning environments to support students in making accurate self-assessments of ability? Drawing on findings from our work on self-assessment reasoning, we design pedagogy, curricula, and an AI-driven, in-situ feedback system that work in concert to support students in making accurate self-assessments.