Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: December 07, 2017
Last Modified: April 21, 2026 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a 'Keep Track Task'; a test of executive functioning focusing on continuously updating working memory representations.
The implemented procedure is similar to the one outlined by Friedman et al (2008).
Friedman, N.P., Miyake, A., Young, S.E., DeFries, J.C., Corley, R.P., & Hewitt, J.K. (2008). Individual Differences in Executive Functions Are Almost Entirely Genetic in Origin. Journal of Experimental Psychology: General, 137, 201-225.
The Friedman et al (2008) task is in turn based on: Yntema, D. B. (1963). Keeping track of several things at once. Human Factors, 5, 7–17.
15 minutes
Participants need to mentally update the state of key categories while watching a sequence of 15 words that belong to 6 different categories. Before the presentation, participants are told the specific categories to keep track of and these target categories are displayed on screen throughout the presentation. The number of target categories to keep track of (of the 6 possible) varies from round to round (default in this script: 2-4). At the end of each round, participants are asked to enter the last item presented for each of the target categories.
categories: Friedman et al (2008)
exemplars: provided by Millisecond
By default, this script runs with 6 exemplars per category. That reduces the chance to guess
the correct exemplar (per category) at the end of each trial to p ~ 0.17.
specific categories as well as exemplars can be edited under section "Editable Stimuli"
in script 'keeptracktask_instructions_inc.iqjs'
provided by Millisecond - can be edited under section Editable Instructions
in script 'keeptracktask_instructions_inc.iqjs'
File Name: keeptracktask_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 |
| countPracticeSessions | Running total of practice sessions requested |
| roundCount | Final count of test rounds run |
| totalCorrect | Stores the number of correctly recalled items across all test rounds |
| totalWordsRecalled | Stores the total number of words that needed to be recalled across all test rounds |
| propCorrect | The proportion correct of all possible test round responses (= number of correct responses across all test rounds / total number of responses = X/36 in this script) |
| meanPropCorrect | Mean proportion correct per round; based on propCorrect for each round (Example: 0.25 => on average, participant got 25% of all responses correct per test round, regardless of level of difficulty) |
| meanPropCorrect1 | Mean proportion correct for level 1 trials |
| meanPropCorrect2 | Mean proportion correct for level 2 trials |
| meanPropCorrect3 | Mean proportion correct for level 3 trials |
| meanPropCorrect4 | Mean proportion correct for level 4 trials |
| meanPropCorrect5 | Mean proportion correct for level 5 trials |
| meanPropCorrect6 | Mean proportion correct for level 6 trials |
File Name: keeptracktask_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) |
| countPracticeSessions | Running total of practice sessions requested |
| roundCount | Running total of the trials/rounds run; resets after each practice session |
| difficulty | Level of difficulty ( = number of categories to keep track of) |
| 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. |
| stimulusItem | The presented stimuli in order of trial presentation |
| currentTargetCategory | Stores the currently presented target category in digits 1-6 |
| targetCategory1 | Stores the label of the randomly selected target category1 |
| category1Last | Stores the last item presented for target category1 |
| targetCategory2 | Stores the label of the randomly selected target category2 |
| category2Last | Stores the last item presented for target category2 |
| targetCategory3 | Stores the label of the randomly selected target category3 |
| category3Last | Stores the last item presented for target category3 |
| targetCategory4 | Stores the label of the randomly selected target category4 |
| category4Last | Stores the last item presented for target category4 |
| targetCategory5 | Stores the label of the randomly selected target category5 |
| category5Last | Stores the last item presented for target category5 |
| targetCategory6 | Stores the label of the randomly selected target category6 |
| category6Last | Stores the last item presented for target category6 |
| response | The participant's response |
| latency | The response latency (in ms) recall trials: measured from: onset of recall-trial until all textbox responses are submitted via 'submit' button |
| countCorrect | Counts the number of correctly items per round (across all target categories) |
| propCorrect | Stores the proportion correctly recalled items per round (= countCorrect/difficulty) |
| correctCategory1 | 1 = last item of target category 1 was correctly recalled; 0 = otherwise |
| correctCategory2 | 1 = last item of target category 2 was correctly recalled; 0 = otherwise |
| correctCategory3 | 1 = last item of target category 3 was correctly recalled; 0 = otherwise |
| correctCategory4 | 1 = last item of target category 4 was correctly recalled; 0 = otherwise |
| correctCategory5 | 1 = last item of target category 5 was correctly recalled; 0 = otherwise |
| correctCategory6 | 1 = last item of target category 6 was correctly recalled; 0 = otherwise |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| maxNumberOfPracticeSessions | Maximum number of times participants can repeat the practice session if they choose to do so the script will run at least 1 practice session regardless of parameter setting | 2 |
| skipTestFeedback | True(1): participants only receive performance feedback after each round during practice (but not the test) false(0): participants receive performance feedback after each round during practice AND test | false |
Sizing Parameters |
||
| exemplarSize | Proportional (to canvas height) size of exemplars | 8% |
Timing Parameters |
||
| stimDelay | The delay (in ms) of the first exemplar presented after hitting spacebar | 500 |
| stimDuration | Duration (in ms) of examplars on screen | 1500 |
| stimISI | The duration (in ms) of a blank screen presented after each stimulus and before the next | 0 |
| recallDelay | Additional delay (on top of stimISI) (in ms) of the recall trial after the last exemplar is presented | 0 |
| iti | Intertrial interval (in ms) in between each round | 1000 |
Debugging |
||
| debugmode | True(1): the script is run in debugmode; a stimulus with all correct responses is presented with the textboxes during each recall trial false (0): the script is NOT run in debugmode | 0 |