User Manual: Inquisit Adaptive Composite Complex Span (ACCES)


___________________________________________________________________________________________________________________	

								*Adaptive Composite Complex Span (ACCES)*
												Main Script
___________________________________________________________________________________________________________________	

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 implements 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/.

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	
___________________________________________________________________________________________________________________

This script is batch script that calls the following scripts in order:

1. acces_intro.iqjs:		this script provides the general intro information for the ACCES test in English
						and runs a short demographic survey (can be turned off via parameters.runDemographicSurvey)
						under section Editable Parameters below.
						
						This script generates one data files:
						acces_demographics.iqdat (collects raw data of demographic survey)
												
2. acces_rspan.iqjs:		this script runs the RSPAN (Reading Span) subtest of the ACCES test.
						This script generates two data files:
						"acces_rspan_raw.iqdat" : collects the raw data
						"acces_rspan_summary.iqdat": stores the summary data
						Detailed Explanations of the data files as well as procedural information 
						can be found in the User Manual of script "acces_rspan.iqjs"
						
						Note: script acces_rspan.iqjs can be skipped if parameters.run_RSPAN is set to false
						under section Editable Parameters below.

2. acces_sspan.iqjs:		this script runs the SSPAN (Symmetry Span) subtest of the ACCES test.
						This script generates two data files:
						"acces_sspan_raw.iqdat" : collects the raw data
						"acces_sspan_summary.iqdat": stores the summary data
						Detailed Explanations of the data files as well as procedural information 
						can be found in the User Manual of script "acces_sspan.iqjs"
						
						Note: script acces_sspan.iqjs can be skipped if parameters.run_SSPAN is set to false
						under section Editable Parameters below.
					
				
3. acces_ospan.iqjs:		this script runs the OSPAN (Operation Span) subtest of the ACCES test.
						This script generates two data files:
						"acces_ospan_raw.iqdat" : collects the raw data
						"acces_ospan_summary.iqdat": stores the summary data
						Detailed Explanations of the data files as well as procedural information 
						can be found in the User Manual of script "acces_ospan.iqjs"
						
						Note: script acces_rspan.iqjs can be skipped if parameters.run_OSPAN is set to false
						under section Editable Parameters below.	
			

4. acces_finish.iqjs:	this script presents the final instruction pages for the ACCES test
						and stores the main performance data of the three subtests (RSPAN, SSPAN, OSPAN)
						as well as a composite WMC score in one common data file.
						
						Detailed Explanations of the data file can be found in the User Manual of script
						"acces_finish.iqjs".

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

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________		

See individual batch scripts (USER MANUALS) for detailed information on all data files generated:
"acces_intro.iqjs"
"acces_rspan.iqjs"
"acces_sspan.iqjs"
"acces_ospan.iqjs"
"acces_finish.iqjs"
___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

All procedural information can found in the USER MANUALS of the following scripts: 
RSPAN: acces_rspan.iqjs
SSPAN: acces_sspan.iqjs
OSPAN: acces_ospan.iqjs
___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________	

See USER MANUALS of the following scripts:
RSPAN: acces_rspan.iqjs
SSPAN: acces_sspan.iqjs
OSPAN: acces_ospan.iqjs

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	

Instructions are not original to Gonthier et al, 2018 but borrow heavily from the French instructions
generously provided by Gonthier et al's published material. 

The instructions in this script are provided by Millisecond Software
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).

See individual scripts for more detail.

___________________________________________________________________________________________________________________	
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:

/runDemographicSurvey = true				true = script acces_demographics.iqjs is run; false = script acces_demographics.iqjs is skipped
/run_RSPAN = true 							true = script acces_rspan.iqjs is run; false = script acces_rspan.iqjs is skipped 
/run_SSPAN = true 							true = script acces_sspan.iqjs is run; false = script acces_sspan.iqjs is skipped 
/run_OSPAN = true							true = script acces_ospan.iqjs is run; false = script acces_ospan.iqjs is skipped 


___________________________________________________________________________________________________________________	

								*Adaptive Composite Complex Span (ACCES)*
								General Intro + Demographic Survey
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 05-29-201904
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 implements 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/.

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	
___________________________________________________________________________________________________________________	

