studiesData = {
const rows = await d3.csv("/studies/studies.csv");
return rows.map(d => ({
...d,
yearNum: +d.year || null,
stageList: (d.stages || "").split("|").filter(s => s),
recNum: +d.top_rec || 0
}));
}
stageMeta = ({
DM: {label: "Data management", chapters: "Ch. 3–4", note: "dm_note", accent: "#1f6feb"},
CR: {label: "Concept representation", chapters: "Ch. 5–6", note: "cr_note", accent: "#8250df"},
DA: {label: "Computational analysis", chapters: "Ch. 7–8", note: "da_note", accent: "#bc4c00"},
SC: {label: "Scientific communication", chapters: "Ch. 9–10", note: "sc_note", accent: "#1a7f37"}
})
// A lens is either fixed by the hub page or chosen by the reader. When fixed,
// show plain text instead of a disabled dropdown: a disabled control announces
// as "unavailable" to screen readers, which misdescribes a deliberate setting.
viewof chosenLens = stageLens === null
? Inputs.select(
new Map([
["All design stages", "ALL"],
...Object.entries(stageMeta).map(([k, v]) => [`${v.label} (${v.chapters})`, k])
]),
{label: "Design stage", value: "ALL"}
)
: Inputs.input(stageLens);
activeLens = stageLens === null ? chosenLens : stageLens
inScope = activeLens === "ALL"
? studiesData
: studiesData.filter(d => d.stageList.includes(activeLens))
viewof queryText = Inputs.text({
label: "Search",
placeholder: "title, journal, abstract, annotation…",
width: 320,
submit: false
})
viewof disciplinePick = Inputs.select(
["All disciplines", ...new Set(inScope.map(d => d.discipline).filter(x => x))].sort(
(a, b) => (a === "All disciplines" ? -1 : b === "All disciplines" ? 1 : a.localeCompare(b))
),
{label: "Discipline", value: "All disciplines"}
)
viewof recommendedOnly = Inputs.toggle({
label: "Recommended for at least one stage",
value: false
})
filtered = {
const q = (queryText || "").trim().toLowerCase();
return inScope
.filter(d => disciplinePick === "All disciplines" || d.discipline === disciplinePick)
.filter(d => !recommendedOnly || d.recNum >= 4)
.filter(d => {
if (!q) return true;
return [d.title, d.journal, d.abstract, d.discipline, d.theme,
d.dm_note, d.cr_note, d.da_note, d.sc_note]
.some(v => (v || "").toLowerCase().includes(q));
})
.sort((a, b) => (b.recNum - a.recNum) || (b.yearNum - a.yearNum));
}CSS Empirical Studies Database
122 published computational studies, annotated by research-design stage
122 published computational studies annotated by research-design stage, searchable and filterable, downloadable as CSV or BibTeX.
Use this collection for the Practice assignments in Chapters 3, 5, 7, and 9. Search by topic or design stage, then read the annotations to choose a paper. They describe how a study handled its data, measures, analysis, or reporting and suggest questions to pursue in the full study.
What is in the table, and what is not
Each row is a published empirical study using computational methods in the social sciences. It is a teaching resource, not a systematic review: studies were selected to span methods, disciplines, and epistemic purposes, not to be exhaustive.
Coverage is uneven by design stage: 91 studies are annotated for data management, 64 for analysis, 48 for concept representation, 44 for communication. A study with no annotation for a stage has no recorded assessment through that lens; the blank does not establish the quality of that part of the study.
The computational capacity field, shown under each study’s expandable detail, carries the source table’s own coding (simulation, iteration, prediction). That vocabulary predates the one Chapter 7 uses (iteration, non-linear modeling, high-dimensional processing). Use the chapter’s vocabulary for its assignment; the table has not been recoded.
Ten studies carry no stage annotation yet: they appear in the unfiltered list but in none of the four lenses. Coverage is weighted toward 2013–2019, with only thirteen studies from 2020 or later. Its selection and date coverage do not support conclusions about the prevalence of methods in the field today.
Browse the database
Reading one study through all four lenses
Switching the design-stage filter changes which annotation each card shows. Following a single study across its available annotations helps you examine how decisions at one stage constrain the next. The recommended flag reflects a high recommendation for at least one design stage in the source collection; it does not imply that all four stages are annotated.
Take the whole table
- studies.csv: every field, including the full annotations
- studies.bib: BibTeX for a reference manager
Citation counts are from the source collection’s snapshot and are not updated live.
Suggesting an addition
Proposals are welcome, particularly work from outside North America and Europe, from journals not usually indexed in methods coursework, or using methods currently thin in the table. Studies published since 2023 are especially welcome: the table’s coverage thins after that year. Send suggestions through the errata page contact route.