User Manual: Inquisit Counting Span Test (Keyboard)


___________________________________________________________________________________________________________________	

									COUNTING SPAN TEST - keyboard input
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 03-27-2013
last updated:  02-21-2022 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 02-21-2022 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This script implements the Counting Span Test as described in:

Case, R., Kurland, M. D., & Goldberg, J. (1982). Operational efficiency and the growth of short-term memory span. 
Journal of Experimental Child Psychology, 33, 386-404.

and (for number of targets on the cards):

Cowan, N., Towse, J. N., Hamilton, Z., Saults, J. S., Elliott, E. M.,
Lacey, J. F., et al. (2003). Children’s working-memory processes: A response-timing analysis. 
Journal of Experimental Psychology: General, 132, 113-132.

This script adapts the Counting Span Test to the computer with keyboard input.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
Participants are presented cards with green and yellow dots and are asked to count the number of green dots on
each card and press the corresponding keyboard key. After a certain amount of cards (starting with a span size of 1 and going up to 5), 
participants are asked to remember the number of dots they counted for each card, starting with the first card and going in order.
The responses are typed into free recall boxes.

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

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

(1) Raw data file: 'countingspantest_keyboardinput_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

spanevaluation:						1 = lenient: as long as the first sum recalled is not the last sum counted,
									the order of the recalled sums is not important (see Case et al (1982), p.397) - default
									2 = conservative: the order of the recalled sums needs to be in the correct order

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. 
										
span:								contains the span size of the current set
image:								contains the currently presented dot image
setcount:							counts the number of sets run for each span size
cardnumber:							count of cards presented within a set
countrecall:						running count of the cards recalled
targetcount:						number of target dots on the currently presented card

response:							the participant's response for the currently recorded trial
									Span Trials: records the scancode of the response button pressed
									scancode 2 => '1' was entered
									scancode 3 => '2' was entered
									...
									scancode 10 => '9' was entered
									Recall Trials: records the entered number
									
countresponse:						the dot count entered by participant for the currently presented card (translated from scancode)
correct:							the correctness of the response for the currently recorded trial (1=correct; 0 = otherwise)
latency: 							the response latency (in ms) of the currently recorded trial; measured from onset of trial
correctrecall:						1 = sums are correctly recalled; 0 = sums not correctly recalled

sum_correct1- 					
sum_correct5:						contains the number of times participant correctly recalled the sums of a given span
									(Range: 0-3; as there are three cards per set size)
								
highestspan:						finds the highest span level at which participant correctly recalled 2 out of 3 sets
									used to determine final counting span in trial.countingspan
								
countingspan:						contains the final countingspan
									Counting Span Scoring: This script follows the scoring guidelines by Case et al (1982, p.397):
											"Subjects were assigned a span score equal to the highest level at which
											they were able to recall two out of three sets correctly. If any additional
											sets were recalled correctly at a higher level, an additional third of a
											point was allotted. Thus, for example, if a subject recalled all three sets
											correctly at the first level and one out of three at the second level, a
											score of 1.3 was assigned."
											
											
(2) Summary data file: 'countingspantest_keyboardinput_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)

spanevaluation:						1 = lenient: as long as the first sum recalled is not the last sum counted,
									the order of the recalled sums is not important (see Case et al (1982), p.397) - default
									2 = conservative: the order of the recalled sums needs to be in the correct order

1A1-5C5								contain the number of green dots recalled for each card presented
										Examples: 
											1A1 => span1, setA, card1
											5C5 => span5, setC, card5

highestspan:						finds the highest span level at which participant correctly recalled 2 out of 3 sets
									used to determine final counting span in trial.countingspan
									
CountingSpan:						contains the final countingspan
									Counting Span Scoring: This script follows the scoring guidelines by Case et al (1982, p.397):
											"Subjects were assigned a span score equal to the highest level at which
											they were able to recall two out of three sets correctly. If any additional
											sets were recalled correctly at a higher level, an additional third of a
											point was allotted. Thus, for example, if a subject recalled all three sets
											correctly at the first level and one out of three at the second level, a
											score of 1.3 was assigned."

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________
a) span sizes tested: 1-5 => block.span1 - block.span5
b) repetitions of span size: 3 (in a row)
=> move on to next span size if the sums of at least 1 of the 3 sets of a particular span size were recalled correctly
c) cards and set sizes were presented in a fixed ascending order to each participant
d) ranges of target dots: 3-9 targets (=green dots) on each screen (Cowan et al, 2003), no repetitions of the same sum in a set, 
3-9 distractors on each screen (=yellow dots); varied independently from targets.
e) Experiment runs 1 practice block followed by span1, span2...span5 (blocks are skipped if participants don't 
recall one of 3 sets for a given span correctly)

TRIAL SEQUENCE
- Trial.start_setN: screen announcing a new set for span N
- Trial.setN: first card is presented: only correct response (keyboard numbers) allows participants to move onto the next trial; 
	errors receive errormessage (incorrect response is noted in datafile) but participant has to correct response before moving on
	=> loops until all cards for the current span size and set have been presented
- Openended.recallN: first recall screen appears for the current set after a predetermined posttrialpause (editable value)
	=> loops until all sums for the current span and set have been recalled (responses typed into free recall response boxes)
- Trial.evaluationN: determines whether sum recall of the current set was correct.
	Evaluation depends on whether a lenient or a conservative strategy should be used (can be set under Editable Values -> parameters.spanevaluation):
	Lenient (Case et al, 1982, p. 397):  evaluation checks that the first recalled screen is NOT equal to the last one seen
	but otherwise the order of the recalled sum is not important. If all the sums are recalled correctly (regardless of order), then 
	the set recall is evaluated to be correct.
	Conservative: the order of the recalled sums is important and should equal the order of the presented sums. If the order and all the sums
	are recalled correctly, the set recall is evaluated to be correct.
	=> if parameters.sequentialsets = 1 AND not all sets have been run for a particular span size, the trial calls trial.start_setN once more

PRACTICE
* Researchers can decide whether to run practice trials with a span size of 1 (default) or 2 under EDITABLE CODE -> Editable Values -> parameters.practiceN
* Participants get practice with the chosen span size as often as it takes to obtain correct recall performance once (after using up 4 cards, 
the cards get reused)
- practice provides recall performance feedback
- practice provides a reminder to use keyboard keys for sum input

ADDING LEVELS OF N
This script provides instructions about how to add levels of N tested. Look for instructions at the very end of this script.

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________	
The cards that are supplied with this script can be easily exchanged under EDITABLE CODE -> Editable Stimuli

Target dots (green) and distractor dots (yellow) were generated independently by a random generator 
(neither target sum nor distractor sum were allowed to repeat in a given set). An approximate random arrangement 
of targets and distractors on the cards was attempted.

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
Instructions can be easily edited under 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:

/spanevaluation:				 	1 = lenient: as long as the first sum recalled is not the last sum counted,
									the order of the recalled sums is not important (see Case et al (1982), p.397) - default
									2 = conservative: the order of the recalled sums needs to be in the correct order
								
/sequentialsets:					1 = all three sets (A, B, C) are called in sequence (default) for each span size
									2 = only one set per span size is called per rotation through all span sizes;
								
/practiceN:							can be set to 	1: practice is done with span 1; or 
									2: practice is done with span 2

Values to adjust size of cards:									
/cardwidth
/cardheight							sizes in proportion of canvas size

Duration Variables:
/posttrialpause: 					sets the pause after each card presentation in ms (default: 500ms)