Return to the Mental Rotation Task for Children (Keyboard) page
___________________________________________________________________________________________________________________	

						MENTAL ROTATION for CHILDREN (with keyboard Rotation Training Module)
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 02-10-2015
last updated:  03-02-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 03-02-2020 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This script implements a Mental Rotation Test and Training Module for children.
The input device for this script is the keyboard. If this script is run on 
a touchscreen without attached keyboard, the necessary response keys will automatically be provided.

The implemented procedure is based on:

Wiedenbauer, G. & Jansen-Osmann, P. (2008). Manual training of mental rotation in children.
Learning and Instruction, 18, 30-41.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
For pre-posttest participants are presented 2 pictures of the same animal:
on the left, participants see the animal with a 0° rotation (the base stimulus) and
on the right, participants see a rotated animal (8 different rotation angles:
20°, 60°, 120°, 160°; clock and counterclockwise). 
The rotated pic is either derived from the base stimulus or it is derived from the
mirror image of the base. Participants are asked to press the left A key if the two animals are the same
and the right L key if they are different.

3 phases:
1. Pretest
2. Training Module: Participant are asked to press left A key and right L key to rotate the comparison stimulus
into the same position as the base stimulus.
3. Posttest

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes:
Pretest: appr. 7 minutes
Training: appr. 15 minutes
Posttest: appr. 15 minutes
= total time: appr. 37 minutes

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________ 
The default data stored in the data files are:

(1) Raw data file: 'mentalrotationtraining_children_keyboard_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
script.sessionid:					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. 
		
																	
values.baseItemNumber:			stores the current base animal item number being tested
								(1 = bear....24 = turtle, in alphabetical order) 
									
values.compItemNumber:			stores the current comp animal item number 
									Note: 
									if Sameness = 1 then the comp item number should equal the base itemnumber
									if Sameness = 2 then the comp item number be different from the base itemnumber		
									
values.direction					1 = base looks left; 
								2 = base looks right
									
values.angle:						stores the current rotation angle being tested 

values.sameness:					1 = comp is the same as base; 
								2 = comp is mirror image of base(looks in opposite direction)

stimulusitem.1:					the image presented as the base
stimulusitem.2:					the image presented as the comp 
										Note: rotation is done on the comp image during runtime; no need for a different image file

response:						the participant's key response (SCANCODE of response key)
											
responsetext:					the participant's key response
											'A' key (same key or clockwise rotation)
											'L' key (mirror key or counterclockwise rotation)												
											
																			
values.responseCategory:			pretest/posttest:
										1 = same; 
										2 = mirror;
								training:
										"rotate"
										"end rotation"
									
correct:							the accuracy of the response (1 = correct; 0 = incorrect)
latency: 							the response latency (in ms); measured from onset of stimuli

values.preTest1-values.preTest6:				the itemnumbers of the 6 pretest animals
values.training1-values.training12:				the itemnumbers of the 12 training animals
values.posttest1-values.posttest12:				the itemnumbers of the 12 posttest animals

(2) Summary data file: 'mentalrotationtraining_children_keyboard_summary*.iqdat' (a separate file for each participant)

computer.platform:					the platform the script was run on (win/mac/ios/android)
script.startdate:						date script was run
script.starttime:						time script was started
script.subjectid:						assigned subject id number
script.groupid:						assigned group id number
script.sessionid:						assigned session id number
script.elapsedtime:					time it took to run script (in ms); measured from onset to offset of script
script.completed:						0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)
																	
Separate for Prestest/Posttest										

expressions.propCorrect_overall:	overall proportion correct  (across all pretest/posttest trials)
expressions.mean_corrRT_overall:	overall mean response time of correct responses (across all pretest/posttest trials)

Main Effect: Sameness
expressions.propCorrect_same:		proportion correct for all Same trials (across all angles)
expressions.mean_corrRT_same:	mean response time of correct responses to Same trials (across all angles)
expressions.propCorrect_mirror:	proportion correct for all Mirror trials (across all angles)
expressions.mean_corrRT_mirror:	mean response time of correct responses to Mirror trials (across all angles)

