User Manual: Inquisit Corsi Block Tapping Task (Backwards)


___________________________________________________________________________________________________________________	

									Corsi Block-Tapping Task (Backwards)
___________________________________________________________________________________________________________________

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC (backward task)
Script uses in large part the code of the Forward Corsi Block Tapping Task written by David Nitz (dave@millisecond.com)

last updated:  05-26-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC
Script Copyright © 05-26-2023 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
	This script implements the Backward Corsi Block Tapping Task; a measure of spatial working memory.
	
	Note:
	The current script allows to run the Corsi Block Tapping Task with absolute stimulus sizing to ensure 
	that the size of the Corsi blocks (with a target box size ~3cm) as well as their distances are constant 
	across monitors.
	
	The default setup is optimized for touchscreen devices sized like an ipad but adapts to mouse use on 
	non-touchscreens.  By default, the stimuli are absolutely sized if the current screen size is 
	big enough - if not, the script uses the largest 4:3 portion of the current screen (e.g. smartphone screen) 
	that it can find.
	
	Absolute sizing of stimuli can easily be turned off or adjusted via parameter settings.
		
	
	The implemented procedure is described in:

	Kessels, R.P.C., van den Berg, E., Ruis, C., & Brands, A.M. A. (2008). "The Backward Span of 
	the Corsi Block-Tapping Task and Its Association With the WAIS-III Digit Span". Assessment, 15, 426–34.


	The script builds on the original Inquisit Corsi Block Tapping Task that implements the (forward) 
	Corsi Block Tapping Task as described in:

	Kessels, R.P.C., van Zandvoort, M.J.E., Postma, A., Kappelle, L.J., & de Haan, E.H.F. (2000).
	The Corsi block-tapping task: Standardization and normative data. Applied Neuropsychology,
	7(4), 252-258.

	Corsi, P. M. (1972). Human memory and the medial temporal region of the brain. 
	Dissertation Abstracts International, 34, 819B.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
Participants are presented with a screen of 9 boxes. The boxes light up in a pre-fixed sequence (constant across participants)
and participants are asked to click on the boxes in the REVERSED order.
The sequence length starts at level = 2 boxes and can increase to up to level 8. Participants get 2 chances
at each sequence length. If one of the sequences was entered correctly (that is in reversed fashion),
the next sequence starts. 

___________________________________________________________________________________________________________________	
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: 'corsiblocktappingtask_backwards_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

//Screen Setup:
(parameter) runAbsoluteSizes:		true (1) = should run absolutely sized canvas (see parameters- canvasHeight_inmm)
									false (0) = should use proportionally sized canvas (uses width = 43*screenHeight)
								
canvasAdjustments:					NA: not applicable => parameters- runAbsoluteSize was set to 'false'
									0: parameters- runAbsoluteSize was set to 'true' and screen size was large enough
									1: parameters- runAbsoluteSize was set to 'true' BUT screen size was too small and 
									adjustments had to be made

activeCanvasHeight_inmm:			the width of the active canvas (by default: lightGray area) in mm 
activeCanvasWidth_inmm:				the height of the active canvas in mm 
display.canvasHeight:				the height of the active canvas in pixels
display.canvasWidth:				the width of the active canvas in pixels

px_per_mm:							the conversion factor to convert pixel data into mm-results for the current monitor
									(Note: the higher resolution of the current monitor 
									the more pixels cover the same absolute screen distance)
									This factor is needed if you want to convert pixel data into absolute mm data or the other way around




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. 
										
seqnumber							The ordinal index number of the current block sequence. A maximum of 14 sequences are given in ascending order.
seqlength							Length of the current block sequence.
seqstring							The current sequence (stored forward)
seqstring_backwards					The current sequence (stored backwards).
respstring							The sequence entered by the participant (resets for each new sequence)
response							the response of the participant in a given trial

correct								'1' if the current sequence was recalled correctly. '0' if the participant
									made a mistake.
								
latency								the latency of the response (in ms)

ncorrectinblock						Holds the number of correctly recalled sequences in the current block.
									Sequences are given in blocks of two. The task stops as soon as the 
									participant fails to recall two sequences of equal length.
									
ncorrecttotal						Total number of correctly recalled sequences across the whole task.
									Note: for the backward Corsi with levels 2-8, the max number of correctly recalled sequences = 14
									
blockspan							The achieved Block Span. Equals the length of the last correctly recalled sequence.

totalscore							Summary score proposed by Kessels et al. (2000). Computed as 
									'values.blockspan' * 'values.ncorrecttotal'.

									
(2) Summary data file: 'corsiblocktappingtask_backwards_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)
									
//Screen Setup:
(parameter) runAbsoluteSizes:		true (1) = should run absolutely sized canvas (see parameters- canvasHeight_inmm)
									false (0) = should use proportionally sized canvas (uses width = 43*screenHeight)
								
canvasAdjustments:					NA: not applicable => parameters- runAbsoluteSize was set to 'false'
									0: parameters- runAbsoluteSize was set to 'true' and screen size was large enough
									1: parameters- runAbsoluteSize was set to 'true' BUT screen size was too small and 
									adjustments had to be made

activeCanvasHeight_inmm:			the width of the active canvas (by default: lightGray area) in mm 
activeCanvasWidth_inmm:				the height of the active canvas in mm 
display.canvasHeight:				the height of the active canvas in pixels
display.canvasWidth:				the width of the active canvas in pixels

px_per_mm:							the conversion factor to convert pixel data into mm-results for the current monitor
									(Note: the higher resolution of the current monitor 
									the more pixels cover the same absolute screen distance)
									This factor is needed if you want to convert pixel data into absolute mm data or the other way around
									
									
									

ncorrecttotal						Total number of correctly recalled sequences across the whole task.
										Note: for the backward Corsi with levels 2-8, the max number of correctly recalled sequences = 14
										
blockspan							The achieved Block Span. Equals the length of the last correctly recalled sequence.
totalscore							Summary score proposed by Kessels et al. (2000). Computed as 'values.blockspan' * 'values.ncorrecttotal'.

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________
* predetermined sequence of boxes (see section Editable Lists)
* start level N=2 up to level 8
* 2 chances per level	

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
see section Editable Instructions

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________

Note:
The current script runs the task with absolute stimulus sizing to ensure that the size 
of the Corsi blocks (with a target box size ~3cm) as well as their distances are constant across monitors.
The default setupis optimized for touchscreen devices sized like an ipad but adapts to mouse use on non-touchscreens.
	
Is the current screen NOT big enough for the specified blocksizes, the script uses the largest 4:3 portion 
of the current screen (e.g. smartphone screen) that it can find.
	
Absolute sizing of stimuli can easily be turned off or adjusted via parameter settings.

___________________________________________________________________________________________________________________	
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: