A reading list for cognition

cognition
teaching
reading list
Developing a reading list for cognitive psychology to supplement an introductory textbook.
Author

Matt Crump

Published

October 25, 2022

Modified

August 4, 2023

One of my ongoing projects is an open-educational resource for a survey course in cognitive psychology. The project currently includes a textbook, course website, slides, and assignment suggestions under a creative commons license (CC-BY-SA 4.0). The textbook has nine chapters, and at some point I plan to add a few more. As it stands, when I teach this course, we transition from textbook readings toward reading primary research articles. To supplement and encourage more reading of primary research, I’m considering adding a suggested reading list section to the textbook. The purpose of this blog post is to draft some reading lists, and think about how I would curate and present them.

I think I have two general problems to solve:

  1. Picking articles to go on the list (and considering why these/not those).
  2. Maintaining and publishing the list with preferred software tools, like zotero and quarto.

Ideally, I think I want a zotero folder with sub-folders for different topics in cognition, each full of recommended papers to read. I already use zotero, and it can generate .bib files for each folder, which I can pipe into quarto and print out somewhere. There’s wrinkles though.

Let me count the ways. Let’s say I have 10-25 recommended articles per chapter. I could put them all in a single .bib file, and then use [nocite](https://quarto.org/docs/authoring/footnotes-and-citations.html#including-uncited-items) to print them all to a reference list at the end of a chapter. This will be a long undifferentiated reference list in alphabetical order. I could probably sort it differently with CSL.

I remembered that I already started an “additional reading” section in the Eugenics and Psychology chapter. I don’t like how it is presently formatted on the page, but I do like that it appears as a section in the chapter. Hmmm.

Revisiting that chapter I see that I tried two things. First, I wrote a code chunk to automatically generate a reading list from selected .bib entries in a .bib file. But, I guess I didn’t like how that worked out, because I ended up typing out the references directly.

Here’s a version of the code chunk:

library(dplyr)
load_bib <- bib2df::bib2df(file="memory_timeline.bib")

selected_bib <- load_bib %>%
  filter(BIBTEXKEY %in% c(
    "atkinsonHumanMemoryProposed1968",
    "baddeleyWorkingMemory1974",
    "craikLevelsProcessingFramework1972"))

bib2df::df2bib(selected_bib,file = "temp.bib")

stevemisc::print_refs("temp.bib",csl="apa-annotated-bibliography.csl")

This is OK. What are some other options.

Cite the refs in text.

I guess the simplest option is to cite the references in text the normal way.

Additional Reading

(Eich 1982; Douglas L. Hintzman 1988, 1984; Douglas L. Hintzman 1986; Jacoby and Brooks 1984; Jacoby 1991; Jamieson et al. 2018; Kolers and Roediger 1984; MacLeod 2020; McClelland and Rumelhart 1985; Murdock 1982; Roediger and McDermott 1995; Roediger III and Karpicke 2006; Shiffrin and Steyvers 1997; Voss 2009; Whittlesea 1997).

This option isn’t great. It’s nice that quarto shows the full citation on hover, but in this case it shows a really long list because they are cited together within [].

Additional Reading #2

Eich (1982)

Douglas L. Hintzman (1988)

Douglas L. Hintzman (1984)

Douglas L. Hintzman (1986)

Jacoby and Brooks (1984)

Can’t say I really love this look and feel either. Maybe a table or something would be better?

Additional Reading #3

Citation Year Notes
Eich (1982) 1982 blah blah blah
Douglas L. Hintzman (1988) 1988 blah blah
Shiffrin and Steyvers (1997) 1997 blah blah

This isn’t terrible. Could I make my life easier with knitr::kable?

Additional Reading #4

library(dplyr)
load_bib <- bib2df::bib2df(file="memory_timeline.bib")

selected_bib <- load_bib %>%
  filter(BIBTEXKEY %in% c(
    "atkinsonHumanMemoryProposed1968",
    "baddeleyWorkingMemory1974",
    "craikLevelsProcessingFramework1972")) %>%
  select(BIBTEXKEY,
         DATE,
         TITLE,
         NOTE) %>%
  rowwise() %>%
  mutate(BIBTEXKEY = paste("[@",BIBTEXKEY,"]",sep="",collapse=""),
         DATE = as.numeric(DATE),
         TITLE = stringr::str_remove_all(TITLE,"[{}]"),
         NOTE = case_when(is.na(NOTE) == TRUE ~ "",
                          is.na(NOTE) == FALSE ~ NOTE)
         ) %>%
  rename(CITATION = BIBTEXKEY)

knitr::kable(selected_bib)

I could live with a table like this I think.

More thoughts

I’m getting stuck too much worrying about ways to present a list of suggested readings. It feels sticky because I’m thinking about how content and style come together, but I haven’t totally sorted out what content options I want.

Minimally, I think I want the citation and the option to add notes about the reading. This is pretty much what I have in the above table. I can write any notes about a paper in zotero and have them included in the .bib file. This way the .bib file acts as a little database, which also offers opportunities for search and presentation. For example, the above table adds a date column read from the bib file.

Trying to get interactive tables that process markdown citations

Which, reminds me, I need to double-check if I can make the date column sortable. This should be possible with:

DT::datatable(selected_bib)

That works, but it doesn’t render the citations. I feel like I have been here before with the Semantic librarian project.

Sigh, looks like this is an open issue: https://github.com/rstudio/DT/issues/748.

Ok, let’s try https://glin.github.io/reactable/.

#reactable::reactable(selected_bib)

This doesn’t render the citations either. But, is there hope? Perhaps custom-rendering: https://glin.github.io/reactable/articles/custom-rendering.html. Tried some stuff, didn’t work.

Try stuff

None of thie stuff I tried here worked, deleting it. I’m also reminding myself that the .pdf version of the book chapters won’t be able to have interactive tables. So, I’m pausing this tangent.

Minimal Example

The goal for this example is to pick 10-20 readings from cognitive psychology that could appear in the first chapter, and then print the table here. I’m going to pick some papers that could be interesting for this chapter, and then print the table here to a sense of look and feel. Heads over to zotero to make another folder within a folder.

OK, I slammed together 13 papers. I can export them easily as a .bib file, load them in and print them as a table sorted by date. I’m less certain about how to add additional citation data to each entry, such as a note field. Let’s see.

I rarely use the notes feature in Zotero, so I just discovered that if I write notes for an entry, then I can export them as part of the bib file, and they appear as a note entry. That’s convenient. I could imagine having really long notes for the some of the paper, and that wouldn’t fit space-wise in the table very well. Could have notes as tooltips, or make the table scroll. Will come to that later. Let’s add some notes and print out the table.

I added some notes, some longer, some shorter. Curious to see what the table looks like.

load_bib <- bib2df::bib2df(file="C1_Cognition_reading.bib")

selected_bib <- load_bib %>%
  select(BIBTEXKEY,
         DATE,
         TITLE,
         NOTE) %>%
  rowwise() %>%
  mutate(BIBTEXKEY = paste("[@",BIBTEXKEY,"]",sep="",collapse=""),
         DATE = as.numeric(DATE),
         TITLE = stringr::str_remove_all(TITLE,"[{}]"),
         NOTE = case_when(is.na(NOTE) == TRUE ~ "",
                          is.na(NOTE) == FALSE ~ NOTE)
         ) %>%
  rename(CITATION = BIBTEXKEY) %>%
  arrange(desc(DATE))

knitr::kable(selected_bib)

Not bad, pushing ball forward achieved.

References

Eich, Janet M. 1982. “A Composite Holographic Associative Recall Model.” Psychological Review 89 (6): 627–61. https://doi.org/fkjzpx.
Hintzman, Douglas L. 1986. “"Schema Abstraction" in a Multiple-Trace Memory Model.” Psychological Review 93: 411–28. https://doi.org/bzdsr4.
Hintzman, Douglas L. 1984. MINERVA 2: A Simulation Model of Human Memory.” Behavior Research Methods, Instruments, & Computers 16 (2): 96–101. https://doi.org/fx78p6.
———. 1988. “Judgments of Frequency and Recognition Memory in a Multiple-Trace Memory Model.” Psychological Review 95 (4): 528–51. https://doi.org/fnm39h.
Jacoby, Larry L. 1991. “A Process Dissociation Framework: Separating Automatic from Intentional Uses of Memory.” Journal of Memory and Language 30 (5): 513–41. https://doi.org/bc7qc7.
Jacoby, Larry L., and Lee R. Brooks. 1984. “Nonanalytic Cognition: Memory, Perception, and Concept Learning.” Edited by Gordon H. Bower. The Psychology of Learning and Motivation 18: 1–47. https://doi.org/d7z8js.
Jamieson, Randall K., Johnathan E. Avery, Brendan T. Johns, and Michael N. Jones. 2018. “An Instance Theory of Semantic Memory.” Computational Brain & Behavior 1 (2): 119–36. https://doi.org/gf6cm7.
Kolers, Paul A., and Henry L. Roediger. 1984. “Procedures of Mind.” Journal of Verbal Learning and Verbal Behavior 23 (4): 425–49. https://doi.org/b7gfkh.
MacLeod, Colin M. 2020. “Zeigarnik and von Restorff: The Memory Effects and the Stories Behind Them.” Memory & Cognition 48 (6): 1073–88. https://doi.org/gkg77z.
McClelland, James L., and David E. Rumelhart. 1985. “Distributed Memory and the Representation of General and Specific Information.” Journal of Experimental Psychology: General 114 (2): 159. https://doi.org/ddskfc.
Murdock, Bennet B. 1982. “A Theory for the Storage and Retrieval of Item and Associative Information.” Psychological Review 89 (6): 609. https://doi.org/dwddzm.
Roediger, Henry L., and Kathleen B. McDermott. 1995. “Creating False Memories: Remembering Words Not Presented in Lists.” Journal of Experimental Psychology: Learning, Memory, and Cognition 21 (4): 803. https://doi.org/d6zhsv.
Roediger III, Henry L., and Jeffrey D. Karpicke. 2006. “Test-Enhanced Learning: Taking Memory Tests Improves Long-Term Retention.” Psychological Science 17 (3): 249–55. https://doi.org/cp47ms.
Shiffrin, Richard M., and Mark Steyvers. 1997. “A Model for Recognition Memory: REM—Retrieving Effectively from Memory.” Psychonomic Bulletin & Review 4 (2): 145–66. https://doi.org/b7hgnq.
Voss, Joel L. 2009. “Long-Term Associative Memory Capacity in Man.” Psychonomic Bulletin & Review 16 (6): 1076–81. https://doi.org/fn4998.
Whittlesea, Bruce W. A. 1997. “Production, Evaluation, and Preservation of Experiences: Constructive Processing in Remembering and Performance Tasks.” In The Psychology of Learning and Motivation: Advances in Research and Theory, Vol. 37, 211–64. San Diego, CA, US: Academic Press.