Making sense of data structures exams
Is there consensus on what students should learn in CS2? Should they learn to use data structures, understand their specific implementation details, or both? Finally, has the computing education community's answer to the second question changed over time? In this paper, we begin to explore these questions based on an analysis of a key artifact instructors use to assess their students' performance: their final exams. Specifically, we look at two CS2 concepts as covered in those exams: stacks and hashtables.
Our dataset includes 76 exams from 14 institutions around the world spanning 1973-2009 that were gathered as part of the DCER project, which is investigating the feasibility of a repository for computing education research data; to our knowledge this is a novel dataset in computing education. We begin by giving a general feel for this extensive dataset by describing the formats and difficulty level of the stack and hashtable questions and the computing skill students must possess to answer them. Next, we look at the questions' assessment of implementation knowledge versus interface or application knowledge. Despite a number of calls for modern CS2 to focus more on application than implementation, we found no evidence of such a trend. We note, however, that there are institutional differences in the data, and that there are alternative ways in which application may be assessed in a course.