Return to the Corsi Block Tapping Task page
___________________________________________________________________________________________________________________	

									Corsi Block-Tapping Task (Forward)
									(including normative data)
___________________________________________________________________________________________________________________

Script Author: David Nitz (dave@millisecond.com) for Millisecond Software, LLC (backward task)

last updated:  01-24-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC
Script Copyright © 01-24-2020 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
	This script implements the Forward Corsi Block Tapping Task; a measure of spatial working memory.
	The script provides normative data (Kessels et al, 2000)
	
	The implemented procedure is 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 same order they were lit.
The sequence length starts at level = 2 boxes and can increase to up to level 9. Participants get 2 chances
at each sequence length. If one of the sequences was entered correctly, 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_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
script.sessionid:					with the current session id

ageGroup:							stores the age group information IF parameters.runAgeQuestion is set to 'true'
									1: age <= 20; 
									2: 21 < age < 40; 
									3: age > 40
										Note: based on Kessels et al (2000, table3). Due to overlapping age brackets reported in Kessels
										et al (2000, table 3) for age group 1 and 2, in this script age group 1 includes age 20 
										and age group 2 starts at age 21

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 (forward)
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.(Max = 16)
blockspan:					The achieved Block Span. Equals the length of the last correctly recalled sequence (Max = 9)

totalscore:					Summary score proposed by Kessels et al. (2000). Computed as 
								'values.blockspan' * 'values.ncorrecttotal'.(Max = 9 * 16 = 144)
									

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

computer.platform:				the platform the script was run on (win/mac/ios/android)
script.startdate:					date script was run
script.starttime:					time script was started
script.subjectid:					assigned subject id number
script.groupid:					assigned group id number
script.sessionid:					assigned session id number
script.elapsedtime:				time it took to run script (in ms); measured from onset to offset of script
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.
									The achieved Block Span. Equals the length of the last correctly recalled sequence (Max = 9)
z_Blockspan:						the z-score of the obtained Blockspan with mean (6.2) and SD (1.3) (see Kessels et al, 2000, table 2)
p_Blockspan:						the percentile of the obtained Blockspan z-score

totalscore						Summary score proposed by Kessels et al. (2000). Computed as 'values.blockspan' * 'values.ncorrecttotal'.
z_Totalscore:					the z-score of the obtained Totalscore with mean (55.7) and SD (20.3) (see Kessels et al, 2000, table 2)
p_Totalscore:					the percentile of the obtained Totalscore z-score

ageGroup:							stores the age group information IF parameters.runAgeQuestion is set to 'true'
									1: age <= 20; 
									2: 21 < age < 40; 
									3: age > 40
										Note: based on Kessels et al (2000, table3). Due to overlapping age brackets reported in Kessels
										et al (2000, table 3) for age group 1 and 2, in this script age group 1 includes age 20 
										and age group 2 starts at age 21
										
										
p_Totalscore_byAge:				the interpolated totalscore percentile based on age (see Kessels et al, 2000, table 3)
									Note: only calculated if parameters.runAgeQuestion is set to 'true' (default)

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

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

	blockcolor				Display color for blocks in unhighlighted state.
	tapcolor					Display color for currently highlighted ('tapped') blocks.
	boardcolor				Display color for the virtual game board.
	blocksize				Size of blocks in % of canvassize.
	
	showfeedback			'true' -> show performance feedback after each completed sequence.
							'false' -> don't show performance feedback after each completed sequence.
							Default is 'true
							
	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.
							
	feedbackduration			Duration of performance feedback after recalling a sequence.
	
	runAgeQuestion			true (1): the user's age can be entered in a textbox before running the task (default)
							false (0): no age information of the participant is sought