___________________________________________________________________________________________________________________ *Adaptive Composite Complex Span Test (ACCES)* Subtest: Operation Span Test (OSPAN) ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 05-29-201904 last updated: 10-21-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 10-21-2024 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements the Operation Span test subtest of the Adaptive Composite Complex Span Test (ACCES); an adaptive test of working memory with visuospatial ("symmetry span test"), mathematical ("operation span test") and verbal subtests ("reading span test"). The ACCES was developed by Gonthier et al (2018). According to the authors "the test presents a fixed number of trials to all participants, allows for partial credit scoring, and can be used with children regardless of ability level. The ACCES demonstrated satisfying psychometric properties in a sample of 268 children aged 8┌13 years." (p.910) All materials for the ACCES ┌ including the stimuli, an open source implementation of the task script under PsychoPy (Peirce, 2007), and all validation data ┌ can be accessed via the Open Science Framework platform at https://osf.io/bk7pm/. Norms in this script (based on grade level) use the data provided by Gonthier et al (2018) collected with a sample of French students. Reference: Gonthier, C., Thomassin, N., & Roulin, J.-L. (2016). The Composite Complex Span: French validation of a short working memory task. Behavior Research Methods, 48(1), 233-242. doi:10.?3758/?s13428-015-0566-3 Gonthier C, Aubry A, Bourdin B. (2018). Measuring working memory capacity in children using adaptive tasks: Example validation of an adaptive complex span. Behav Res Methods. Jun;50(3):910-921. doi: 10.3758/s13428-017-0916-4. PMID: 28643158. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants work on 6 operation span test trials. Levels for each trial (after the first) are adapted based on performance. Operation Span Test: a dual task involving the evaluation of simple math problems (e.g. '2 + 2 = 5') while also studying letters for a later recall test: Evaluation of Math Problem -> Letter Learning -> Evaluation of Math Problem -> Letter Learning.....-> Letter Recall The number of 'Math-evaluations/Letter learning' combos depends on the level of difficulty (=span size) of the current test trial. All participants start at level 4. Depending on performance they move up, stay on the same level, or go down a level. The lowest level tested is level 2; the highest level tested is level 8. The task provides 3 practice session before the actual 6 test trials are run: Practice 1: training of the letter recall task Practice 2: training of the math evaluation task Practice 3: dual training of the combined task ___________________________________________________________________________________________________________________ Duration ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 9 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'acces_ospan_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 (winmaciosandroid) date, time: date and time script was run subject, group: with the current subject/groupnumber session: with the current session id 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. age: the entered age of the participant gradeLevel: the entered grade level of the participant gender: the entered gender of the participant phase: stores the name of the current task phase roundCount: counts the rounds ("trials") run in the current phase currentLevel: stores the levelspansize tested in the current round *************************************** Processing Task Variables: *************************************** processingTaskProblem: stores the current processing task problem (e.g. math problem) presented correctResponse: stores the correct response to the current processing task problem (TRUE vs. FALSE) processingTaskResponse: stores the given response to the current processing task problem (TRUE vs. FALSE) processingTaskAcc: stores the accuracy of the processing task response 1 = correct 0 = error processingTaskCumAcc: stores the number of correct processing task responses *************************************** Memory Task Variables: *************************************** stim: stores the current recall stim (e.g. letter) presented currentStims: stores the collected recall stims of the current round in the order presented recallResponse: stores the recall stims of the current round in the order selected on the recall matrix numberStimsRecalled: stores the number of correctly recalled stims of the current round totalStimsRecalled: stores the total number of correctly recalled stims during the current task stimulusItem: the presented stimuli in order of trial presentation of the currently recorded trial response: the participant's response of the currently recorded trial correct: accuracy of response: 1 = correct response; 0 = otherwise of the currently recorded trial latency: the response latency (in ms) of the current trial (2) Summary data file: 'acces_ospan_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) age: the entered age of the participant gradeLevel: the entered grade level of the participant gender: the entered gender of the participant osDurationS: the OSPAN task duration in seconds osTotalStimsRecalled: the total number of letters recalled across all 6 OSPAN test rounds osZScore: the calculated z-score of the total number of recalled letters across all 6 OSPAN test rounds osPercentile: the calculated percentile of the z-score of the total number of recalled letters across all 6 OSPAN test trials Note: mean and standard deviation used to calculate z-scorespercentile ranks are based on published data by Gonthier et al (2018) using a sample of French students. For more detail see Gonthier et al (2018). list.osProcessingAccOverall.mean: the mean proportion correct Processing Task ('math problems') performance across all 6 OSPAN test rounds osProcessingTaskFlag: 1 = the mean proportion correct OSPAN Processing Task ('math problems') performance is below 70% correct (OSPAN performance is flagged) 0 = otherwise (OSPAN performance is not flagged) list.osCurrentLevels.mean: the average OSPAN span size worked on list.osCurrentLevels.minimum: the minimum OSPAN span size worked on (lowest possible span size tested: 2) list.osCurrentLevels.maximum: the maximum OSPAN span size worked on (highest possible span size tested: 8) osLevel2Count: number of times span size 2 was run during the OSPAN osLevel3Count: number of times span size 3 was run during the OSPAN osLevel4Count: number of times span size 4 was run during the OSPAN osLevel5Count: number of times span size 5 was run during the OSPAN osLevel6Count: number of times span size 6 was run during the OSPAN osLevel7Count: number of times span size 7 was run during the OSPAN osLevel8Count: number of times span size 8 was run during the OSPAN *************************************** OSPAN Descriptive Statistics by Round: *************************************** osLevelRound1: OSPAN span size tested during Round 1 (by default: 4) osProblemCumAccRound1: number of correctly answered OSPAN Processing Task ('math task') problems during Round 1 osProcessingAccRound1: proportion correct OSPAN Processing Task ('math task') performance during Round 1 osStimsRound1: the presented OSPAN recall stims ('letters') during Round 1 (in the order presented) osRecallResponseRound1: the recalled OSPAN stims ('letters') during Round 1 (in the order selected) osNumberStimsRecalledRound1: the number of correctly recalled OSPAN stims ('letters') during Round 1 osLevelRound2: OSPAN span size tested during Round2 osProblemCumAccRound2: number of correctly answered OSPAN Processing Task ('math task') problems during Round2 osProcessingAccRound2: proportion correct OSPAN Processing Task ('math task') performance during Round2 osStimsRound2: the presented OSPAN recall stims ('letters') during Round2 (in the order presented) osRecallResponseRound2: the recalled OSPAN stims ('letters') during Round2 (in the order selected) osNumberStimsRecalledRound2: the number of correctly recalled OSPAN stims ('letters') during Round2 osLevelRound3: OSPAN span size tested during Round3 osProblemCumAccRound3: number of correctly answered OSPAN Processing Task ('math task') problems during Round3 osProcessingAccRound3: proportion correct OSPAN Processing Task ('math task') performance during Round3 osStimsRound3: the presented OSPAN recall stims ('letters') during Round3 (in the order presented) osRecallResponseRound3: the recalled OSPAN stims ('letters') during Round3 (in the order selected) osNumberStimsRecalledRound3: the number of correctly recalled OSPAN stims ('letters') during Round3 osLevelRound4: OSPAN span size tested during Round4 osProblemCumAccRound4: number of correctly answered OSPAN Processing Task ('math task') problems during Round4 osProcessingAccRound4: proportion correct OSPAN Processing Task ('math task') performance during Round4 osStimsRound4: the presented OSPAN recall stims ('letters') during Round4 (in the order presented) osRecallResponseRound4: the recalled OSPAN stims ('letters') during Round4 (in the order selected) osNumberStimsRecalledRound4: the number of correctly recalled OSPAN stims ('letters') during Round4 osLevelRound5: OSPAN span size tested during Round5 osProblemCumAccRound5: number of correctly answered OSPAN Processing Task ('math task') problems during Round5 osProcessingAccRound5: proportion correct OSPAN Processing Task ('math task') performance during Round5 osStimsRound5: the presented OSPAN recall stims ('letters') during Round5 (in the order presented) osRecallResponseRound5: the recalled OSPAN stims ('letters') during Round5 (in the order selected) osNumberStimsRecalledRound5: the number of correctly recalled OSPAN stims ('letters') during Round5 osLevelRound6: OSPAN span size tested during Round6 osProblemCumAccRound6: number of correctly answered OSPAN Processing Task ('math task') problems during Round6 osProcessingAccRound6: proportion correct OSPAN Processing Task ('math task') performance during Round6 osStimsRound6: the presented OSPAN recall stims ('letters') during Round6 (in the order presented) osRecallResponseRound6: the recalled OSPAN stims ('letters') during Round6 (in the order selected) osNumberStimsRecalledRound6: the number of correctly recalled OSPAN stims ('letters') during Round6 *************************************** OSPAN Training Performance: *************************************** osSpanTaskTrainingCount: the number of times the OSPAN span task training was run (OSPAN practice 1) osProcessingTaskTrainingCount: the number of times the OSPAN processing task training was run (OSPAN practice 2) osDualTaskTrainingCount: the number of times the OSPAN span task training was run (OSPAN practice 3) *************************************** OSPAN Processing Task duration: *************************************** osProcessingTaskMaxDuration: the maximum duration (in ms) that OSPAN processing Task problems ('math problems') are presented during the Dual Task Training block (=practice3) and the actual Test rounds. This duration was calculated based on the Median Processing Task Duration during the Processing Task Training (=practice2): 'OS ProcessingTask medianRT' + 2.5 x 'OS Processing Task MAD RT' osProcessingRTMedian: the median response latency answering OSPAN processing task problems ('math problems') during practice2 osrocessingRTMAD: Median Absolute Deviation (MAD) of response latencies answering OSPAN processing task problems during practice2 ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ Note: level = span size 4 phases: PHASE 1: Practice 1 -Letter Recall Training ("Memory Task") Participants work on 2 trials (level 2, followed by level 3) with a fixed set of stimuli for each round. During this phase, they only work on the letter recall task (no math problems are presented) Trial Sequence: blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) -> Letter (800ms) -> Blank (800ms) -> Letter (800ms) -> Blank (800ms) -> .......-> Blank (700ms) -> Recall Screen (as long as needed, corrections possible) -> Feedback (3000ms) At the end of Practice1, recall performance is analyzed and the practice block is repeated IF mean recall performance is under 70% correct. (recall performance: the number of letters correctly recalled in the exact position of presentation) PHASE 2: Practice 2 - Math Statement Evaluation Training ("Processing Task") Participants work on 10 math statements (e.g. "2 + 2 = 6") and evaluate them to be 'true' or 'false'. The math statements are the same for each participant and are presented in fixed order. No letter recall task is run. Trial Sequence: blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) -> Math Statement (max. 8000ms) -> Feedback (3000ms) -> Blank (150ms) -> Math Statement (max. 8000ms) -> Feedback (3000ms).... At the end of this practice round, evaluation performance is analyzed and the practice block is repeated if the proportion correctly evaluated math statements is under 70% correct. Furthermore, the duration of the math problem presentation for the test trials is calculated: median time (in ms) the problems were answered + 2.5 x Median Absolute Deviation (MAD). (Range: 2000ms - 8000ms) PHASE 3: Practice 3 - Dual Task Training Participants work on 2 combined trials (level 2, level 3). The stimuli are the same for all participants and are presented in fixed order. Trial Sequence: blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) -> Math Statement (calculated presentation time during practice 2) -> Blank (150ms) -> Letter (800ms) -> Blank (800ms) -> Math Statement (calculated presentation time during practice 2) -> Blank (150ms) -> Letter (800ms) -> Blank (800ms) -> ..... Letter (800ms) -> Blank (700ms) -> Recall Screen -> Summary Feedback (3000ms) PHASE 4: Test (Dual Task) Participants work on 6 combined trials (starting level = 4; levels are adjusted based on performance thereafter). Each trial (1-6) presents the stimuli from the same stimuli lists in the same order (though not all participants will work on all the possible stimuli of a particular trial as this is level dependent). No more feedback is provided. Trial Sequence: blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) -> Math Statement (calculated presentation time during practice 2) -> Blank (150ms) -> Letter (800ms) -> Blank (800ms) -> Math Statement (calculated presentation time during practice 2) -> Blank (150ms) -> Letter (800ms) -> Blank (800ms) -> ..... Letter (800ms) -> Blank (700ms) -> Recall Screen During each round, the computer calculates a. processing task performance (here: math performance) b. recall performance - the number of correctly recalled letters - the total number of correctly recalled letters At the end of each round, the next level is determined based on recall performance: 1. levels goes down by 1 for recall performance less than 60% 2. levels stay the same for 60% <= recall performance < 100% 3. levels go up by 1 for perfect recall performance (100% correct) ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ All stimuli are provided by Gonthier et al (2018) All materials for the ACCES ┌ including the stimuli, an open source implementation of the task script under PsychoPy (Peirce, 2007), and all validation data ┌ can be accessed via the Open Science Framework platform at https://osf.io/bk7pm/. ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ Instructions are modelled after the ones used in the e-prime script provided by Gonthier et al (2018). The instructions in this script are provided by as htm/html pages and can be edited by changing the provided htm/html files. To edit htm/html-files: open the respective documents in simple Text Editors such as TextEdit (Mac) or Notepad (Windows). Note: in order for the instructions to reflect alternative parameter settings, some of the conditionalized code used in the htm files can be found in the script itself. ___________________________________________________________________________________________________________________ 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 (see below): //User Interface Sizing Parameters; / osFixationCrossHeight = 30% //sets the size of the fixation cross (presented during practice blocks) relative to canvas height / osMatrixSize = 65% //sets the size of the recall matrix relative to the canvas / osProblemHeight = 10% //sets the height of the presented equations relative to canvas height / osStimHeight = 20% //sets the height of the letters (to be recalled) relative to canvas height //Duration Parameters: / osPreFixationDuration = 700 //sets the duration (in ms) of the blank space that precedes the fixation cross at the beginning of each trial / osFixationDuration = 1200 //sets the duration (in ms) of the fixation cross presented on screen / osFixationStimISI = 500 //sets the duration (in ms) of the blank space that follows the fixation cross before the first letter is presented / osProcessingProblemMaxDuration = 8000 //sets the max duration (in ms) that an equation is presented on screen (used during practice 2) / osProcessingProblemMinDuration = 2000 //sets the minimum duration (in ms) that an equation is presented on screen / osProcessingResponseISI = 150 //sets the duration (in ms) of the blank space that follows a response to the equation problem before the next letter is presented / osStimPresentationDuration = 800 //sets the duration (in ms) that each letter is presented on screen / osIsi = 800 //sets the duration (in ms) of the blank space that follows the presentation of a letter before the next letter/next equation is presented / osRecallDelay = 700 //sets the duration (in ms) of the blank space that follows the last letter before the recall matrix is presented / osSingleTaskFeedbackDuration = 3000 //sets the duration (in ms) of the final performance feedback text presented during the single task practice sessions (practice1/practice2) / osProcessingTaskImmediateFeedbackDuration = 3000 //sets the duration (in ms) of the intermittend feedback presented during the processing Task Training / osDualTaskFeedbackDuration = 3000 //sets the duration (in ms) of the performance feedback text presented for the dual task training performance (practice3) //Procedure Parameters / osStartLevel = 4 //sets the start level for the ospan test, Note: should not be changed unless the necessary stimuli are provided / osPracticeMinAcc = 0.7 //defines the lowest proportion correct that needs to be achieved during practice1&2 to move on to the next phase / osLevelDecrease = 0.6 //performance under 60% correct results in decreasing the level for the next round / osLevelIncrease = 1 //performance at 100% results in increasing the level for the next round //Debug Stimuli: should be set to 0 for the actual test (if set to 1 the correct letters show up on the recall screen) / osDebugmode = 0 ___________________________________________________________________________________________________________________ *Adaptive Composite Complex Span (ACCES): HELPER SCRIPT* Subtest: Operation Span Test, Normative Data ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 05-29-2019 last updated: 11-02-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 11-02-2023 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script provides the normative statistics used to calculate z-scores and percentiles for the Operation Span Subtest of the ACCES script. Reference: Gonthier, C., Thomassin, N., & Roulin, J.-L. (2016). The Composite Complex Span : French validation of a short working memory task. Behavior Research Methods, 48(1), 233-242. doi:10.?3758/?s13428-015-0566-3 Gonthier C, Aubry A, Bourdin B. (2018). Measuring working memory capacity in children using adaptive tasks: Example validation of an adaptive complex span. Behav Res Methods. Jun;50(3):910-921. doi: 10.3758/s13428-017-0916-4. PMID: 28643158. Note: this script does not run on its own. It is included in script "ACCES_OSPAN.iqjs"