Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 12, 2026
Last Modified: January 20, 2026 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements Millisecond's version of the Children's Continuous Performance Task (C-CPT) introduced by Kerns & Rondeau (1998) for preschool children ages 3-6. The C-CPT is a type of X-CPT go/nogo task that uses animals pictures and animals sounds with X-representing the Go Animal ('Sheep') trials and all other animals representing the Nogo Animals. The ratio of Go:Nogo Stimuli is 1:6, with infrequent targets to frequent distractors.
The implemented game is best played on touchscreens. If played on non-touchscreens, the mouse can be used instead.
Kerns, K. A., & Rondeau, L. A. (1998). Development of a continuous performance test for preschool children. Journal of Attention Disorders, 2(4), 229–238. https://doi.org/10.1177/108705479800200403
Schuttler, S. G., Stevenson, K., Kays, R., & Dunn, R. R. (2019). Children’s attitudes towards animals are similar across suburban, exurban, and rural areas. PeerJ (San Francisco, CA), 7, Article e7328. https://doi.org/10.7717/peerj.7328
30 minutes
Participants are asked to play a game to look at animal images and listen to animal sounds and find the sheep. Whenever they detect a sheep (go-stim), they are asked to press the response button. Participants need to refrain from pressing the response button for any other animal stimuli (nogo-stims).
3 subgames can be played:
1. Present images and corresponding sounds - respond to the sheep ('Find the Sheep!') 2. Present only sounds (visual image is a curtain) - respond to the sheep sound ('Find the Sheep even if the animals are hiding!') 3. Present images with random sounds - respond to the image of the sheep (regardless of sound) ('Find the Sheep even if the animals try to trick you!')
Before the CPT games are played, participants work through two familiarization blocks to learn about the images and soundfiles used.
(1) Introduction
provided by Millisecond Software.
Ten animals were selected that are likely to be recognized by
preschoolers (e.g. typical farm animals and wild animals such as elephant and lion)
based on prior research (e.g. Schuttler et al, 2019).
10 animals: bird, cat, cow, dog, elephant, frog, horse, lion, pig, sheep
images: images taken from the image database by Rossion & Pourtois (2004)
soundfiles: downloaded from https://pixabay.com/sound-effects/
-> Each soundfile plays for roughly 1s
can be edited under section Editable Stimuli
provided by Millisecond Software - can be edited in script 'c_cpt_instructions_inc.iqjs'
English verbal instructions were generated with
https://ttsmaker.com/
voice: Elizabeth
"TTSMaker grants users a non-exclusive, irrevocable, worldwide, and perpetual license to use audio files
generated via its services. Users may freely use, modify, reproduce, distribute, and display the audio content
for both personal and commercial purposes—such as in games, films, audiobooks, advertisements, educational
materials, and other media—without paying additional fees or obtaining further permissions."
https://ttsmaker.com/copyright_and_commercial_license_terms
File Name: c_cpt_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
Familiarization |
|
| imageFamErrorCounter | The number of errors made during the image familiarization procedure |
| soundFamErrorCounter | The number of errors made during the sound familiarization procedure |
Cpt |
|
| practice1RoundCounter | Number of times practice for game1 was run |
| practice1Success | 1 = practice1 completed successfully; 0 = practice1 not completed successfully |
| practice2RoundCounter | Number of times practice for game2 was run |
| practice2Success | 1 = practice2 completed successfully; 0 = practice2 not completed successfully |
| practice3RoundCounter | Number of times practice for game3 was run |
| practice3Success | 1 = practice3 completed successfully; 0 = practice3 not completed successfully |
Overall Test Games |
|
| propCorrectOverall | Proportion correct responses across all cpt games |
| meanHitRT | Mean hit response time (in ms) across all cpt games |
Per Test Game (Only Explained For Game1) |
|
| propCorrect1 | Proportion correct responses across game1 trials |
| excessResponses1 | Counts the number of excess responses made during game1 trials (excess responses are responses that are made in excess of 1) |
| meanHitRT1 | Mean hit response time (in ms) across all game1 go-trials |
| hitRate1 | Proportion correct responses for go-trials in game1 ('pressed response button for the sheep') |
| missRate1 | Proportion incorrect responses for go-trials in game1 ('did not press response button for the sheep') - omission error |
| crRate1 | Proportion correct responses for nogo trials in game1 ('did not press response button for distractor animals') |
| faRate1 | Proportion incorrect responses for nogo trials in game1 ('did press response button for distractor animals') - commission error |
Signal Detection Measures |
|
| zHitRate1 | The calculate z-score of the hitRate during game1 |
| zFaRate1 | The calculate z-score of the faRate during game1 |
| dPrime1 | Computes d' (parametric measure of discriminability btw. signals and noise) for game1 => Range (in this script) -5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance) => The higher the value, the better signals (go stims) were overall distinguished from noise (nogo stims) (d' = 0: chance performance; negative d-primes: participant treated nontargets as targets and targets as nontargets) |
| c1 | C-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal is present (liberal response style) may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) |
File Name: c_cpt_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| phase | "Familiarization", "Practice", "Test" |
| gameCounter | Tracks the number of CPT games played |
| gameType | 1 = game 1 (images + congruent sound) 2 = game 2 (no images + sound) 3 = game 3 (images + random sound) |
| trialCounterPerBlock | Tracks the number of cpt trials per block |
| goTrialCounterPerBlock | Tracks the number of cpt go-trials run per block |
| nogoTrialCounterPerBlock | Tracks the number of cpt nogo-trials run per block |
| trialType | 1 = go trial; 2 = nogo trial |
| animalImage | Stores the itemnumber (0-9) of the current animal image (9 = sheep) |
| animalSound | Stores the itemnumber (0-9) of the current animal soundfile (9 = sheep) |
| corrResp | 1 = press response button 0 = wait |
| responseCounter | Tracks the number of times response button is pressed during each cpt-trial |
| acc | 1 = correct; 0 = error |
| responseCategory | Hit: pressed response button at least once for the target |
| miss | Did not press response button for the sheep (omissions) |
| cr | Did not press response button for the distractor (correct rejections) |
| fa | Pressed response button at least once for the distractor (false alarms, commissions) |
| respRT | Stores the latency of the first response in ms (if any); measured from onset of stim |
| famErrorCounter | Tracks the number of errors made during the current familiarization procedure |
Built-In |
|
| response | The response of participant during the currently recording trial |
| correct | Correctness of response (1 = correct, 0 = error) use 'acc' for CPT trials instead |
| latency | Response latency (in ms) use 'respRT' for CPT trials instead |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| runGame1 | Game1: image and congruent animal sound presented true = game1 is played false = game1 is skipped | true |
| runGame2 | Game2: X and animal sound presented true = game1 is played false = game1 is skipped | true |
| runGame3 | Game3: image and RANDOM animal sound presented (sound = distractor) true = game1 is played false = game1 is skipped | true |
Test Blocks |
||
| numberCptTrialsPerTestBlock | Number of trials to run per test block | 203 |
| propGoTrialsTest | Proportion of GoTrials during the test ( numberCptTrialsPerTestBlockTest x propGoTrialsTest should result in an integer) Kerns & Rondeau (1998) ran 200 trials with 29 targets during each game | 1/7 |
| showPerformanceFeedbackTest | True = during test blocks, participants receive feedback for hits, false alarms, and misses false = no performance feedback provided during test blocks | false |
Practice Blocks |
||
| numberCptTrialsPerPracticeBlock | Number of trials to run per practice block | 16 |
| propGoTrialsPractice | Proportion of GoTrials during the practice ( numberCptTrialsPerPracticeBlock x propGoTrialsPractice should result in an integer) Kerns & Rondeau (1998) ran 25s practice rounds | 1/4 |
| minPracticeAcc | The minimum practice performance that need to be reached to move on to the test | 1 |
| maxNumberPractice | The maximum number of practice rounds run before participant moves to the test (regardless of practice performance) | 2 |
| showPerformanceFeedbackPractice | True = during practice blocks, participants receive feedback for hits, false alarms, and misses false = no performance feedback provided during practice | true |
| prefatoryTrials | The number of trials at the beginning of a (practice) block that should be disregarded from performance check | 2 |
Timing Parameters |
||
| cptDelayStartMS | Delay (in ms) of the first stim during cpt blocks | 5000 |
| cptStimDurationMS | Presentation time (in ms) of the (visual) cpt stimuli (equals response timeout) | 1500 |
| cptItiMS | Intertrial interval (in ms), potentially to create a visual break between animal images during cpt trials Note -The Stimulus Onset Asynchrony (SOA) in this script is: cptStimDuration + iti = 1500ms -Kerns & Rondeau (1998) only mention that the stims appear every 1500ms, no mention of response timeout | 0 |
| cptFeedbackDurationMS | Duration (in ms) of performance feedback during cpt trials | 1000 |
Ui Parameters |
||
| canvasColor | Display color of the actively used portion of the screen (the 'canvas') if set to a color other than the screenColor, you can distinguish the active canvas from the inactive portion of the screen | black |
| screenColor | Color of the screen not used by the canvas ('inactive screen') | black |
| defaultTextColor | Default color of text items | white |
| imageHeightPct | Proportional height (to canvas height) of the animal images | 40% |
| xHeightPct | Proportional height (to canvas height) of the letter X | 40% |
| responseButtonSizePct | Proportional height (to canvas height) of the responseButton | 15% |