The Practical Details of Building a CS Concept Inventory
Cynthia Taylor
Oberlin College
Michael Clancy
University of California, Berkeley
Kevin C. Webb
Swarthmore College
Daniel Zingaro
University of Toronto Mississauga
Cynthia Lee
Stanford University
Leo Porter
University of California, San Diego
ABSTRACT
Concept inventories (CIs) allow researchers and practitioners to
measure student conceptual learning within a course or topic area.
While they have enabled meaningful pedagogical change in other
disciplines, there are relatively few CIs in computer science. In this
paper, we report on our experiences as recent developers of a CI
for basic data structures. We discuss each step along the route to
a CI and offer tips based on what we have learned. We encourage
others to create CIs, and we hope that this paper will serve as a
practical guide through the process.
CCS CONCEPTS
• Social and professional topics → Computing Education.
KEYWORDS
concept inventory, assessment, data structures
ACM Reference Format:
Cynthia Taylor, Michael Clancy, Kevin C. Webb, Daniel Zingaro, Cynthia
Lee, and Leo Porter. 2020. The Practical Details of Building a CS Concept
Inventory. In The 51st ACM Technical Symposium on Computer Science Edu-
cation (SIGCSE ’20), March 11–14, 2020, Portland, OR, USA. ACM, New York,
NY, USA, 7 pages. https://doi.org/10.1145/3328778.3366903
1 INTRODUCTION
As computer science (CS) matures as a discipline and technology
becomes increasingly pervasive in society, the expectations for
CS graduates have never been higher. As CS instructors, we make
every effort to maximize student learning — but how can we reliably
measure the effectiveness of our learning interventions?
A concept inventory (CI) is an assessment designed to measure
student conceptual understanding of a course. Unlike a traditional
metric of student learning, such as an exam or course grade, a CI
is not designed to assess individual students. Rather, a CI enables
comparisons of student learning across instructors, institutions,
curricula, and instructional techniques [1]. CIs empower educa-
tion researchers to reliably measure the effects of interventions on
student learning, and they allow practitioners to identify areas in
which their students are struggling.
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation
on the first page. Copyrights for components of this work owned by others than the
author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or
republish, to post on servers or to redistribute to lists, requires prior specific permission
and/or a fee. Request permissions from permissions@acm.org.
SIGCSE ’20, March 11–14, 2020, Portland, OR, USA
© 2020 Copyright held by the owner/author(s). Publication rights licensed to ACM.
ACM ISBN 978-1-4503-6793-6/20/03. . . $15.00
https://doi.org/10.1145/3328778.3366903
In other disciplines such as physics, CIs have inspired wide-
spread change in pedagogy and facilitated large-scale studies with
thousands of students [7, 13]. However, within computer science,
only two validated CIs are widely available [15, 21]. We recently
developed a third: a concept inventory for basic data structures
(a subset of CS 2) [24]
1
. This paper describes our work building
that instrument. At each step we explore the CI design space in
the context of the lessons we learned. We hope that our experi-
ences will concretize the CI development process and spur future
CI development in other areas of CS.
2 BACKGROUND AND RELATED WORK
A conception describes a belief, theory, or description previously
developed to explain some behavior observed in the world. When
these beliefs conflict with accepted scientific theories, they become
misconceptions. One way to study student conceptions is to carefully
devise a question that, answered correctly, provides a high degree
of confidence in the student’s mastery. Conversely, answering in-
correctly may indicate misconceptions, particularly if a student
demonstrates a consistent pattern of incorrectness across a collec-
tion of related questions. Such a collection of questions and their
corresponding answers is referred to as a concept inventory (CI).
Concept inventories emerged from the physics education com-
munity, where the Force Concept Inventory (FCI) was created
in response to the observation that students could successfully
solve mathematical physics problems without adjusting their basic
(mis)conceptions of how the world worked [16]. The FCI sparked
widespread change in physics education and inspired the devel-
opment of Peer Instruction [7]. The success of the FCI motivated
the development of CIs in many other STEM disciplines, includ-
ing chemistry [19], engineering [31], genetics [27], statistics [28],
calculus [10], geoscience [20], oceanography [3], nursing [25], as-
tronomy [4, 26, 35], and biology [9].
In contrast, few CIs have been developed in computer science
thus far [29]. Tew and Guzdial developed the FCS1, a CI for in-
troductory programming [30]. However, the FCS1 is not generally
available, which led to the development of the Second CS1 Assess-
ment (SCS1), an isomorphic version of the FCS1 [21]. Additionally,
Herman et al. [15] developed a CI for digital logic.
While other efforts explore preliminary work towards CI devel-
opment for more advanced areas of CS, including algorithms [8, 11],
recursion [14], advanced data structures [17], computer architec-
ture [22], and operating systems [32], these efforts remain incom-
plete or lack rigorous validation.
Overall, the relative paucity of validated CIs for computer science,
especially in advanced topics, represents both an area of great
potential and a considerable need for the CS education community.
1
Available at https://groups.google.com/forum/#!forum/cs2-bdsi-concept-inventory