This script presents the general intro to the ACCES test as well as a short demographic survey of the ACCES test.
Grade level information is used to calculate z-scores and percentiles (based on norms published by 
Gonthier et al, 2018).
___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes < 1 minute to complete

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________		
The fields in the data files are:

(1) Raw data file: 'acces_demographics.iqdat'

date, time:					date and time script was run with the current group/subjectnumber 
subject, group, session:	   	 with the current subject/groupnumber/session id
build:						the Inquisit build

q*_response:					response given
q*_latency:					how much time (in ms) the participant spent on the surveyPage with this particular 
							question (the last time this particular surveyPage was visited)
																		

___________________________________________________________________________________________________________________	
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



___________________________________________________________________________________________________________________	

								*Adaptive Composite Complex Span Test (ACCES)*
								Subtest: Reading Span Test (RSPAN)
___________________________________________________________________________________________________________________	

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 Reading 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 reading span test trials. Levels for each trial (after the first) are adapted
based on performance.

Reading Span Test: a dual task involving the evaluation of simple sentences while
also recalling a sequence of digits for a later recall test:
Evaluation of Sentence -> Digit Learning -> Evaluation of Sentence -> Digit Learning.....-> Digit Recall

The number of 'sentence-evaluations/digit 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 digit recall task
Practice 2: training of the sentence 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_rspan_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

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. sentence evaluation) 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. digit) 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 (scancode of response buttons) 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_rspan_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								
									
rsDurationS:				the RSPAN task duration in seconds

rsTotalStimsRecalled:		the total number of digits recalled across all 6 RSPAN test rounds
rsZScore:					the calculated z-score of the total number of recalled digits across all 6 RSPAN test rounds
rsPercentile:				the calculated percentile of the z-score of the total number of recalled digits across all 6 RSPAN 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.rsProcessingAccOverall.mean: 	the mean proportion correct Processing Task ('sentence problems') performance across all 6 RSPAN test rounds
														
rsProcessingTaskFlag:			1 = the mean proportion correct RSPAN Processing Task ('sentence problems') performance is below 70% correct 
									(RSPAN performance is flagged)
								0 = otherwise (RSPAN performance is not flagged)

list.rsCurrentLevels.mean:		the average RSPAN span size worked on
list.rsCurrentLevels.minimum:	the minimum RSPAN span size worked on (lowest possible span size tested: 2)
list.rsCurrentLevels.maximum:	the maximum RSPAN span size worked on (highest possible span size tested: 8)
 
rsLevel2Count:					number of times span size 2 was run during the RSPAN 
rsLevel3Count:					number of times span size 3 was run during the RSPAN 
rsLevel4Count:					number of times span size 4 was run during the RSPAN 
rsLevel5Count:					number of times span size 5 was run during the RSPAN  
rsLevel6Count:					number of times span size 6 was run during the RSPAN 
rsLevel7Count:					number of times span size 7 was run during the RSPAN 
rsLevel8Count:					number of times span size 8 was run during the RSPAN 

***************************************
RSPAN Descriptive Statistics by Round:
***************************************
rsLevelRound1:					RSPAN span size tested during Round 1 (by default: 4)
rsProblemCumAccRound1:			number of correctly answered RSPAN Processing Task ('sentence evaluation task') problems during Round 1
rsProcessingAccRound1:			proportion correct RSPAN Processing Task ('sentence evaluation task') performance during Round 1		
rsStimsRound1: 					the presented RSPAN recall stims ('digits') during Round 1 (in the order presented)
rsRecallResponseRound1:			the recalled RSPAN stims ('digits') during Round 1 (in the order selected)
rsNumberStimsRecalledRound1:	the number of correctly recalled RSPAN stims ('digits') during Round 1

rsLevelRound2:					RSPAN span size tested during Round 2 
rsProblemCumAccRound2:			number of correctly answered RSPAN Processing Task ('sentence evaluation task') problems during Round 2
rsProcessingAccRound2:			proportion correct RSPAN Processing Task ('sentence evaluation task') performance during Round 2		
rsStimsRound2: 					the presented RSPAN recall stims ('digits') during Round 2 (in the order presented)
rsRecallResponseRound2:			the recalled RSPAN stims ('digits') during Round 2 (in the order selected)
rsNumberStimsRecalledRound2:	the number of correctly recalled RSPAN stims ('digits') during Round 2

