Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 26, 2018
Last Modified: January 12, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the Hearts and Flowers Task (a child friendly Simon's Task), a test of Executive Control.
The task is described in:
Diamond,A., Barnett, W.S., Thomas,J. & Munro, S. (2007). Preschool Program Improves Cognitive Control. SCIENCE, 318, 1387-1388 (as well as supporting documents)
The Hearts and Flowers Task is based on the Dot-Task:
M.C. Davidson, D. Amso, L.C. Anderson, A. Diamond (2006). Development of cognitive control and executive functions from 4 to 13 years: Evidence from manipulations of memory, inhibition, and task switching. Neuropsychologia 44, 2037–2078
This script runs with keyboard input but adapts to touchscreen-only devices by providing response buttons as well as adapting visual/text instructions to the different platforms automatically. (for a task specifically designed for touchscreen/mouse input: check out heartsandflowerstask_mi.iqjs)
7 minutes
Participants are presented trials with either a heart or a flower that appear to the left or right of a fixation cross. If participants see a heart, they are asked to press the corresponding left ('A') or right ('L') response button (=congruent trials). For example, if the heart is left to the fixation cross, participants are asked to press the left ("A") key. If participants see a flower, they are asked to press the opposite response button (=incongruent trials). For example, if the flower is left to the fixation cross, participants are asked to press the right ("L") key.
3 main blocks to test the three core abilities of Executive Control (Diamond et al, 2007)*: 1) only congruent trials: participants work through a block of heart trials (Working Memory) 2) only incongruent trials: participants work through a block of flower trials (Working Memory + Inhibitory Control) 3) mixed trials: participants work through a random mix of heart and flower trials (Working Memory + Inhibitory Control + Cognitive Flexibility)
• The following are the three core abilities of Executive Control (Diamond et al, 2007) 1. Working Memory: Remember the rules and execute them accordingly 2. Inhibitory Control: Ability to override behavioral impulses 3. Cognitive Flexibility: Adapt behavior to changing demands
3 main conditions: run in sequence
1. Congruent-Only: 20 'heart' trials (10 hearts appear left, 10 hearts appear right):
press matching response button
2. Incongruent-Only: 20 'flower' trials (10 flowers appear left, 10 flowers appear right):
press opposite response button
3. Mixed*: 10 'heart' trials (5 hearts left, 5 hearts right), 10 'flowers' trials
(5 flowers left, 5 flowers right)
=> random order with constraint that max. 3 of the same trials can be run consecutively
=> number of switch trials will vary (minimum number of switch trials = 6 for 20 trials)
switch trial: switch from congruent to incongruent trial and vice versa
• Diamond et al (2007) do not specify how the mixed condition is set up in detail other than that
the trials were randomly intermixed. In this script, a constraint was placed on the random selection to
ensure that a minimum of switch trials would run for each participant.
Each condition runs:
A. Practice Block(s): a maximum of 3 (default, can be set under section Editable Parameters) practice blocks of
8 trials. If participants reach a performance of 75% correct (default, can be set under
section Editable Parameters) during any of the blocks, the test block is started - otherwise the script is aborted
after 3 unsuccessful practice blocks.
During practice, participants receive positive feedback for 500ms in the form of a 'smiley' and auditory feedback
if they press the correct response button. For incorrect responses as well as noresponses, participants will
get a visual and auditory reminder of the rules and have to retry the trial (at this point, only correct responses
are accepted to move to the next trial).
B. Test Block:
Each Test Block runs 20 trials.
number of trials per block can be set under section Editable Parameters
Trial Sequence:
stimulus (heart or flower)-> max. 5000ms(congruent-only and incongruent-only)/6000ms (mixed) -> iti: 1000ms
(timings can easily be changed under section Editable Parameters)
provided by Millisecond - can be edited under section Editable Stimuli
provided by Millisecond (not original to Diamond et al, 2007)- can be edited under
section Editable Instructions
different visual stimuli are provided for devices with keyboards vs. devices without keyboards
The instruction stimuli for devices with detected external keyboards are located in helper script:
hearsandflowers_instructions_keyboard.iqjs
The instruction stimuli for devices without detected external keyboards are located in helper script:
hearsandflowers_instructions_touchscreen.iqjs
File Name: heartsandflowerstask_keyboard_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
Practice Performance |
|
| countCongruent | Counts the number of congruent practice blocks run |
| practiceAccCongruent | The highest proportion correct in one of the congruent practice blocks (if not run, propCorrect = 0) |
| passCongruent | 1 = participant successfully passed the congruent practice 0 = otherwise |
| countIncongruent | Counts the number of incongruent practice blocks run |
| practiceAccIncongruent | The highest proportion correct in one of the incongruent practice blocks (if not run, propCorrect = 0) |
| passIncongruent | 1 = participant successfully passed the incongruent practice 0 = otherwise |
| countMixed | Counts the number of mixed practice blocks run |
| practiceAccMixed | The highest proportion correct in one of the mixed practice blocks (if not run, propCorrect = 0) |
| passMixed | 1 = participant successfully passed the mixed practice 0 = otherwise |
Test Performance |
|
| propCorrect | Proportion correct across all test trials |
| meanRT | Mean latency of correct responses across all test trials |
| propCorrectCongruent | Proportion correct across congruent-only test trials |
| meanRTCongruent | Mean latency of correct responses across congruent-only test trials |
| propCorrectIncongruent | Proportion correct across incongruent-only test trials |
| meanRTIncongruent | Mean latency of correct responses across incongruent-only test trials |
| propCorrectMixed | Proportion correct across test trials in mixed block |
| meanRTMixed | Mean latency of correct responses across test trials in mixed block |
| propCorrectMixedSwitch | Proportion correct across switch trials in mixed block |
| meanRTMixedSwitch | Mean latency of correct responses across switch test trials in mixed block switch trial: switch from congruent to incongruent trial and vice versa |
| propCorrectMixedNonSwitch | Proportion correct across nonswitch trials in mixed block |
| meanRTMixedNonSwitch | Mean latency of correct responses across nonswitch test trials in mixed block |
| propCorrectMixedCongruent | Proportion correct across congruent test trials in mixed block |
| meanRTMixedCongruent | Mean latency of correct responses across congruent test trials in mixed block |
| propCorrectMixedIncongruent | Proportion correct across incongruent test trials in mixed block |
| meanRTMixedIncongruent | Mean latency of correct responses across incongruent test trials in mixed block |
| simonEffect | Ms difference in "[mean corrRT mixed Incongruent] - [mean corrRT mixed Congruent]" positive value: participants responded faster when stimulus location and response button location were congruent ("stimulus-response compatibility") => Simon Effect [negative value: participants responded faster when stimulus location and response button location were incongruent] |
File Name: heartsandflowerstask_keyboard_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| condition | 1 = congruent-only 2 = incongruent-only 3 = mixed |
| position | 1 = stimulus is positioned on the left 2 = stimulus is positioned on the right |
| congruence | 1 = congruent trial 2 = incongruent trial |
| prevCongruence | The congruence of the previous trial (important for mixed condition only) |
| switch | 1 = switch trial (trial type changed from congruent to incongruent or vice versa) 2 = nonswitch trial (trial type stayed the same) |
| countSwitch | Counts the number of switch trials per block |
| stimulusItem.1 | The presented stimuli in order of trial presentation |
| response | The participant's response (scancode of responsebutton) 30 = A = left 38 = L = right (57 = spacebar) |
| correct | Accuracy of response 1 = correct response 0 = otherwise |
| latency | The response latency (in ms); measured from: onset of stim |
| list.accPractice.mean | The proportion correct during the current practice block |
| countCongruent | Counts the number of congruent practice blocks run |
| countIncongruent | Counts the number of incongruent practice blocks run |
| countMixed | Counts the number of mixed practice blocks run |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| congruentStim | Stores the label used for the congruent stim | "heart" |
| incongruentStim | Stores the label used for the incongruent stim if the stimuli are changed, picture.congruentStim and picture.incongruentStim need to be updated accordingly | "flower" |
| minPracticeAcc | The minimum practice performance (proportion correct) to let participants move from a practice block to a test block (default: 0.75) | |
| maxPracticeRepeats | Number of times a practice blocks can be repeated before the script is aborted | 3 |
| numberPracticeTrials | The number of practice trials per practice block | 8 |
| numberTestTrials | The number of test trials per test block the number of trials should be divisible by 4 | 20 |
| stimDurationSimpleBlock | The duration (in ms) of the stimulus presentation (= response timeout) for a 'simple' (= one stimulus) block | 5000 |
| stimDurationMixedBlock | The duration (in ms) of the stimulus presentation (= response timeout) for the mixed block | 6000 |
| iti | The intertrial interval (in ms) | 1000 |
| picSize | The proportional sizing (proportional to canvas height) of the pictures | 10% |
| fixationSize | The proportional sizing (proportional to canvas height) of the fixation cross | 15% |
| leftX | The left x-coordinate in canvas percentage | 30% |
| rightX | The right x-coordinate in canvas percentage left edge of canvas = 0%, right edge of canvas = 100% (canvas = portion of the screen dedicated for the script) responseKeys | 70% |
| leftKey | The left response button | "A" |
| rightKey | The right response button | "L" |