User Manual: Inquisit Corsi Visual Spatial Memory Test


___________________________________________________________________________________________________________________	

									Corsi Visual Spatial Memory Test (forward)
___________________________________________________________________________________________________________________

last updated:  02-21-2022 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC
Script Copyright © 02-21-2022 Millisecond Software

This script is based on part on Inquisit's corsiblocktappingtask.iqx by David Nitz (dave@millisecond.com) 
for Millisecond Software, LLC 

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
	This script implements the Forward Corsi Block Tapping Task similarly to the one described in:

Schellig, D. (2011). Vienna Test System: Manual. CORSI: Block-Tapping Test Forwards, Block-Tapping Test Backwards,
Supra Block Span Test. 

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
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.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 5 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________
The default data stored in the data files are:

(1) Raw data file: 'corsivisualspatialmemorytest_forward_raw*.iqdat' (a separate file for each participant)

build:								The specific Inquisit version used (the 'build') that was run
computer.platform:					the platform the script was run on (win/mac/ios/android)
date, time: 						date and time script was run 
subject, group: 					with the current subject/groupnumber
session:							with the current session id

blockcode, blocknum:				the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: 				the name and number of the currently recorded trial (built-in Inquisit variable)
										Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
										that do not store data to the data file such as feedback trials. Thus, trialnum 
										may not reflect the number of main trials run per block. 
									

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	
										Note: 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.
									Note: 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
completedTest_s:					stores the duration of the COMPLETED test session (in s)
workingTime_s:						stores the time elapsed (in s) since start of test session until script completion


	
(2) Summary data file: 'corsivisualspatialmemorytest_forward_summary*.iqdat' (a separate file for each participant)

inquisit.version: 					Inquisit version run
computer.platform:					the platform the script was run on (win/mac/ios/android)
startDate:							date script was run
startTime:							time script was started
subjectid:							assigned subject id number
groupid:							assigned group id number
sessionid:							assigned session id number
elapsedTime:						time it took to run script (in ms); measured from onset to offset of script
completed:							0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)

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
completedTest_s:					stores the duration of the COMPLETED test session (in s)
workingTime_s:						stores the time elapsed (in s) since start of test session until script completion

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________

(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

Note: 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. 

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
provided by Millisecond Software - see section Editable Instructions

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are:

	boardcolor				Display color for the virtual game board.
	blocksize				Size of blocks in % of canvassize.
	
	showscores				'true' -> show score summary at the end of the procedure.
							'false' -> don't show score summary at the end of the procedure.
							Default is 'true'.
							
	tapinterval				Interval between 'taps' in ms. Default is '1000'.
	
	posttapinterval			Time between erasing a previously highlighted block and highlighting the 
							next one in ms.
							
	maxPracticeTrials		the maximum number of practice trials provided before script terminates (default: 8)
	
	skipLevel2:				1 (true): testing starts at level 3 (default)
							0 (false): testing starts at level 2 (usually done when testing children)