rsLevelRound3:					RSPAN span size tested during Round 3 
rsProblemCumAccRound3:			number of correctly answered RSPAN Processing Task ('sentence evaluation task') problems during Round 3
rsProcessingAccRound3:			proportion correct RSPAN Processing Task ('sentence evaluation task') performance during Round 3		
rsStimsRound3: 					the presented RSPAN recall stims ('digits') during Round 3 (in the order presented)
rsRecallResponseRound3:			the recalled RSPAN stims ('digits') during Round 3 (in the order selected)
rsNumberStimsRecalledRound3:	the number of correctly recalled RSPAN stims ('digits') during Round 3
 
rsLevelRound4:					RSPAN span size tested during Round 4 
rsProblemCumAccRound4:			number of correctly answered RSPAN Processing Task ('sentence evaluation task') problems during Round 4
rsProcessingAccRound4:			proportion correct RSPAN Processing Task ('sentence evaluation task') performance during Round 4		
rsStimsRound4: 					the presented RSPAN recall stims ('digits') during Round 4 (in the order presented)
rsRecallResponseRound4:			the recalled RSPAN stims ('digits') during Round 4 (in the order selected)
rsNumberStimsRecalledRound4:	the number of correctly recalled RSPAN stims ('digits') during Round 4

rsLevelRound5:					RSPAN span size tested during Round 5 
rsProblemCumAccRound5:			number of correctly answered RSPAN Processing Task ('sentence evaluation task') problems during Round 5
rsProcessingAccRound5:			proportion correct RSPAN Processing Task ('sentence evaluation task') performance during Round 5		
rsStimsRound5: 					the presented RSPAN recall stims ('digits') during Round 5 (in the order presented)
rsRecallResponseRound5:			the recalled RSPAN stims ('digits') during Round 5 (in the order selected)
rsNumberStimsRecalledRound5:	the number of correctly recalled RSPAN stims ('digits') during Round 5

rsLevelRound6:					RSPAN span size tested during Round 6 
rsProblemCumAccRound6:			number of correctly answered RSPAN Processing Task ('sentence evaluation task') problems during Round 6
rsProcessingAccRound6:			proportion correct RSPAN Processing Task ('sentence evaluation task') performance during Round 6		
rsStimsRound6: 					the presented RSPAN recall stims ('digits') during Round 6 (in the order presented)
rsRecallResponseRound6:			the recalled RSPAN stims ('digits') during Round 6 (in the order selected)
rsNumberStimsRecalledRound6:		the number of correctly recalled RSPAN stims ('digits') during Round 6

*******************************
RSPAN Training Performance:
*******************************
rsSpanTaskTrainingCount:			the number of times the RSPAN span task training was run (RSPAN practice 1)
rsProcessingTaskTrainingCount:		the number of times the RSPAN processing task training was run (RSPAN practice 2)
rsDualTaskTrainingCount:			the number of times the RSPAN span task training was run (RSPAN practice 3)


*******************************
RSPAN Processing Task duration:
*******************************
rsProcessingTaskMaxDuration:		the maximum duration (in ms) that RSPAN processing Task problems ('sentence 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):
										'RS ProcessingTask medianRT' + 2.5 x 'RS Processing Task MAD RT'
									
rsProcessingRTMedian:			the median response latency answering RSPAN processing task problems ('sentence problems') during practice2
rsProcessingRTMAD:				Median Absolute Deviation (MAD) of response latencies answering RSPAN processing task problems during practice2


___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

Note: level = span size

4 phases:

PHASE 1: Practice 1 -Digit 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 digit recall task (no sentences are presented)

Trial Sequence:
blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) ->
Digit (800ms) -> Blank (800ms) -> Digit (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 digits correctly recalled in the exact position of presentation)

