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.

[1]  B. Bloom,et al.  Taxonomy of Educational Objectives. Handbook I: Cognitive Domain , 1966 .

[2]  Daniel E. Stevenson,et al.  Hybrid and custom data structures: evolution of the data structures course , 2009, ITiCSE '09.

[3]  Briana B. Morrison,et al.  The dimensions of variation in the teaching of data structures , 2004, ITiCSE '04.

[4]  David W. Stemple,et al.  Recommended curriculum for CS2, 1984: a report of the ACM curriculum task force for CS2 , 1985, CACM.

[5]  Stephen H. Edwards,et al.  DCER: sharing empirical computer science education data , 2008, ICER '08.

[6]  Mark Guzdial,et al.  Narrating data structures: The role of context in CS2 , 2008, ACM J. Educ. Resour. Comput..

[7]  G. Gibbs,et al.  Conditions Under Which Assessment Supports Students’ Learning , 2005 .

[8]  Ursula Fuller,et al.  Is Bloom's taxonomy appropriate for computer science? , 2006, Baltic Sea '06.

[9]  Beth Simon,et al.  Evaluating a new exam question: Parsons problems , 2008, ICER '08.

[10]  Errol Thompson,et al.  Bloom's taxonomy for CS assessment , 2008, ACE '08.

[11]  Benjamin S. Bloom,et al.  Taxonomy of Educational Objectives: The Classification of Educational Goals. , 1957 .

[12]  Carlos Gregorio Rodríguez,et al.  Computing Curricula 2001 , 2002 .

[13]  Josh D. Tenenberg A framework approach to teaching data structures , 2003, SIGCSE.

[14]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.

[15]  Tony Clear,et al.  An Australasian study of reading and comprehension skills in novice programmers, using the bloom and SOLO taxonomies , 2006 .

[16]  J. Biggs What the student does: teaching for enhanced learning , 1999 .

[17]  Stephen N. Zilles,et al.  Programming with abstract data types , 1974, SIGPLAN Symposium on Very High Level Languages.

[18]  F. Paas,et al.  Cognitive Architecture and Instructional Design , 1998 .

[19]  Charles Kelemen,et al.  A 2007 Model Curriculum For A Liberal Arts Degree In Computer Science , 2007 .

[20]  John Sweller,et al.  Cognitive Load During Problem Solving: Effects on Learning , 1988, Cogn. Sci..

[21]  David Boud,et al.  THE ROLE OF SELF‐ASSESSMENT IN STUDENT GRADING , 1989 .