UC Berkeley Cognition Seminar, Spring 2023, 2 Units
- Tu & Thu 3pm - 4pm Berkeley Way West 1213
- Instructor: Bill Thompson [email protected]
- Office hours: Friday 3pm - 4pm, 3rd Floor BWW or Zoom, Sign up for a slot here: Google calendar
- Course website: github.com/ecl-ucb/290Q
- bCourses site: 290Q bCourses
- In the course catalogue: classes.berkeley.edu
- Course project due: Friday April 28th [tentative]
A practical introduction to web-based behavioral experiments. We will learn to build experiments using JsPsych, a JavaScript framework for creating experiments that run in a web browser. The goal of this course is for each student to create a new experiment that furthers their research.
First, we will cover relevant basics of HTML and JavaScript and the core functionality of JsPsych. Next, we will cover more advanced experimental designs (e.g. custom tasks, dynamically structured procedures). Finally, we will learn how to host a JsPsych experiment using Dallinger and deploy the experiment to online recruitment platforms such as Prolific or Amazon’s Mechanical Turk.
The course is primarily lab-based and goal-oriented. Minimal required work outside of class. May include occasional readings relating to the merits and limitations of web-based experimental methods. The primary assessment is a course project – the design and implementation of a working experiment you would like to run. I may ask people to submit short code-based check-in assignments along the way.
Each lab session, I will introduce a notebook containing jsPsych code. You will then read through the code, copy it into a file on your computer, run it, and potentially edit it. Lab sessions from 03/21 onwards will involve writing your own code to create your experiment.
Please bring your own laptop to class. If this is not practical for you, let me know and I will be happy to arrange an alternative.
The schedule below is tentative.
| Date | Day | Topic | Class Materials |
|---|---|---|---|
| 01/17/2023 | Tue | Course Introduction | Lab 1: welcome.md |
| 01/19/2023 | Thu | Developer Tools and HTML Basics | Lab 2: tools-and-html.md |
| 01/24/2023 | Tue | Javascript Basics (Part 1) | Lab 3: javascript-basics-1.md |
| 01/26/2023 | Thu | Javascript Basics (Part 2) | Lab 4: javascript-basics-2.md |
| 01/31/2023 | Tue | Creating an experiment with jspsych | Lab 5: intro-jsPsych.md |
| 02/02/2023 | Thu | Catch-up lab | |
| 02/07/2023 | Tue | Building a timeline (Part 1: grouping, looping, and skipping trials) | Lab 7: timeline-1.md |
| 02/09/2023 | Thu | Building a timeline (Part 2: timeline variables) | Lab 8: timeline-2.md |
| 02/14/2023 | Tue | Plugins (Part 1: the anatomy of a plugin) | Lab 9: plugins-1.md |
| 02/16/2023 | Thu | Plugins (Part 2: creating a new plugin) | Lab 10: plugins-2.md |
| 02/21/2023 | Tue | Catch-up lab | Lab 11: review-excercises.md |
| 02/23/2023 | Thu | Catch-up lab | Lab 12: review-excercises.md |
| 02/28/2023 | Tue | Interacting with jsPsych Data | Lab 13: jspsych-data.md |
| 03/02/2023 | Thu | Saving data to OSF using Datapipe | Lab 14: testing-datapipe.md |
| 03/07/2023 | Tue | Experimental Design | Lab 15: experiment-design.md |
| 03/09/2023 | Thu | Reading TBD | |
| 03/14/2023 | Tue | Planning Week: your experiment (individal meetings) | |
| 03/16/2023 | Thu | Planning Week: your experiment (individal meetings) | |
| 03/21/2023 | Tue | Planning Week: your experiment (individal meetings) | |
| 03/23/2023 | Thu | Planning Week: your experiment (individal meetings) | |
| 03/28/2023 | Tue | Spring Recess | |
| 03/30/2023 | Thu | Spring Recess | |
| 04/04/2023 | Tue | Hosting your experiment online using Github Pages | Lab 16: hosting-ghp.md |
| 04/06/2023 | Thu | Building your experiment | Asynchronous lab |
| 04/11/2023 | Tue | Building your experiment | Synchronous zoom Lab |
| 04/13/2023 | Thu | Building your experiment | Synchronous in-person Lab |
| 04/18/2023 | Tue | Building your experiment | Asynchronous lab |
| 04/20/2023 | Thu | Building your experiment | Synchronous in-person Lab |
| 04/25/2023 | Tue | Building your experiment | Synchronous in-person Lab |
| 04/27/2023 | Thu | Building your experiment | Synchronous in-person Lab |
| 05/08/2023 | Fri | Class Project Due project details here | Submit on 290Q bCourses |
Build an experiment that contributes to your research. Due at the end of the course, probably Friday May 8th. I will be your first participant (unless your experiment is really long): submit code and a project summary pdf. More details about the assignment can be found here. Grade Proportion: 75%
This is a practical lab-based course. Please try to attend the lab sessions. Think of this class as a collective learning enterprise. Even expert coders get stuck: helping your fellow students solve problems and find bugs is a great way to improve your own learning as well as other people's and to keep the class moving on schedule. Grade Proportion: 25%
How games can make behavioural science better
Data quality of platforms and panels for online behavioral research
Prolific's Attention and Comprehension Check Policy
Experimentology: An Open Science Approach to Experimental Psychology Methods
Substantial inspiration from the JsPsych Tutorials and from Kenny Smith's Course Online Experiments for Language Scientists.