PHASE 2: Practice 2 - Sentence Evaluation Training ("Processing Task")
Participants work on 10 sentences (e.g. "Fish live on land") and evaluate them to be 'true' or 'false'.
The sentences are the same for each participant and are presented in fixed order. 
No digit recall task is run.

Trial Sequence:
blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) ->
Sentence (max. 8000ms) -> Feedback (3000ms) -> Blank (150ms) -> Sentence (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 sentences is under 70% correct.
Furthermore, the duration of the sentence 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) ->
Sentence (calculated presentation time during practice 2) -> Blank (150ms) ->
Digit (800ms) -> Blank (800ms) -> 
Sentence (calculated presentation time during practice 2) -> Blank (150ms) ->
Digit (800ms) -> Blank (800ms) -> .....

Digit (800ms) -> Blank (700ms) -> Recall Screen

At the end of this practice round, performance is analyzed and feedback is provided.


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) ->
Sentence (calculated presentation time during practice 2) -> Blank (150ms) ->
Digit (800ms) -> Blank (800ms) -> 
Sentence (calculated presentation time during practice 2)  -> Blank (150ms) ->
Digit (800ms) -> Blank (800ms) -> .....

Digit (800ms) -> Blank (700ms) -> Recall Screen

During each round, the computer calculates
a. processing task performance (here: sentence evaluation performance)
b. recall performance
		- the number of correctly recalled digits 
		- the total number of correctly recalled digits
		
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 original French 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/.

IMPORTANT NOTE:
This script uses English sentences provided by Millisecond Software.
The sentences are similar to the original French ones by Gonthier et al (2018); however,
they are untested. The sentences can easily be exchanged under section Editable Stimuli.

___________________________________________________________________________________________________________________	
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;
/ rsFixationCrossHeight = 30% //sets the size of the fixation cross (presented during practice blocks) relative to canvas height
/ rsMatrixSize = 65% //sets the size of the recall matrix relative to the canvas
/ rsProblemHeight = 5% //sets the height of the presented sentences relative to canvas height
/ rsStimHeight = 20% //sets the height of the digits (to be recalled) relative to canvas height

//Duration Parameters:
/ rsPreFixationDuration = 700 //sets the duration (in ms) of the blank space that precedes the fixation cross at the beginning of each trial
/ rsFixationDuration = 1200 //sets the duration (in ms) of the fixation cross presented on screen
/ rsFixationStimISI = 500 //sets the duration (in ms) of the blank space that follows the fixation cross before the first digit is presented

/ rsProcessingProblemMaxDuration = 8000 //sets the max duration (in ms) that a sentence is presented on screen (used during practice 2)
/ rsProcessingProblemMinDuration = 2000 //sets the minimum duration (in ms) that a sentence is presented on screen 
/ rsProcessingResponseISI = 150 //sets the duration (in ms) of the blank space that follows a response to the sentence problem before the next digit is presented

/ rsStimPresentationDuration = 800 //sets the duration (in ms) that each digit is presented on screen
/ rsIsi = 800 //sets the duration (in ms) of the blank space that follows the presentation of a digit before the next digit/next sentence is presented
/ rsRecallDelay = 700 //sets the duration (in ms) of the blank space that follows the last digit before the recall matrix is presented

/ rsSingleTaskFeedbackDuration = 3000 //sets the duration (in ms) of the final performance feedback text presented during the single task practice sessions (practice1/practice2)
/ rsProcessingTaskImmediateFeedbackDuration = 3000 //sets the duration (in ms) of the intermittend feedback presented during the processing Task Training
/ rsDualTaskFeedbackDuration = 3000 //sets the duration (in ms) of the performance feedback text presented for the dual task training performance (practice3)

//Procedure Parameters
/ rsStartLevel = 4 //sets the start level for the RSPAN test, Note: should not be changed unless the necessary stimuli are provided
/ rsPracticeMinAcc = 0.7 //defines the lowest proportion correct that needs to be achieved during practice1&2 to move on to the next phase
/ rsLevelDecrease = 0.6 //performance under 60% correct results in decreasing the level for the next round
/ rsLevelIncrease = 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 digits show up on the recall screen)
/ rsDebugmode = 0



