Human Sentence Processing (WiSe 2024/25)
University of Stuttgart
2025-03-02
PennController for Internet Based Experiments = PCIbex is an open-source software for building and running a wide variety of online experiments, including self-paced reading, questionnaires, acceptability ratings, custom tasks …
Goal: Easily design and run online experiments without extensive programming skills (some some experience in JavaScipt and CSS is useful).
Developed by Jeremy Zehr and Florian Schwarz at UPenn as an extension of Ibex by Alex Drummond.
Ethics agreement comply with the the Ethics Committee
Participant metadata New experiment, who dis?
Instructions and task description short + sweet + clear, people don’t read
Exercise practice, people didn’t read the instructions
Transition now it’s serious
Actual experiment data you care about most
Data upload to server
Thank you, goodbye, and explanation What did you do?
Bonus Assignment to lists
ITEM | CONDITION | SENTENCE | QUESTION | CORRECT | WRONG | LIST | TYPE |
---|---|---|---|---|---|---|---|
1 | 1 | Andrea*was*dismissive*… | 0 | 1 | item | ||
2 | 2 | Svenja*was*barbaric*… | 1 | The Viking | The teacher | 2 | item |
3 | 3 | Elisa*was*defensive*… | 1 | The lawyers | The policemen | 3 | filler |
4 | 4 | Jana*was*grown*up*… | 1 | Vodka | Gin | 4 | filler |
file_name.csv
: Strings in quotes and separated by commas.
"ITEM","CONDITION","SENTENCE","QUESTION","CORRECT","WRONG","LIST","TYPE"
1,1,"Andrea*was*dismissive*to*end*the*date*faster.",0,,,1,"item"
2,2,"Svenja*was*barbaric*to*win*the*Vikings*over.",1,"The Viking","The teacher",2,"item"
3,3,"Elisa*was*defensive*to*distract*the*lawyers.",1,"The lawyers","The policemen",3,"filler"
4,4,"Jana*was*grown*up*to*buy*vodka*for*the*party.",1,"Vodka","Gin",4,"filler"
Sequence("ethics", "setcounter", "metadata", "instructions",
randomize("items-exercise"), "start_experiment",
rshuffle("items-filler", "items-item"), SendResults(), "end")
Ethics agreement "ethics"
Assignment to lists "setcounter"
Participant demographic data "metadata"
Instructions and task description "instructions"
Exercise randomize("items-exercise")
Transition "start_experiment"
Actual experiment rshuffle("items-filler", "items-item")
Data upload SendResults()
Thank you, goodbye, and explanation "end"
List must be manually coded and called List or Group
PCIbex automatically rotates through the lists.
Position in sequence matters.
randomize("items-exercise")
and rshuffle("items-filler", "items-item")
does NOT guarantee that no two items follow each other.
Consider target to distractor ratio or set a fixed order of sentence presentation.
For a fixed order of presentation, remove randomize()
and rshuffle()
.
More on randomization in PCIbex and Ibex documentations.
Option 1 | Option 2 | Option 3 |
---|---|---|
Default template | Write your own | Copy someone else’s experiment (e.g. mine) |