Main Effect: Angle
expressions.propCorrect_angle1:	proportion correct for all angle1 (here: 22.5deg) (across same/mirror trials)
expressions.mean_corrRT_angle1:	mean response time of correct responses to all angle1 (here: 22.5deg) trials (across same/mirror trials)
expressions.propCorrect_angle2:	proportion correct for all angle2 (here: 67.5deg) (across same/mirror trials)
expressions.mean_corrRT_angle2:	mean response time of correct responses to all angle2 (here: 67.5deg) trials (across same/mirror trials)
expressions.propCorrect_angle3:	proportion correct for all angle3 (here: 112.5deg) (across same/mirror trials)
expressions.mean_corrRT_angle3:	mean response time of correct responses to all angle3 (here: 112.5deg) trials (across same/mirror trials)
expressions.propCorrect_angle4:	proportion correct for all angle1 (here: 157.5.5deg) (across same/mirror trials)
expressions.mean_corrRT_angle4:	mean response time of correct responses to all angle1 (here: 157.5deg) trials (across same/mirror trials)

Interaction: Sameness x Angle
expressions.propCorrect_same_angle1:		proportion correct for all same Angle1 (here: 22.5deg) trials
expressions.mean_corrRT_same_angle1:	mean response time of correct responses to all same Angle1 (here: 22.5deg) trials
expressions.propCorrect_same_angle2:		proportion correct for all same Angle2 (here: 67.5deg) trials
expressions.mean_corrRT_same_angle2:	mean response time of correct responses to all same Angle2 (here: 67.5deg) trials
expressions.propCorrect_same_angle3:		proportion correct for all same Angle3 (here: 112.5deg) trials
expressions.mean_corrRT_same_angle3:	mean response time of correct responses to all same Angle3 (here: 112.5deg) trials
expressions.propCorrect_same_angle4:		proportion correct for all same Angle4 (here: 157.5deg) trials
expressions.mean_corrRT_same_angle4:	mean response time of correct responses to all same Angle4 (here: 157.5deg) trials

expressions.propCorrect_mirror_angle1:		proportion correct for all Mirror Angle1 (here: 22.5deg) trials
expressions.mean_corrRT_mirror_angle1:	mean response time of correct responses to all Mirror Angle1 (here: 22.5deg) trials
expressions.propCorrect_mirror_angle2:		proportion correct for all Mirror Angle2 (here: 67.5deg) trials
expressions.mean_corrRT_mirror_angle2:	mean response time of correct responses to all Mirror Angle2 (here: 67.5deg) trials
expressions.propCorrect_mirror_angle3:		proportion correct for all Mirror Angle3 (here: 112.5deg) trials
expressions.mean_corrRT_mirror_angle3:	mean response time of correct responses to all Mirror Angle3 (here: 112.5deg) trials
expressions.propCorrect_mirror_angle4:		proportion correct for all Mirror Angle4 (here: 157.5deg) trials
expressions.mean_corrRT_mirror_angle4:	mean response time of correct responses to all Mirror Angle4 (here: 157.5deg) trials

Training: 
expressions.propCorrect_Training:			proportion correct Training performance (correct in Training: pressing spacebar when Rotation Angle = 0)

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