___________________________________________________________________________________________________________________	

								*Adaptive Composite Complex Span (ACCES): HELPER SCRIPT*
								Subtest: Reading 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
Reading 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_RSPAN.iqjs"



___________________________________________________________________________________________________________________	

								*Adaptive Composite Complex Span Test (ACCES)*
								Subtest: Symmetry Span Test (SSPAN)
___________________________________________________________________________________________________________________	

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 Symmetry 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") for children ages 8-13.
 
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 symmetry span test trials. Levels for each trial (after the first) are adapted
based on performance.

Symmetry Span Test: a dual task involving the evaluation of simple symmetry problems while
also trying to remember spatial location in a 4x4 matrix:
Evaluation of Symmetry Problem -> Matrix Position Learning -> .....-> Matrix Positions Recall

The number of 'symmetry-evaluations/spatial position 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 in the SSPAN is level 7.

The task provides 3 practice session before the actual 6 test trials are run:
Practice 1: training of the spatial location recall task
Practice 2: training of the symmetry 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_sspan_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

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. symmetry evaluation) 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. Matrix position) 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 (scancode of response buttons) 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_sspan_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								
									
ssDurationS:			the SSPAN task duration in seconds

ssTotalStimsRecalled:		the total number of matrix positions recalled across all 6 SSPAN test rounds
ssZScore:					the calculated z-score of the total number of recalled matrix positions across all 6 SSPAN test rounds
ssPercentile:				the calculated percentile of the z-score of the total number of recalled matrix positions across all 6 SSPAN 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.ssProcessingAccOverall.mean: the mean proportion correct Processing Task ('symmetry problems') performance across 
									all 6 SSPAN test rounds
														
ssProcessingTaskFlag:		1 = the mean proportion correct SSPAN Processing Task ('symmetry problems') performance is below 70% correct 
									(SSPAN performance is flagged)
							0 = otherwise (SSPAN performance is not flagged)

list.ssCurrentLevels.mean:			the average SSPAN span size worked on
list.ssCurrentLevels.minimum:		the minimum SSPAN span size worked on (lowest possible span size tested: 2)
list.ssCurrentLevels.maximum:		the maximum SSPAN span size worked on (highest possible span size tested: 8)
 
ssLevel2Count:					number of times span size 2 was run during the SSPAN 
ssLevel3Count:					number of times span size 3 was run during the SSPAN 
ssLevel4Count:					number of times span size 4 was run during the SSPAN 
ssLevel5Count:					number of times span size 5 was run during the SSPAN  
ssLevel6Count:					number of times span size 6 was run during the SSPAN 
ssLevel7Count:					number of times span size 7 was run during the SSPAN 
ssLevel8Count:					number of times span size 8 was run during the SSPAN 

***************************************
SSPAN Descriptive Statistics by Round:
***************************************
ssLevelRound1:					SSPAN span size tested during Round 1 (by default: 4)
ssProblemCumAccRound1:			number of correctly answered SSPAN Processing Task ('symmetry evaluation task') problems during Round 1
ssProcessingAccRound1:			proportion correct SSPAN Processing Task ('symmetry evaluation task') performance during Round 1		
ssStimsRound1: 					the presented SSPAN recall stims ('matrix positions') during Round 1 (in the order presented)
ssRecallResponseRound1:			the recalled SSPAN stims ('matrix positions') during Round 1 (in the order selected)
ssNumberStimsRecalledRound1:	the number of correctly recalled SSPAN stims ('matrix positions') during Round 1

ssLevelRound2:					SSPAN span size tested during Round 2 
ssProblemCumAccRound2:			number of correctly answered SSPAN Processing Task ('symmetry evaluation task') problems during Round 2
ssProcessingAccRound2:			proportion correct SSPAN Processing Task ('symmetry evaluation task') performance during Round 2		
ssStimsRound2: 					the presented SSPAN recall stims ('matrix positions') during Round 2 (in the order presented)
ssRecallResponseRound2:			the recalled SSPAN stims ('matrix positions') during Round 2 (in the order selected)
ssNumberStimsRecalledRound2:	the number of correctly recalled SSPAN stims ('matrix positions') during Round 2

