Distribution of results for r.int

When I create randomized practice, I use r.int to select a problem parameter. In the CL, I generate a new value of r.int on each screen. But I often find that the activity seems to have used the same value of r.int between successive screens of the activity. This seems to be especially true if a student logs into the activity and clicks “next” many times very rapidly in order to generate all the screens within a very short period of time.

Does this make sense, based on how r.int works? And if so, what would be some ways to guarantee that r.int is producing a wider range of values?

As an example, you could navigate to screen 1 of this activity:

Then click through to the last screen very fast and click on “check my answers”. Then navigate backwards through the activity, and you’ll see that a single answer choice (A, B, C, or D) was over-represented in the correct answer choices.

For example, if you click through the screens so quickly that screens 4, 5, and 6 never actually appear on the screen before it shows screen 7, then does it use the same value of r.int for screens 4, 5, and 6?

In an initial graph, you could create a list of target unique values shuffle that list based on r.int from your CL. Then, you can use the order of elements in the list progressively in each screen to avoid using the same values again…
In CL…

number(`s_{eed}`): r.int(1,20)
value= this.number(`L_{ist}[1]`)

In graph… sample

L_ist= shuffle([1...10], s_eed)

In screens following, in the CL set the L_ist to the one from graph1, and whatever value you want changed to the next element in the list.

numberList(`L_{ist}`): graph1.numberList(`L_{ist}`)
value= this.number(`L_{ist}[2]`)

This is a good idea. Thank you. I did not even know about the “shuffle” command in Desmos graphs!