Developing a Computer Science Concept Inventory for Introductory ProgrammingRicardo CaceffoSteve WolfmanKellogg S. BoothRodolfo Azevedo
Ricardo Caceffo
Steve Wolfman
Kellogg S. Booth
Rodolfo Azevedo
2016
Proceedings of the 47th ACM Technical Symposium on Computing Science Education - SIGCSE '16
A Concept Inventory (CI) is a set of multiple choice questions used to reveal student’s misconceptions related to some topic. Each available choice (besides the correct choice) is a distractor that is carefully developed to address a specific misunderstanding, a student wrong thought. In computer science introductory programming courses, the development of CIs is still beginning, with many topics requiring further study and analysis. We identify, through analysis of open-ended exams and instructor interviews, introductory programming course misconceptions related to function parameter use and scope, variables, recursion, iteration, structures, pointers and boolean expressions. We categorize these misconceptions and define high-quality distractors founded in words used by students in their responses to exam questions. We discuss the di culty of assessing introductory programming misconceptions independent of the syntax of a language and we present a detailed discussion of two pilot CIs related to parameters: an open-ended question (to help identify new misunderstandings) and a multiple choice question with suggested distractors that we identified.