ssLevelRound3:					SSPAN span size tested during Round 3 
ssProblemCumAccRound3:			number of correctly answered SSPAN Processing Task ('symmetry evaluation task') problems during Round 3
ssProcessingAccRound3:			proportion correct SSPAN Processing Task ('symmetry evaluation task') performance during Round 3		
ssStimsRound3: 					the presented SSPAN recall stims ('matrix positions') during Round 3 (in the order presented)
ssRecallResponseRound3:			the recalled SSPAN stims ('matrix positions') during Round 3 (in the order selected)
ssNumberStimsRecalledRound3:	the number of correctly recalled SSPAN stims ('matrix positions') during Round 3
 
ssLevelRound4:					SSPAN span size tested during Round 4 
ssProblemCumAccRound4:			number of correctly answered SSPAN Processing Task ('symmetry evaluation task') problems during Round 4
ssProcessingAccRound4:			proportion correct SSPAN Processing Task ('symmetry evaluation task') performance during Round 4		
ssStimsRound4: 					the presented SSPAN recall stims ('matrix positions') during Round 4 (in the order presented)
ssRecallResponseRound4:			the recalled SSPAN stims ('matrix positions') during Round 4 (in the order selected)
ssNumberStimsRecalledRound4:	the number of correctly recalled SSPAN stims ('matrix positions') during Round 4

ssLevelRound5:					SSPAN span size tested during Round 5 
ssProblemCumAccRound5:			number of correctly answered SSPAN Processing Task ('symmetry evaluation task') problems during Round 5
ssProcessingAccRound5:			proportion correct SSPAN Processing Task ('symmetry evaluation task') performance during Round 5		
ssStimsRound5: 					the presented SSPAN recall stims ('matrix positions') during Round 5 (in the order presented)
ssRecallResponseRound5:			the recalled SSPAN stims ('matrix positions') during Round 5 (in the order selected)
ssNumberStimsRecalledRound5:	the number of correctly recalled SSPAN stims ('matrix positions') during Round 5

ssLevelRound6:					SSPAN span size tested during Round 6 
ssProblemCumAccRound6:			number of correctly answered SSPAN Processing Task ('symmetry evaluation task') problems during Round 6
ssProcessingAccRound6:			proportion correct SSPAN Processing Task ('symmetry evaluation task') performance during Round 6		
ssStimsRound6: 					the presented SSPAN recall stims ('matrix positions') during Round 6 (in the order presented)
ssRecallResponseRound6:			the recalled SSPAN stims ('matrix positions') during Round 6 (in the order selected)
ssNumberStimsRecalledRound6:	the number of correctly recalled SSPAN stims ('matrix positions') during Round 6

***************************************
SSPAN Training Performance:
***************************************
ssSpanTaskTrainingCount:			the number of times the SSPAN span task training was run (SSPAN practice 1)
ssProcessingTaskTrainingCount:		the number of times the SSPAN processing task training was run (SSPAN practice 2)
ssDualTaskTrainingCount:			the number of times the SSPAN span task training was run (SSPAN practice 3)

***************************************
SSPAN Processing Task duration:
***************************************
ssProcessingTaskMaxDuration:	the maximum duration (in ms) that SSPAN processing Task problems ('symmetry 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):
											'SS ProcessingTask medianRT' + 2.5 x 'SS Processing Task MAD RT'
									
ssProcessingRTMedian:		the median response latency answering SSPAN processing task problems ('symmetry problems') during practice2
ssProcessingRTMAD:			Median Absolute Deviation (MAD) of response latencies answering SSPAN processing task problems during practice2


___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

Note: level = span size

4 phases:

PHASE 1: Practice 1 -Matrix position 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 Matrix position Recall task (no symmetry problems are presented)

Trial Sequence:
blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) ->
Matrix position (800ms) -> Blank (800ms) -> Matrix position (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 Matrix positions correctly recalled in the exact position of presentation)

PHASE 2: Practice 2 - Symmetry Problem Evaluation Training ("Processing Task")
Participants work on 10 Symmetry Problems and evaluate them to be 'true' (when symmetric) or 'false' (when asymmetric).
The Symmetry Problems are the same for each participant and are presented in fixed order. 
No Matrix position Recall task is run.

