This script is based on part on Inquisit's corsiblocktappingtask.iqjs by David Nitz (dave@millisecond.com)
for Millisecond Software, LLC
Last Modified: January 30, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the Backward Corsi Block Tapping Task -a measure of spatial working memory- similarly to the one described in Shellig (20011).
Schellig, D. (2011). Vienna Test System: Manual. CORSI: Block-Tapping Test Forwards, Block-Tapping Test Backwards, Supra Block Span Test.
5 minutes
Participants are presented with a screen of 9 boxes. The boxes light up in a pre-fixed sequence and participants are asked to click on the boxes in the same order they were lit. The sequence length starts at level = 3 boxes (level 2 is optional) and can increase to up to level 8. Participants get 3 chances at each sequence length. If one of the sequences was entered correctly, the next sequence starts. The test terminates with three incorrect responses in a row or after the last trial on level 8. A practice session with 2 trials (5 boxes, 3 lit) is run before the test to familiarize participants with the set-up. Participants get one replacement sequence per level.
(1) Practice
• 2 trials with predetermined sequences of 3 boxes (see section Editable Lists)
• 5 boxes presented, 3 are lit
• each box is lit for 1000ms with an isi of 250ms (default)
• a beep is played after the last box to signal that response can be entered
• participants can make as many corrections as they want before submitting their response
• feedback is provided
• if incorrect response is submitted, the trial is repeated until participant enters the correct sequence
or reaches the max number of practice trials (default in this script: 8)
• it is not possible to omit a practice trial
(2) Test
• tests levels: 3-8 (starting at level 2 is optional)
• 3 trials with predetermined sequences per level (see section Editable Lists)
• 9 boxes presented
• each box is lit for 1000ms with an isi of 250ms (default)
• a beep is played after the last box to signal that response can be entered
• participants can make as many corrections as they want before submitting their response
• no feedback is provided
• once per level, a 'missed' sequence can be made-up. Participant has to press NEXT without providing a
response. In that case, a make-up sequence is provided.
• script terminates after
a) three incorrect responses in a row are submitted OR
b) the third response of level 8 is submitted
BlockSpan:
longest sequence length that was correctly reproduced at least twice
the internal numbering of the blocks in this script and thus the pattern in which the blocks light up
might differ from Schellig (2011). Image 'blocknumbering.png' presents the order used by this script.
provided by Millisecond - see section Editable Instructions in script
corsivisualspatialmemorytest_forward_instructions_inc.iqjs
File Name: corsivisualspatialmemorytest_forward_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 |
| nCorrectTotal | Total number of correctly recalled sequences across the whole task |
| nErrorsTotal | Total number of errors made across all levels (includes non-tapped sequences that did not qualify for replacement) |
| nSequenceErrors | Counts the number of sequence errors made across the task |
| blockspan | The achieved Block Span: longest sequence length that was correctly reproduced at least twice |
| completedTestS | Stores the duration of the COMPLETED test session (in s) |
| workingTimeS | Stores the time elapsed (in s) since start of test session until script completion |
File Name: corsivisualspatialmemorytest_forward_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. |
| roundsPerLevel | Running count of the number of attempts per level (usually 3 unless the replacement sequence is played also -> then 4) |
| replacementTrial | 1 = the current sequence is a replacement 0 = otherwise one replacement per level is provided. To get the replacement sequence, participant needs to enter 'done' without providing a response (values.respstring = "") |
| seqNumber | The ordinal number of the current block sequence. A maximum of 18 sequences (+ 6 possible make-up sequences) are given in ascending order. (if level 2 is run, max. 21 sequences are given + 7 possible make-up sequences) |
| seqLength | Length of the current block sequence (current level tested). |
| sequence | The current sequence |
| response | The response of the participant in a given trial ('1'-'9', 'done', 'reset) |
| respString | The sequence entered by the participant. |
| latency | The latency of the last response (in ms) |
| correct | 1 = the current sequence was recalled correctly 0 = otherwise |
| sequenceError | 1 = the error made is a sequence error 0 = otherwise sequence error: the correct blocks were selected but the order was incorrect |
| consecutiveErrors | Running count of consecutive errors (within and across blocks); resets with each correct response |
| nCorrectInLevel | Holds the number of correctly recalled sequences in the current block. participant has to get at least 2 trials per level correct to increase 'blockspan' |
| nCorrectTotal | Total number of correctly recalled sequences across the whole task |
| nErrorsTotal | Total number of errors made across all levels (includes non-tapped sequences that did not qualify for replacement) |
| nSequenceErrors | Counts the number of sequence errors made across the task |
| blockspan | The achieved Block Span: longest sequence length that was correctly reproduced at least twice |
| completedTestS | Stores the duration of the COMPLETED test session (in s) |
| workingTimeS | Stores the time elapsed (in s) since start of test session until script completion |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| boardColor | Display color for the virtual game board. | white |
| blockSize | Size of blocks in % of canvassize. | 10% |
| showScores | 'true' -> show score summary at the end of the procedure. 'false' -> don't show score summary at the end of the procedure. | true |
| maxPracticeTrials | The maximum number of practice trials provided before script terminates | 8 |
| skipLevel2 | 1 (true): testing starts at level 3 0 (false): testing starts at level 2 (usually done when testing children) | true |
Timing Parameters |
||
| tapInterval | Interval between 'taps' in ms. | 1000 |
| posttapInterval | Time between erasing a previously highlighted block and highlighting the next one in ms. | 250 |