Mappings, practice feedback, bounded loops, and conditional test
Bartosz Maćkiewicz
Build a task that takes the right route after success, failure, or a change of response mapping.
Artifact: a flanker pilot with bounded practice and a test gate.
Instructions → practice → check the current attempt.
A bounded loop and a test gate solve different problems.
←←←←← left
→→→→→ right
←←→←← right
→→←→→ left
Respond to the central arrow. Ignore the neighbors. Check every answer key independently.
Open the lab in its own tab · Predict → edit → run → inspect · The preview captures response keys.
Group A: left = F; right = J. Group B: left = J; right = F.
Store the target direction and the expected key separately. Instructions, scoring, and saved group must agree.
A URL parameter carries an assignment; it does not create balanced groups by itself.
For a classroom demonstration, allocate A/B deliberately. A real study needs a documented allocation procedure and checks of actual group counts.
Add feedback to the practice procedure. Test a correct answer, a wrong answer, and a timeout.
Check that feedback has its own task label and does not enter the accuracy denominator.
Open the lab in its own tab · Predict → edit → run → inspect · The preview captures response keys.
Four trials, criterion 75%.
Use >= 0.75, not > 0.75. Test the
boundary explicitly.
L2: run both ?group=A and ?group=B.
L3: implement bounded repetition and inspect the attempt ID.
Use the arrow on screen to decide the correct key; do not let the saved answer key be your test oracle.
const testIfPassed = {
timeline: [beginTest, testBlock, summary],
conditional_function: () => practicePassed
};Stopping the loop after three failures is not permission to enter test.
Exiting a loop after the final allowed attempt does not imply a pass. The conditional gate must still check practicePassed.
Show an explanatory stop screen and allow data export.
Tell the participant what happened and how to get help. No test rows should be created on this route.
The task must not loop forever or silently lower the criterion.
Keep the Meeting 2 experiment unchanged while learning JATOS.
Follow the local JATOS worksheet; setup trouble has a demo fallback.
Export a .jzip; import it into a different instance; run
and retrieve a new pilot.
Study archives do not transfer previous results.
| File | Purpose |
|---|---|
| Source ZIP | Edit HTML, JavaScript, styles, and assets |
Study .jzip |
Import a configured study into JATOS |
| Results export | Inspect the recorded runs |
Cognition.run is an alternative with its own editor and saving.
The starter contains the structure; complete the marked parts.
| Route | Practice | Test |
|---|---|---|
| Pass first attempt | 4 | 8 |
| Fail, then pass | 8 | 8 |
| Fail all three | 12 | 0 |
Fixation, instructions, and feedback are additional rows.
Excluding people who fail practice changes who reaches test.
Document the criterion, maximum attempts, and number stopped. Do not use a practice rule as an invisible post-hoc exclusion.
Complete the paper-to-prototype worksheet.
Name one manipulation, one response, one data row, and one failure route. Choose the smallest coherent version.
Proposal and Assignment 3 are due before Meeting 4.
Explain why both a loop bound and a test condition are needed.
Show a row from attempt 2 and explain its mapping. How would you prove that failed practice never reaches test?