Trial Sequence:
blank (700ms)->Start Fixation Cross (presented for 1200ms) -> blank (for 500ms) ->
Symmetry Problem (max. 8000ms) -> Feedback (3000ms) -> Blank (150ms) -> Symmetry Problem (max. 8000ms) -> Feedback (3000ms)....

At the end of this practice round, symmetry performance is analyzed and the practice block is repeated
if the proportion correctly evaluated Symmetry Problems is under 70% correct.
Furthermore, the duration of the symmetry 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) ->
Symmetry Problem (calculated presentation time during practice 2) -> Blank (150ms) ->
Matrix position (800ms) -> Blank (800ms) -> 
Symmetry Problem (calculated presentation time during practice 2) -> Blank (150ms) ->
Matrix position (800ms) -> Blank (800ms) -> .....

Matrix position (800ms) -> Blank (700ms) -> Recall Screen

At the end of this practice round, performance is analyzed and feedback is provided.


PHASE 4: Test (Dual Task) 
Participants work on 6 combined trials (starting level = 3; 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) ->
Symmetry Problem (calculated presentation time during practice 2) -> Blank (150ms) ->
Matrix position (800ms) -> Blank (800ms) -> 
Symmetry Problem (calculated presentation time during practice 2)  -> Blank (150ms) ->
Matrix position (800ms) -> Blank (800ms) -> .....

Matrix position (800ms) -> Blank (700ms) -> Recall Screen

During each round, the computer calculates
a. processing task performance (here: symmetry performance)
b. recall performance
		- the number of correctly recalled Matrix positions 
		- the total number of correctly recalled Matrix positions
		
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;
/ ssFixationCrossHeight = 20% //sets the size of the fixation cross (presented during practice blocks) relative to canvas height
/ ssMatrixSize = 65% //sets the size of the recall matrix relative to the canvas
/ ssProblemHeight = 80% //sets the height of the presented symmetry images relative to canvas height

//Duration Parameters:
/ ssPreFixationDuration = 700 //sets the duration (in ms) of the blank space that precedes the fixation cross at the beginning of each trial
/ ssFixationDuration = 1200 //sets the duration (in ms) of the fixation cross presented on screen
/ ssFixationStimISI = 500 //sets the duration (in ms) of the blank space that follows the fixation cross before the first Matrix position is presented

/ ssProcessingProblemMaxDuration = 8000 //sets the max duration (in ms) that an equation is presented on screen (used during practice 2)
/ ssProcessingProblemMinDuration = 2000 //sets the minimum duration (in ms) that an equation is presented on screen 
/ ssProcessingResponseISI = 150 //sets the duration (in ms) of the blank space that follows a response to the equation problem before the next Matrix position is presented

/ ssStimDelay = 100 //sets the delay (in ms) with which the stim (red matrix position) is revealed in the matrix
/ ssStimPresentationDuration = 800 //sets the duration (in ms) that each Matrix position is presented on screen
/ ssIsi = 800 //sets the duration (in ms) of the blank space that follows the presentation of a Matrix position before the next Matrix position/next equation is presented
/ ssRecallDelay = 700 //sets the duration (in ms) of the blank space that follows the last Matrix position before the recall matrix is presented

/ ssSingleTaskFeedbackDuration = 3000 //sets the duration (in ms) of the final performance feedback text presented during the single task practice sessions (practice1/practice2)
/ ssProcessingTaskImmediateFeedbackDuration = 3000 //sets the duration (in ms) of the intermittend feedback presented during the processing Task Training
/ ssDualTaskFeedbackDuration = 3000 //sets the duration (in ms) of the performance feedback text presented for the dual task training performance (practice3)

//Procedure Parameters
/ ssStartLevel = 3 //sets the start level for the SSPAN test, Note: should not be changed unless the necessary stimuli are provided
/ ssPracticeMinAcc = 0.7 //defines the lowest proportion correct that needs to be achieved during practice1&2 to move on to the next phase
/ ssLevelDecrease = 0.6 //performance under 60% correct results in decreasing the level for the next round
/ ssLevelIncrease = 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 Matrix positions show up on the recall screen)
/ ssDebugmode = 0



