Counting Span Test - Keyboard

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 27, 2013

Last Modified: January 28, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements the Counting Span Test, a measure of working memory by Case et al (1982). The counting and recall procedures implemented in this script collect written/keyboard input.

References

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.

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.

Duration

10 minutes

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 9), 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 a free recall box.

Procedure

a) span sizes tested: 1-9
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 (reset on level 8),
3-9 distractors on each screen (=yellow dots); varied independently from targets.
e) Experiment runs 1 practice block followed by span1, span2...span9 (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: recall screen appears for the current set after a predetermined posttrialpause (editable value)
Participant is asked to enter the target dot counts in sequence
- 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.

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

Scoring

Countingspan
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."

Summary Data

File Name: countingSpantest_keyboardinput_summary*.iqdat

Data Fields

NameDescription
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
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)
2 = conservative: the order of the recalled sums needs to be in the correct order
highestSpan Finds the highest span level at which participant correctly recalled 2 sets
used to determine final counting span in trial.countingSpan
countingSpan Contains the final countingSpan
correctCounts A summary variable that stores the correct counts for all tested levels
Example: ["3","3","3","2","2","1","0"]
=> level1: 3 correct; level2: 3 correct .....=> level7: 0 correct (testing stopped)
recallSummary A summary variable in JSON style that stores the entire recall history

Raw Data

File Name: countingSpantest_keyboardinput_raw*.iqdat

Data Fields

NameDescription
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
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)
2 = conservative: the order of the recalled sums needs to be in the correct order
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.
phase "practice" vs. "test"
span Contains the span size of the current set
image Contains the currently presented dot image
set Counts the number of sets run for each span size
targetSeq Stores the target sequence
cardNumber Count of cards presented within a set
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
responseText Scancode translation into actual button pressed
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
recalledSeq Stores the recalled sequence
correctCounts A summary variable that stores the correct counts for all tested levels
Example: ["3","3","3","2","2","1","0"]
=> level1: 3 correct; level2: 3 correct .....=> level7: 0 correct (testing stopped)
sumCorrectLevel Tracks the number of correct recall responses for the current level
recallSummary A summary variable in JSON style that stores the entire recall history
highestSpan Finds the highest span level at which participant correctly recalled 2 sets
used to determine final counting span in trial.countingSpan
countingSpan Contains the final countingSpan

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design Parameters
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
the lenient evaluation breaks down for spans > 5 (this is due to the fact that
the cards don't repeat digits until all digits from 3-9 have been used once)
2 = conservative: the order of the recalled sums needs to be in the correct order
2
practiceN Can be set to
1: practice is done with span 1; or
2: practice is done with span 2
1
maxNumberOfRoundsPerLevel This stores the maximum number of rounds run per level
the selection of actual spans to be tested is controlled by list.nextSpan
Notes
- this number should not be larger than 3
- check list.nextSpan/list.setsPerSpan to ensure that each level is represented the adequate number of times
3
Sizing Parameters
cardWidth Sizes in proportion of canvas size50%
cardHeight 100%
Timing Parameters
posttrialPause Sets the pause after each card presentation in ms500