Creating Blocks

The next step is to define the different kinds of blocks that will be used in the experiment. Blocks represent sequences of trials that can be in random or fixed order. For this experiment, 5 block elements will be defined, 3 for practice trials and 2 for data collection.

First, let's define the practice block element for classification of pleasant and unpleasant words.

<block up_practice>
/ trials = [1-20 = noreplace(pleasant, unpleasant)]
/ bgstim = (pleasantreminder, unpleasantreminder)
/ preinstructions = (up)
/ errormessage = (errormessage, 200)
/ blockfeedback = (latency, correct)
</block>

This block element is named "up_practice". The trials attribute specifies that the block runs 20 trials randomly selected without replacement from the two trial types "pleasant" and "unpleasant". The selection algorithm guarantees that both trial types will be run an equal number of times (10 time each). The bgstim attribute specifies that the "pleasantreminder" and "unpleasantreminder" instruction text stimuli are presented on the screen as background stimuli. The preinstructions attribute displays 3 pages of instructions ("intro1", "intro2", and "intro3") before running the trials. The errormessage attribute presents the "errormessage" stimulus for 200 ms whenever subjects respond incorrectly. Finally, the blockfeedback attribute specifies that after the block is over, subjects will be shown their mean latency and percent correct for the block.

The rest of the blocks have a similar pattern. Next, lets define a practice block on which insects are classified with the left key and flowers with the right:

<block if_practice>
/ trials = [1-20 = noreplace(insleft, flowright)]
/ bgstim = (insectleft, flowerright)
/ preinstructions = (if)
/ errormessage = (errormessage, 200)
/ blockfeedback = (latency, correct)
</block>

Now, lets define a practice block on which insects are classified with the right key and flowers with the left:

<block fi_practice>
/ trials = [1-20 = noreplace(insright, flowleft)]
/ bgstim = (insectright, flowerleft)
/ preinstructions = (fi)
/ errormessage = (errormessage, 200)
/ blockfeedback = (latency, correct)
</block>

Next, lets define the "compatible" test block. Note that on test blocks we no longer dispay an error message for incorrect responses:

<block compatible>
/ trials = [1-40 = noreplace(insleft, flowright, pleasant, unpleasant)]
/ bgstim = (unpleasant_insect, pleasant_flower)
/ preinstructions = (compatible)
/ blockfeedback = (latency, correct)
</block>

Finally, lets define the "incompatible" block:

<block incompatible>
/ trials = [1-40 = noreplace(insright, flowleft, pleasant, unpleasant)]
/ bgstim = (pleasant_insect, unpleasant_flower)
/ preinstructions = (incompatible)
/ blockfeedback = (latency, correct)
</block>

Creating Trials Creating an Expt