Practice:
* trials start with the presentation of a fixation cross for 500ms (editable value) followed by
* 24 trials = 2 animals * 6 rotation angles * 2 presentations (one with same comparison animal, the other with mirror comparison animal)
Note: the animals presented during practice are not used for any test condition
* 2 pictures of the same animal presented for each trial: left is the base (0° rotation); on the right is the rotated comparison stimuli
* 6 rotation angles: 15°, 90°, 165° degrees clockwise and counterclockwise
(Note: Wiedenbauer & Jansen-Osmann, 2008, don't specify the number of animals nor the practice angles used)
* half the base animals look to the left, the other to the right
* half the trials are 'same' trials (the other half present the mirror image as the comparison animal)
* random sampling without replacement
* positive and negative feedback is given by smiley/frowny faces

Pretest
* trials start with the presentation of a fixation cross for 500ms (editable value) followed by
* 96 trials= 6 animals * 8 angles * 2 presentations (one with same comparison animal, the other with mirror comparison animal)
* 2 pictures of the same animal presented for each trial: left is the base (0° rotation); on the right is the rotated comparison stimuli
* 8 rotation angles: 22.5°, 67.5°, 112.5°, 157.5° (clock and counterclockwise); change under section Editable Parameters
* half the bases look to the left, the other to the right
* half the trials are 'same' trials (the other half present the mirror image as the comp animal)
* random sampling without replacement
* no feedback

Training
* one demo trial
* 192 trials = 12 animals (different from pretest) * 8 angles (same as for pretest) * 2 repetitions
* 2 pictures of the same animal presented for each trial: left is the base (0° rotation); on the right is the rotated comparison stimuli
* 8 rotation angles: 22.5°, 67.5°, 112.5°, 157.5° (clock and counterclockwise); change under section Editable Parameters
* participants can rotate the comparison stimuli clock and counterclockwise by keyboard key presses
* if comparison stimuli look like the base, participants are asked to press the ENTER key
* feedback is provided

Posttest
* trials start with the presentation of a fixation cross for 500ms (editable value) followed by
* 192 trials= 12 animals * 8 angles * 2 presentations (one with same comparison animal, the other with mirror comparison animal)
* 2 pictures of the same animal presented for each trial: left is the base (0° rotation); on the right is the rotated comparison stimuli
* 8 rotation angles: 22.5°, 67.5°, 112.5°, 157.5° (clock and counterclockwise); change under section Editable Parameters
* half the bases look to the left, the other to the right
* half the trials are 'same' trials (the other half present the mirror image as the comparison animal)
* random sampling without replacement
* no feedback
* 6 of the animals presented for the posttest are also used during training; the remaining 6 are new

!Note: assignment of 24 animals to pretest, training, posttest
In this script, the 24 animals are randomly assigned to pretest (6), training (12), posttest (12) by default.
Posttest and training share 6 animals. The assignment is therefore different for each participant.
Wiedenbauer & Jansen-Osmann (2008) used the following predetermined assignment
A. pretest: elephant; fox; alligator; cow; leopard; horse.
B. rotation training: bear; donkey; dog; pig; tiger; goat; monkey; bunny; cat; mouse; turtle; sea lion.
C. posttest: bear; donkey; dog; pig; tiger; goat; camel; lion; rhinoceros; deer; sheep; racoon.

To use this predetermined assignment, go to EDITABLE CODE -> Editable Lists -> list.assignanimals
and follow instructions.

___________________________________________________________________________________________________________________
STIMULI
___________________________________________________________________________________________________________________
Stimuli are animals from the 'Snodgrass and Vanderwart 'Like' Objects' introduced by

Rossion, B., & Pourtois, G. (2004). Revisiting Snodgrass and Vanderwart's object set: 
The role of surface detail in basic-level object recognition. Perception, 33, 217-236. 

The complete stimuli set can be downloaded at:
http://wiki.cnbc.cmu.edu/Objects
(Note: original link published in Rossion & Pourtois (2004) does not work as of Feb 2015)

2 Practice Stimuli: fish, frog
24 PreTest Stimuli (6 randomly selected for the PreTest)
alligator, bear, bunny, camel, cat, cow, deer, dog, donkey, elephant, fox, goat, horse
leopard, lion, monkey, mouse, pig, racoon, rhino, sealion, sheep, tiger, turtle

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
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).

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

/fontsize_fixation:						fontsize of the fixation mark in screen height percentages (default: 15%)

/readyDuration:							duration (in ms) of the get-ready-trial (default: 5000ms)
/fixationduration:						presentation duration (in ms) of the fixation stimulus (default: 500ms)

Image Angles (used clock and counterclockwise)
/rotationAngle1:						the smallest rotation angle (here: 22.5deg)
/rotationAngle2:						the second smallest rotation angle (here: 67.5deg)
/rotationAngle3:						the second largest rotation angle (here: 112.5deg)
/rotationAngle4:						the largest rotation angle (here: 157.5deg)