Return to the Sperling's Classic Partial Report Procedure page
Class Sperling Task
Script Author: Katja Borchert, Ph.D. (email@example.com) for Millisecond Software, LLC
last updated: 04-23-2019 by K.Borchert (firstname.lastname@example.org) for Millisecond Software LLC
Script Copyright © 04-23-2019 Millisecond Software
This script implements an approximation of the classic Sperling task to investigate iconic memory as described in:
Sperling, G. (1960). The information available in brief visual presentations. Psychological Monographs, 74(11), 1-29.
IMPORTANT NOTE: Sperling (1960) used a tachistoscope for his 7 studies.
This script adapts his procedures to the computer screen.
Participants focus on a fixation cross in the middle of the screen. When they feel ready, they can press
the Spacebar. One of 4 types of consonant letter matrices (2x3 = 33, 2x4 = 44, 3x3 = 333, 3x4= 444) appears in the
center for a short duration. For partial reports, a tone indicates which row of the matrix to
concentrate on and participants are asked (in this script) to enter their recalled letter in provided textboxes.
The default set-up of this script only runs: 3x3 matrices
DATA FILE INFORMATION:
The default data stored in the data files are:
(1) Raw data file: 'classicsperlingtask_raw*.iqdat' (a separate file for each participant)*
build: Inquisit build
computer.platform: the platform the script was run on
date, time, subject, group: date and time script was run with the current subject/groupnumber
/reporttype: 1 = partial report; 2 = whole report (tested in blocked design in this script)
blockcode, blocknum: the name and number of the current block
trialcode, trialnum: the name and number of the currently recorded trial
(Note: not all trials that are run might record data; by default data is collected unless /recorddata = false is set for a particular trial/block)
/exposureduration: current exposure duration
/signaldelay: current signal delay
/nr_rows: number of rows of the current matrix
/nr_columns: number of columns of the current matrix
/training: 0 = actual test trials; 1 = training trials
/row3string: stores the string of letters by matrix row
/targetrow: the row that should be recalled in partial reports (1-3)
/soundfile: stores the current sound file (relevant only for partial reports)
/row3string_r: stores the response by row (the string of letters of each matrix row as responded)
/countcorrect_pos: counts the correctly recalled letters (correct letter in correct position) for the current matrix/row
/countcorrect: counts the correctly recalled letters (independent of position)
/repeat: 0 = no letter is repeated in the recalled matrix ; 1 = there was at least one repeated letter in the recalled matrix
=> if values.repeat = 1 the response is considered invalid (is NOT included into the descriptive summary statistics)
(2) Summary data file: 'classicsperlingtask_summary*.iqdat' (a separate file for each participant)*
script.startdate: date script was run
script.starttime: time script was started
script.subjectid: subject id number
script.groupid: group id number
script.elapsedtime: time it took to run script (in ms)
computer.platform: the platform the script was run on
/completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)
/mean_p444_row3: mean number of correctly recalled letters of a specific targetrow in partial (p) reports by matrix size
(e.g. mean_p33_row1 => mean number of correctly recalled letters for targetrow 1 for partial report for matrix 33 (2 rows, 3 columns))
/mean_p444: mean number of correctly recalled letters in partial (p) reports by matrix size
/estW_p444: estimated mean number of correctly recalled letters of the whole matrix based on partial reports by matrix size
=> mean number of correctly recalled letters in partial (p) reports * number of rows of the whole matrix
/mean_w444: mean number of actually recalled letters of the whole matrix by matrix size
* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions
Default procedure for ClassicSperlingTask.iqx:
1 = generalinstructions (presents general instructions for the task)
2 = instructions_WR (presents instructions for the WP procedure)
3 = demo_WR (runs 1 33-matrix sequence)
4 = start (runs the start instructions)
5 = w333 (runs 30 trials with 3x3 matrices for whole reports)
6 = instructions_PR (presents instructions for the PP procedure)
7 = tonetraining (add a tone training; see more info below)
8 = demo_PR (runs 1 33-matrix sequence)
9 = start (runs the start instructions)
10 = p333 (runs 30 trials with 3x3 matrices for partial reports)
Tone Training for PR procedure:
There are 3 tones used for the PR procedure in this script (-> item.signals).
The highest tone signals row 1 (= top); the intermediate tone signals row 2 (regardless of whether there are 2 or 3 rows);
the deepest tone signals row 3 (only used in matrices with 3 rows).
Block.tonetraining introduces these tones to the participants and adds a brief tone training (a tone is played and participants
have to press 1, 2, 3 to indicate which row was signaled) with 15 trials (5 trials per tone). The tone training
can be repeated as many times as participants want it to.
Before the actual test, participants are given one Demo trial for either the WR or the PR procedure.
Only 2x3 matrices are used for the demos. No feedback is given to participants.
- By default, participants are asked to work throught the WR procedure and the PR procedure (counterbalanced
by groupnumber). Go to section EXPERIMENT to learn more about how to change this default setting.
- The first 10 trials in each test block are considered training trials and responses don't count towards summary variables.
- The default background of the screen for all trial sequences is black with a gray center field in which the
matrices appear in black on white (size/screen location of matrices as well as color/size of exposure field can be edited
via EDITABLE CODE -> Editable Values)
The matrices are removed by covering them up with the gray center field for 500ms.
- Participants are asked to enter their responses in provided textboxes.
fixation cross (waits for spacebar response)->delay of 500ms: letter matrix for 500ms (default)->mask for 500ms (+signal)-> response screen
The following changes can be implemented:
(1) Type of report (partial vs. whole): tested in blocked design => go to section EXPERIMENT and change the type of blocks run
by the script.
By default: whole and partial procedure are both run (order counterbalanced by groupnumber).
(2) Number of rows and columns (sizes of matrices):
the script provides code to run 2 x 3 ('33'), 2 x 4 ('44'), 3 x 3 ('333'), 3 x 4 ('444') matrices.
Go to section EXPERIMENT/BLOCKS to customize which matrices to run.
By default: only 3x3 matrices are run
(3) Matrix exposure duration: change under EDITABLE CODE -> Editable Lists
Default: 500ms only
(4) Response delay duration (relevant for partial reporting): change under EDITABLE CODE -> Editable Lists
Default: 0ms only
(5) Number of trials: change under EDITABLE CODE -> Editable VALUES !AND! under section BLOCKS
Default: 30 per matrix
(6) Pre and Post-Exposure field size and color -> EDITABLE CODE -> Editable VALUES
The matrices select randomly from 21 consonants (-> list.consonant) with no repeated letters.
The appearance of the matrices (size and location) can be fine-tuned via EDITABLE CODE -> Editable Values
Instructions are not original to Sperling (1960). They are provided by Millisecond Software LLC.
Instructions are mainly provided via image slides. To change the instructions, replace the
image slides (EDITABLE CODE -> Editable Instructions)
The default set-up of the entire script takes appr. 40 minutes to complete
Whole Report: 30 test trials of trial.w333 (3x3 matrices) ~ 15 minutes
Partial Report: 30 test trials of trial.p333 (3x3 matrics) ~ 10 minutes
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.
/nr_criticaltrialspermatrix: number of critical (aka count towards descriptive summary statistics) trials per matrix (default: 30)
!!!If this number is changed, go to section BLOCK and follow instructions change the number
of trials run during test blocks accordingly
Note: Number should be divisible by 2 and 3.
/fixationcrossposttrialpause: pause (in ms) after fixation cross disappears and matrix is presented (default: 500ms)
Appearance of Matrices:
/boxheight: the height of the individual matrix boxes that contain the letters in percentage of canvas height (default: 15%)
fixationcrossheight: the height of the fixation cross in percentage of canvas height (default: 5%)
/y_matrix_444: the coordinates for the different matrices (33 -> 444)
Size/Color of the Pre and Post Exposure Fields:
/exposurefield_width: width (in percentage of canvas width) of the exposure field (default: 70%)
/exposurefield_height: height (in percentage of canvas height) of the exposure field (default: 70%)
/preexposurefield_r: the red component of the preexposure field (default: 100)
/preexposurefield_g: the green component of the preexposure field (default: 100)
/preexposurefield_b: the blue component of the preexposure field (default: 100)
/postexposurefield_r: the red component of the postexposure field (default: 100)
/postexposurefield_g: the green component of the postexposure field (default: 100)
/postexposurefield_b: the blue component of the postexposure field (default: 100)
/fixationcolor: the color of the fixation cross (default: black)