Introduction
This is almost identical to the other Corsi task, except that this is slightly differently implemented. This implementation is slightly older. Best to compare and choose which one suits you best. |
The Corsi test or "Corsi block-tapping test" is a short term memory task conceptually similar to the digit span test. It is named after the creator Philip Michael Corsi, who developed this test as part of his doctoral training (PhD, you can download this original work from 1972, see references at bottom of this page).
Philip Corsi was supervised by the well-known neuropsychologist Brenda Milner. |
This task was originally not designed as a computer task.
In this task:
-
the experimenter (the person who carries out the study) shows nine blocks arranged in front of the participant,
-
the experimenter taps a sequence of blocks (for example, the experimenter taps a sequence of 3 different blocks, one after another),
-
the participant needs to tap the blocks that the experimenter showed, in the same order,
-
steps 1-3 are repeated multiple times with different lengths of blocks.
The block span or Corsi span is defined as the longest sequence a participant can correctly repeat. |
Kessels and colleagues (2000) carried out a study with healthy participants and participants with some form of brain damage. In their study, healthy adults had an average block span of 6.2 blocks (SD=1.3). Thus, if you are healthy, you are most likely to have a block span of somewhere between 5 and 7 blocks. That is, 68% of the population scores 1 standard deviation from the mean, so if you belong to this 68%, you would have a Corsi block span between 5 and 7 blocks. You can test this yourself with the demo below.
The normal (average) score is around 6. The highest possible block span in this task is 9. In principle, there might be people who can do better, but that will be quite rare. |
About this implementation
-
In this implementation, we start with a sequence of 2 blocks
-
Once the sequence has been shown, you hear the word "go" (if you have your speakers on)
-
You need to click with the mouse the blocks in exactly the same order as shown before
-
When you are done, you click the green block "done"
-
You get feedback (smiley face means you did it correct, or frowny face if you made a mistake)
-
If you do it correctly, you go the the next higher number of blocks
-
If you do it wrong, you get once more chance. If you do it then wrong again, you get your score (the Corsi block span)
Run the demo
In this example, you will carry out the Corsi task. You will see further instructions. You need a mouse and ideally you would have sound speakers (because after the sequence is shown, a voice will say "go"). But even without sound, it is fairly obvious when the sequence ends and when you need to start. |
Data output file
You do not need this information, unless you want to understand the output data file. You can ignore this if you just want to find out your own score. This is only necessary if you want to carry out the experiment with multiple participants. |
In PsyToolkit, the data output file is simply a textfile. The save line of the PsyToolkit experiment script determines what is being saved in the data output file. Typically, for each experimental trial, you would have exactly one line in your text file, and each number/word on that line gives you the information you need for your data analysis, such as the condition, response speed, and whether an error was made. |
Meaning of the columns in the output datafile. You need this information for your data analysis.
Colum | Meaning |
---|---|
1 |
The highest Corsi a span so far |
2 |
The number of items in the current trial to be remembered (starting with 2) |
3 |
Status of current trial (1=correct, 0=wrong) |
4 |
The table row from the table (this experiment comes with 500 random block arrangements and sequences) |
How to analyze data from experiments
When you embed a Corsi task in your survey, you need (as always), make sure you set the "analyze" parameters of your experiment. In this case, it is very simple, for the dependent variable you just use value 1, and you leave the other boxes empty.
You will get the highest Corsi span from the excel file with the max values.
PsyToolkit code
Click to expand the PsyToolkit script code (part of zip file below)
options
mouse on
origin topleft
set &Count 2 # starts with showing two blocks
bitmaps
yellow
purple
done
ticked
correct
wrong
instructions
ready1
ready2
ready3
fonts
arial 30
sounds
gosignal go.mp3
part delay
delay 300
clear -1
delay 300
table corsidata
include corsitable.txt
task corsi
table corsidata
# mouse off so that people cannot mouse during sequence presentation
mouse off
# show nine purple blocks
show bitmap purple @1 @2
show bitmap purple @3 @4
show bitmap purple @5 @6
show bitmap purple @7 @8
show bitmap purple @9 @10
show bitmap purple @11 @12
show bitmap purple @13 @14
show bitmap purple @15 @16
show bitmap purple @17 @18
show bitmap done 750 550
# now we are going to highlight some of the blocks (in yellow)
# there will always at least be two yellow blocks
# more yellow blocks depends on where we are in the expetiment (&Count)
show bitmap yellow @19 @20
part delay
show bitmap yellow @21 @22
part delay
if &Count > 2
show bitmap yellow @23 @24
part delay
fi
if &Count > 3
show bitmap yellow @25 @26
part delay
fi
if &Count > 4
show bitmap yellow @27 @28
part delay
fi
if &Count > 5
show bitmap yellow @29 @30
part delay
fi
if &Count > 6
show bitmap yellow @31 @32
part delay
fi
if &Count > 7
show bitmap yellow @33 @34
part delay
fi
if &Count > 8
show bitmap yellow @35 @36
part delay
fi
# go!
sound gosignal
mouse show # now show cursor again
delay 100 # not really necessary, but gives a bit of time between sound and people's response
# read in sequence
while $x != 10
readmouse l 1 10000 range 1 10
set $myMouseX MOUSE_X
set $myMouseY MOUSE_Y
set $x under $myMouseX $myMouseY up range 1 10
if $x != 10
set $counter increase
fi
if $counter == 1 && $x != 10
set $b1 $x
fi
if $counter == 2 && $x != 10
set $b2 $x
fi
if $counter == 3 && $x != 10
set $b3 $x
fi
if $counter == 4 && $x != 10
set $b4 $x
fi
if $counter == 5 && $x != 10
set $b5 $x
fi
if $counter == 6 && $x != 10
set $b6 $x
fi
if $counter == 7 && $x != 10
set $b7 $x
fi
if $counter == 8 && $x != 10
set $b8 $x
fi
if $counter == 9 && $x != 10
set $b9 $x
fi
show bitmap ticked $myMouseX $myMouseY ## it has to be here, check while-end javascript coding
while-end
set $x 0
# now check if sequence is correct
set $SeqCorrect 0 # this means wrong
if $counter == &Count
if &Count == 2 && $b1 == @37 && $b2 == @38
set $SeqCorrect 1
fi
if &Count == 3 && $b1 == @37 && $b2 == @38 && $b3 == @39
set $SeqCorrect 1
fi
if &Count == 4 && $b1 == @37 && $b2 == @38 && $b3 == @39 && $b4 == @40
set $SeqCorrect 1
fi
if &Count == 5 && $b1 == @37 && $b2 == @38 && $b3 == @39 && $b4 == @40 && $b5 == @41
set $SeqCorrect 1
fi
if &Count == 6 && $b1 == @37 && $b2 == @38 && $b3 == @39 && $b4 == @40 && $b5 == @41 && $b6 == @42
set $SeqCorrect 1
fi
if &Count == 7 && $b1 == @37 && $b2 == @38 && $b3 == @39 && $b4 == @40 && $b5 == @41 && $b6 == @42 && $b7 == @43
set $SeqCorrect 1
fi
if &Count == 8 && $b1 == @37 && $b2 == @38 && $b3 == @39 && $b4 == @40 && $b5 == @41 && $b6 == @42 && $b7 == @43 && $b8 == @44
set $SeqCorrect 1
fi
if &Count == 9 && $b1 == @37 && $b2 == @38 && $b3 == @39 && $b4 == @40 && $b5 == @41 && $b6 == @42 && $b7 == @43 && $b8 == @44 && $b9 == @45
set $SeqCorrect 1
fi
fi
## feedback (a smiley or frowney face in bottom right corner)
if $SeqCorrect == 1
show bitmap correct 750 550
fi
if $SeqCorrect == 0
show bitmap wrong 750 550
fi
delay 1000
clear -1
delay 1000
## now goto next seq if correct twice
set $currentcount &Count
if $SeqCorrect == 1
set &corsispan &Count ## the best score so far
set &Count increase
set &ErrorCount 0
fi
## count errors in a row
if $SeqCorrect == 0
set &ErrorCount increase
fi
## save data
save &corsispan $currentcount $SeqCorrect TABLEROW
## if two errors in a row or if all are correctly clicked, end of task
if &ErrorCount == 2 or &Count == 10
end tasklist
fi
block test
message instructions
bitmap ready3
delay 1000
bitmap ready2
delay 1000
bitmap ready1
delay 1000
tasklist
corsi 100 all_before_repeat
end
feedback
text 0 400 &corsispan ; prefix "Your Corsi span is " ; postfix " items."
text 0 500 "Press space bar to continue"
end
Download
If you have a PsyToolkit account, you can upload the zipfile directly to your PsyToolkit account. Watch a video on how to do that. If you want to upload the zipfile into your PsyToolkit account, make sure the file is not automatically uncompressed (some browsers, especially Mac Safari, by default uncompress zip files). Read here how to easily deal with this. |
Further reading
-
Corsi, P.M. (1972). Human memory and the medial temporal region of the brain. Doctoral Thesis at McGill University (Canada). Download from here. (in the search box, type "Corsi")
-
Kessels, R.P.C., van Zandvoort, M.J.E., Postman, A., Kapelle, L.J., & de Hand, E.H.F. (2000). The Corsi Block-Tapping Task: Standardization and Normative Data. Applied Neuropsychology, 7(4), 252-258.