Is there a way to ask a #Math problem with replaceable values?

For example, I could ask "The teacher gives 3 stickers each to 4 students. How many stickers did the teacher give out?" and the answer is fixed at 12.

But I want the numbers 3 and 4 to be different each time. So is there a way to ask something like "The teacher gives [a] stickers each to [b] students. How many stickers did the teacher give out?" where [a] can be any of {2, 3, 4} and [b] can be any of {2, 3, 4, 5, 6, 7, 8, 9} and the answer is set at a*b ?

#mathproblem

Chris Hofer has provided the solution, I just want to make a couple of notes. They should not keep you from implementing his solution.

The parentheses around x*y are not necessary. It will work if they're present, but they don't have to be. That's a trivial comment and all I have to say about that. The rest is about the 200 versions.

Since there are only 24 possible versions in your example, I would use less than 200 values, especially if you have a small class. Even with a large class, there's little to be gained by going over 100 versions.

You may question why Chris asked you to generate 200 versions. If x∈A and y∈B, where A = { 2,3,4 } and B = { 2,3,4,5,6,7,8,9}, then there are n(A)*n(B) = 3*8 = 24 different problems that can be generated. The random number generations are independent of each other and it doesn't keep track of which ones have been used and which ones haven't been used.

Generating 24 versions will almost certainly NOT generate 24 unique versions. There are 24! = 6.2e23 ways that you can use all 24 numbers. But because of the independence in the generator, there are 24^24=1.3e37 ways you can generate numbers. That makes the chance of getting all 24 different arrangements when you pick 24 numbers 4.65e-10.

I conducted an experiment using Excel. I generated numbers from the 24 possible combinations and then checked to see how many distinct numbers were chosen. I let n represent my sample size (pick n values with replacement from the 24 possible values). I then took 10,000 samples of size n and counted how many times less than 24 unique values were used and found the average number of unique values generated.

Generating 200 examples will not necessarily generate all possible combinations of x*y, but there's a really good chance that it will. Theoretically, there is no n large enough to guarantee that.

What I do in case like this is consider the case of how likely people are to copy off of each other vs the need for distinctness. In a small class of 25 or so students, I would generate 10 or fewer items and then manually scan them to make sure they were all distinct. If they're not, then I hit the generate button again until there's at least a good mix of questions. I don't need for all 24 of the combinations to be generated.

Even if I do somehow manage to get all 24 combinations generated, there is no guarantee that Canvas will use all of them when it administers the test. These are randomly picked using sampling with replacement as well.

I repeated the process, this time factoring in how many questions actually got delivered to the students.I randomly selected versions from the ones that were generated and looked at the uniqueness there.

Here is a table with the average number of unique versions that would be delivered to students when n versions were generated and k students were taking the quiz. Again, this is based off the 24 distinct combinations and everything here is empirical data, not theoretical.

102450100150200102450100150200If you generate 200 versions of the questions and you have a class of 24 students, you're only going to average about 14.8699 different versions delivered to the students. On the other hand, if you generate 50 versions of the questions, then you'll average 13.3856 versions delivered to your students. About 1 less version for 150 less generated. If you only have a class of 10 students, then you wouldn't be administering 24 questions anyway, so you wouldn't need all of them to be generated.

What does it hurt to generate 200 versions? Maybe nothing. It may slow things down a little while it process unnecessary information. I tend to think that you only need to make sure that the versions are different among the people who are likely to copy off of each other and that's a much harder thing to achieve.

My comments are intended more to address the misconception many people have about the way questions are generated and delivered in a formula question and that generating a lot of questions is best or that it will guarantee that all of the versions are obtained. That's just not always true, especially with a small number of possibilities. With small numbers of possibilities, you can generate just as good of uniqueness by generating a small number of versions but making sure they're all unique.