___________________________________________________________________________________________________________________	

								*Adaptive Composite Complex Span (ACCES): HELPER SCRIPT*
								Subtest: Symmetry 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
Symmetry 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_SSPAN.iqjs"



___________________________________________________________________________________________________________________	

								*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"



___________________________________________________________________________________________________________________	

								*Adaptive Composite Complex Span (ACCES)*
								Finish Script of the ACCES Test
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 05-29-201904
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 is run as a final data saving script for the acces.iqjs, Millisecond Software's implementation 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/.

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	
___________________________________________________________________________________________________________________	

This script is run as the last script in a batch of subtests for the ACCES test.
It informs participants that the testing is now completed and stores the main performance data of all 
three subtests to a separate data file.

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________		
The fields in the data files are:

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

runDemographicSurvey			true = script acces_demographics.iqjs was set to run; 
								false = script acces_demographics.iqjs was skipped
									
runRSPAN 						true = script acces_rspan.iqjs was set to run run; 
								false = script acces_rspan.iqjs was skipped 
									
runSSPAN						true = script acces_sspan.iqjs was set to run run; 
								false = script acces_sspan.iqjs was skipped 
									
runOSPAN						true = script acces_ospan.iqjs was set to run; 
								false = script acces_ospan.iqjs was set to skipped 


age:							the entered age of the participant 
gradeLevel:						the entered grade level of the participant 
gender:							the entered gender of the participant


WMC:							the average of the standardized recall scores of the three subtests (RSPAN, SSPAN, OSPAN)
								Notes:
								1. the score is only computed if all three subtests provided a standardized z-score of the recall scores
								2. the z-scores of the individual subtests are generated based on the norms provided by Ganthier et al (2018)
								which may not be applicable for the sample of participants tested with this script.
								3. the WMC score is generated regardless of performance on the processing tasks of the three subtest.
								check below if any of the processing tasks performances were flagged due to low performance.
								(-> RS ProcessingTask Flag/ SS ProcessingTask Flag / OS ProcessingTask Flag)
***************
RSPAN DATA
***************

rsTotalStimsRecalled:			the total number of digits recalled across all 6 RSPAN test rounds
rsZScore:						the calculated z-score of the total number of recalled digits across all 6 RSPAN test rounds
rsPercentile:					the calculated percentile of the z-score of the total number of recalled digits across all 6 RSPAN test trials
									Note: mean and standard deviation used to calculate z-scores/percentile 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).

rsProcessingAcc: the mean proportion correct Processing Task ('sentence evaluations') performance across all 6 RSPAN test rounds
														
rsProcessingTaskFlag:			1 = the mean proportion correct RSPAN Processing Task ('sentence evaluations') performance is below 70% correct 
										(RSPAN performance is flagged)
								0 = otherwise (RSPAN performance is not flagged)

***************
SSPAN DATA
***************
									
ssTotalStimsRecalled:			the total number of Matrix positions recalled across all 6 SSPAN test rounds
ssZScore:						the calculated z-score of the total number of recalled Matrix positions across all 6 SSPAN test rounds
ssPercentile:					the calculated percentile of the z-score of the total number of recalled Matrix positions across all 6 SSPAN test trials
									Note: mean and standard deviation used to calculate z-scores/percentile 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).

ssProcessingAcc: 				the mean proportion correct Processing Task ('symmetry problems') performance across all 6 SSPAN test rounds
														
ssProcessingTaskFlag:			1 = the mean proportion correct SSPAN Processing Task ('symmetry problems') performance is below 70% correct 
										(SSPAN performance is flagged)
								0 = otherwise (SSPAN performance is not flagged)									
									
									
***************
OSPAN DATA
***************									
									
osTotaStimsRecalled:			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-scores/percentile 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).

osProcessingAcc: 				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)

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	
This script runs one trial that provides finish-instructions to the ACCES test.

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
provided by Millisecond Software in file "acces_testend.htm"

Instructions are not original to the task. They are provided by Millisecond Software
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).