Start here: your course guide
You will build small browser experiments and learn to check whether they measure what you intended. The five workshops move from one trial to a documented pilot with usable data. You do not need prior JavaScript, HTML, or CSS. Basic programming concepts help; the bridge below supports students who need a refresher.
Before Meeting 1 (30-60 minutes)
Meetings 1-2 run locally, so you can focus on files, trials, and data without setting up a platform account. In Meeting 3, we introduce local JATOS and study export/import using an already-working task. Cognition.run is an alternative; Meeting 5 revisits deployment with your project.
- Download and unzip the whole
student course folder. Keep its directory structure;
copying only
app.jsloses dependencies. - Install or use an existing plain-text code editor. A desktop browser and keyboard are sufficient for the core course. Do not use a word processor to edit code.
- Start a local server from the course folder. With Python installed:
Windows
py -m http.server 8000 --bind 127.0.0.1; macOS/Linuxpython3 -m http.server 8000 --bind 127.0.0.1. Keep the terminal open. If Python is unavailable, an editor’s local preview/server feature works; ask for setup support rather than installing tools during the lesson. - Visit
http://127.0.0.1:8000/and follow the Meeting 1 starter link.127.0.0.1means your own computer. Closing the server terminal stops the server. - Open developer tools (usually F12 or the browser menu), select
Console, and run
2 + 2. It should show4. - Read the programming bridge. Change the welcome text in the Meeting 1 live starter, save, refresh, and check that the browser shows your edit.
The pinned libraries are included under .shared/vendor/;
ordinary class activities work without an internet connection after
download. Use the server even if double-clicking an HTML file appears to
work. Your local web server does not store experiment
results: download them at the end. No camera, paid hosting, npm, or
build system is needed for student work.
Your working rhythm
Start each topic with the browser slides and its Code lab. Predict what will happen, edit a few lines, run, and inspect the saved rows. Practice gives a second change to try independently and an answer to check afterwards. These short exercises are ungraded. Download edits and data before changing examples or leaving a slide; open the lab in its own tab for longer work. The practice sheet links a complete source ZIP if you want to keep working in your editor.
Use Read for scrolling slides, the reference handout for explanations, and the PDF/handbook for printing. The experiment field guide connects design decisions, code, and data fields.
Keep a personal copy of each starter folder in its original location, or duplicate the entire course folder. Save a working version before a risky change. Read the matching exercise sheet, make one change, run, and inspect one data row. Work in pairs during class, switching the keyboard every 10-15 minutes. Both people should be able to explain the result. Reference solutions are for checking your reasoning after an attempt; do not submit them unchanged.
| Meeting | Prepare | What you will leave with | Next submission |
|---|---|---|---|
| 1 | Setup and bridge | Eight-item lexical decision pilot, exported data | Assignment 1 |
| 2 | Arrays/objects; timeline handout | Randomized condition task and guarded summaries | Assignment 2 |
| 3 | Sketch practice/test flow; local JATOS preparation | Bounded practice and first study import/run/export | Assignment 3 + proposal |
| 4 | Bring a project prototype | Preloaded images and a documented failure test | Pilot |
| 5 | Bring pilot files and questions | Pointer data, save workflow, project review | Final project in 14 days |
The assessment guide contains the weights and links to briefs. Required readings are short, specific sections in each meeting’s reference handout; additional links are optional.
Read a trial before editing it
Identify its plugin (type), what appears
(stimulus), allowed responses (choices),
deadline (trial_duration), and the data labels. Ask: what
would be saved if I responded correctly, incorrectly, or not at all?
null means a missing response; it is not zero milliseconds.
Instruction and fixation rows are not task observations.
The supplied Course helper creates the end-of-pilot
download buttons and safe summaries. You may use it without rewriting
it. The concepts assessed are your trial structure, labels, filters, and
explanation. Its readable source is in
.shared/course.js.
When something fails
Use the debugging guide. Copy the first error message, record which page you opened, and describe what you expected versus what happened. Avoid sending a screenshot of code when the actual text can be shared. Do not paste private participant data or credentials into help requests or AI tools.
Access and participation
Ask privately if you need an alternative input method, more time, an accessible stimulus set, or equipment. No diagnosis is needed in class. The Stroop activity has a shape/arrow alternative for students who cannot distinguish its colors. Advanced camera demonstrations are optional. The anonymous pre-course survey cannot identify who needs individual assistance; use the instructor’s email for a personal response.
What a classroom pilot means
The examples use very few, deliberately simple items. English word familiarity, color discrimination, screen size, and input devices can affect performance. A working demo is evidence of a working implementation, not a replication or a validated psychological test. Your final documentation must distinguish these claims.