Skip to content

Practice, then test

Walk participants through instructions and a feedback practice block before the scored test block.

Use this whenever the response mapping has to be learnt before the data can be trusted, which is nearly every task with arbitrary key assignments. Skipping straight to the scored block leaves the learning curve inside your test data, and the other shortcut, keeping feedback on during test trials, coaches participants through the very measurement you are taking. A feedback practice block followed by an uncoached test block separates learning from measuring. If the task is genuinely self-evident, a single instructions screen may be all you need.

typestimFormattitlecontentstim1keyboardkeyfeedbackfeedbackTimebutton1
instructionsAnimal or object?You will see words one at a time. Press A if the word names an animal and L if it does not. We start with a short practice round.NEXT
practicewordSPOONa llcorrect: Correct!;incorrect: Not quite. A is for animals and L for everything else1200
practicewordHORSEa lacorrect: Correct!;incorrect: Not quite. A is for animals and L for everything else1200
instructionsPractice completeWell done. The real task starts now. It works exactly the same way, but you will no longer receive feedback.NEXT
testwordCAMELa la
testwordBOTTLEa ll
testwordTIGERa la
testwordCHAIRa ll

The type column structures the whole session. The two instructions rows leave stimFormat empty, which makes them instructions screens; title fills the heading and body the page text, and because their keyboard cells are empty the screen shows its own NEXT button (a filled keyboard value on an instructions row would suppress it and advance by key instead).

The practice block uses type practice: responses are checked against key and feedback works exactly as on test trials, but practice results are not included in the main results file, and correctness goes to the correctPractice results column instead of correct. That makes the block safe to learn on. Each practice row pairs feedback (correct: and incorrect: segments) with a 1200 ms feedbackTime so the message auto-advances. No timeout: segment is needed because no responseWindow deadline is set, so a timeout cannot occur.

The second instructions row marks the switch, then the test block repeats the same task with type test, the only value whose responses are written to the results file, and with the feedback cells left empty so the scored trials run without coaching. type values are case sensitive: Test or Practice would silently disable saving and scoring.

  • Centre the practice feedback by adding feedbackOptions with center on the practice rows.
  • Auto-advance an instructions screen after a pause by giving it a plain integer presTime; random forms such as min_max do not work on instructions rows.
  • Report practice performance on the second instructions screen by putting variables such as %correct.perc% in its body.
  • Add a responseWindow deadline to the test rows; if you also re-enable feedback there, include a timeout: segment, since a timed-out trial shows no feedback without one.