The Debugger

Detecting and fixing typos Say you mistype a command, for example you type newCanva instead of newCanvas: [js highlight=11]newTrial( newText(“The fish swim in a tank which is perfectly round”) .print() , newImage(“two”, “2fishRoundTank.png”) .size(200,200) , newImage(“one”, “1fishSquareTank.png”) .size(200,200) , newCanva(450,200) .add( 0 , 0 , getImage(“tow”) ) .add( 250 , 0 , getImage(“one”) ) .print() …

Data analysis in R

this page assumes that you are already familiar with R Starting with a clean slate You probably tested your experiment at multiple steps along the way, at which your were recording different pieces of information in the results file. Now that you have a final design, scroll down to Results to delete the files results …

Timers & Randomization

Adding Timers & Delays When you tried out the experiment, you probably noticed that the trials came in rapid sequence without any pauses between them, with picture selection (or end of audio) marking the end of the trial, followed by an immediate transition to the next trial. It would probably be a good idea to …

Tutorial Home

Experiment Template Request Form (Click here to access the previous version of the tutorial) (We did a Webinar that walks through the main parts of this tutorial [April 2, 2002 version]; You can watch a video of it here) In this tutorial, we will learn to implement a simple experiment design using PennController for IBEX. …

Getting started

Setup Create a new experiment on the PCIbex Farm (create an account first if you don’t already have one). Open your project (click the name of your experiment) and find the text Update from git repo on the page: below it, you should see two input boxes and a Sync button—if you can’t see them, …

Data collection basics

Collecting data PennController automatically logs when a trial starts and when it ends, but you have to explicitly tell it what other information you want to collect. In our case, we are interested in what is captured by the key element. PennController has a command that logs element-related events: .log. All we need to do …

Participant information

Welcome/Instruction screen There are various good reasons to add a preface page (or even several) to your experiment, including: the page can describe and give instructions about the experiment to your participants the page can serve as a consent form the page can ask the participant to type an ID In PennController, every page corresponds …

Audio, Text unfolding and Clicks

Audio PennController makes playing audio simple: just create an audio element in the cache using newAudio and play it using the command .play. the scripts on this page correspond to the content of the picture-selection newTrial(…) [js try=”true” new=”1-3″]newAudio(“2fishRoundTank.mp3”) .play() , newText(“The fish swim in a tank which is perfectly round”) .print() , newImage(“two”, “2fishRoundTank.png”) …

Trial templates & tables

Multi-trial experiments using templates Most experiments consist of multiple trials, typically varying levels of a factor, e.g., whether or not the inflectional morpheme -s is present or not in our example experiment. So the last step in designing our experiment is to create an entire set of trials. We could copy and paste the newTrial(…) …

Text, Pictures and Keys

Elements Elements are the core pieces that PennController works with: they allow you to manipulate and present content such as text, images, audio or videos, but also to structure trials by inserting pauses and, crucially, collecting the participant’s input. The main parts of PennController trial scripts therefore consist of sequences of commands relating to an …