| Reference | Downloads | Github

Staircase WITH randomized stimuli at each level


Trying to deliver a math test that:

  • Presents questions of 3 levels of difficulty (0/1/2, easy/med/hard)
  • When a subject answers correct/incorrect, it adaptively gets harder/easier
    *AND it draws from 3 lists of problems at random (w/out repeat) for e/m/h

Has anyone achieved something like this (regardless of stimuli, of course), who wouldn’t mind sharing?

(I’m figuring I’d have to look at the Coder scripts generated in Builder for a staircase and for a randomized loop, and somehow figure out how to marry the two. I’m very new though, so if anyone’s got a template/advice, that would be super!)


Part of the problems for me:

*If it were straight python code, it’d be easier to think about how to merge staircase and randomization of it’s levels; however Psychopy Coder uses built in things like TrialHandler that make it harder to modify what’s going on past the preformatted set-up.

*In Builder, when you view the loop settings, it’s either “random” OR "staircase, and the staircase menu doesn’t allow you the option to input a spreadsheet with conditions.

10 AM


I suppose it’s not essential that I randomize. I have written some python code that will randomize my set of stimuli. The crux is: how can I get the staircase to present more than just one thing for each level?

In the psychophysicsStaircase demo, it just presents the same gradient of Gabor patch every time for a given level. For my experiment, I want to cycle through a set of problems for each level. (The first time you get an “easy” (level 1) math problem, give, say “Q_E_A”, the next time you get an “easy” problem, give “Q_E_B”, and so on…)

There are two options depending on what you need. If the thing that varies is a critical part of your measurement (e.g. comparing one condition against another) then you should use interleaved staircases. Then you have one staircase for each condition, and these are controlled using a conditions file (it’s like a combination of s standard experiment design and a staircase).

If the thing that varies is not actually a measure of interest (e.g. the side on which the stimulus appears must be randomised but you aren’t planning to use that in your analysis) then you can just use a single staircase and control it with code.