Using and contributing to this open-educational resource


Matthew J. C. Crump


July 26, 2023

This is a “how-to” page for adopters and contributors interested in using and modifying this open-educational resource, which is free to use, share, copy, edit, and remix, with attribution following the CC BY-SA 4.0 creative-commons license.

Cognition suite contents

The project repository at contains the source code to build the website, textbook, and slide decks.

The major components include a course website, textbook, slide decks (see slide decks tab on course website), weekly learning modules (see website), and a growing test bank (email to request access).

The suite is developed using open-source software, relying heavily on quarto, R, RStudio and libraries from the open-source R community.

Warning about active development

These materials are being actively developed and the contents is subject to incremental change. I am using these materials to teach this course at Brooklyn College of CUNY, and I continuously update this repository as I modify the course over each semester. Snapshots of the repository at various stages are currently saved as branches in the GitHub repository. I will likely switch to using Github releases to preserve prior versions.


I am sharing these materials in case they are useful for other students and teachers of cognition. I will be attempting to improve and expand the materials over time. If you are interested in suggesting changes or adding new content here are two ways to do so:

  1. Post an issue here
  2. Fork the repository and make a pull request.

Build your own course

In principle anyone should be able to download the repository and compile the resource. This would allow you to modify the contents of this course to suit your own needs.

Compiling the repo

Compiling this repository requires some expertise in the R environment. The remaining sections are intended as a brief guide to getting started. This guide is currently very bare bones, and I hope to add more details here in the future.

Get the software you need

  1. Sign up for a free account at This a website for sharing open-source software, but it can also be used to serve your course as a website for free.
  2. Download Github Desktop and install it on your machine. This should install the version control software git on your system, and you can use Github Desktop to easily push the course content from your local computer so that it can be viewed on
  3. Download R and install it on your machine. R is a programming language capable of many things, and it needs to be on your machine before you can run R Studio.
  4. Download R Studio Desktop and install it on your machine. R Studio is called an “IDE” or integrated development environment, that you can use to write your blog with quarto.
  5. Download quarto 1.2 or later. Rstudio ships with quarto, but at the time of this writing this repository uses quarto features from pre-release build 1.2.

Get the repo

Fork, clone, or download the repository to your local computer

Render the project

The cognition repository is a quarto project. See the quarto documentation for more information on using quarto.

  1. Open the cognition project file cognition.Rproj in Rstudio.
  2. Go to the Build tab, click Render Website.
  3. Preview the website in the Viewer pane (or in a browser) after rendering is complete.

Course Website

The _quarto.yml file in the main directory controls website rendering,. Modifying this file will change which .qmds are rendered and displayed on the website.


The textbook folder contains .qmds for each chapter that are rendered to the website from the main _quarto.yml file. As a result, the website version of textbook is rendered from the Build tab, at the same time as all other website pages are rendered.

PDF and epub versions of the textbook are rendered separately by ’textbook/_quarto.yml’, using quarto::quarto_render("textbook/").


The slides folder contains slide decks for each learning module. Slide decks are.Rmds that compile to web-based slide decks using revealjs. Requires the revealjs R package.

Course docs

The articles folder contains .qmds for other course documents, such as the syllabus, learning module pages, OER page, developement notes page, etc.

Test bank

The test bank is not included in the public repository. It is written using the R package exams.