Math Facts Settings Form



















Explanation of Form

Operations

Select all of the operations one wants to appear in problems. There is (currently) no way to provide weighting: The operations are chosen from uniformly. If no operations are specified, the default assumption is only multiplication (since, by experience, this is what students usually want).

First and Second Integer Values

Specify the allowed integers for the first and second integer. Note that for addition and multiplication problems, this works in the way one would guess: (first value) + (second value) = (answer). For subtraction and division problems, this instead works as, for example, (sum) − (first value) = (second value). In other words, the first value corresponds to the subtrahend (or divisor) and the second value corresponds to the difference (or quotient).

Currently, there is no support for having different integer values for the different operations. This arguably wouldn't be difficult to support, but it would clutter up the form.

Specifying a list of integers is done using only numbers, hyphens as negative signs, hyphens to specify a range, and commas. In theory, white space and all other characters are ignored. Ranges are inclusive. Commas separate ranges or individual numbers. Some examples: Note if 0 is included, it is removed as a possibility for the divisor in division problems. This can have some potentially odd effects if one only chooses 0, so don't do that. Note that division is still chosen with the same probability as the other operations; hence the other division problems will be more highly weighted. I don't really feel like fixing this: You should just exclude zero, as it is trivial.

As an advanced usage note, you can specify the same integer multiple times to increase the likelihood of it being picked. For example, the list 3,3,3,4 would pick 3 about 75% of the time, and 4 about 25% of the time. Thus if you want to practice your 6's, but don't want all of the problems to be 6's, you could write '1-12,6,6,6' as your integer list. This will bias 6 to be more likely, but other things could show up as well. (Note if you do this for both integers, '6×6' would be very likely. It'd be better do it for a single integer, and then allow switching.)

There is no way to specify particular pairs as allowed or disallowed. For example, you can't use this to practice only squares. Again, this wouldn't be difficult to implement but would needlessly clutter up the form for something people probably don't want.

The maximum range that should be entered is -9999-9999. Entering larger ranges may cause the code to fall apart; I make no promises.

The default value is 1-12. If the first value is specified and the second value is left blank, it is assumed you want the same collection of integers.

Allow Switching

This is only relevant if the first integer and second integer lists are different. This allows the swapping of these two integers. As a practical example, let's say you want to practice multiplying by 2. You could write 1-12 in the first integer spot, and 2 in the second integer spot. This will produce only problems that look like 5 × 2: It will never produce a problem like 2 × 8. Since one may want to practice both directions, this is what switching allows for.

The default value is no.

Allow Typos

Allowing for typos means that whenever one gets a problem wrong, they are asked if they actually got it wrong (or it was just a "typo"). This could become tedious, but the setting is meant to be inclusive. It was created with the intention of students who are very slow at typing, but still want to try to be fast. This setting allows them to try to be as fast as possible, without getting horribly punished. It could also be turned on for users of the program who can't write numbers at all (or, at least, not easily): Then you could instead blurt out the answer, and on the "Typo" screen select whether you got it wrong or not.

Note the functionality of this option is that whenever one gets a problem wrong, a review screen shows up. Submitting that it was a typo then rewards a correct answer.

The default value is no. This is because typing numbers really shouldn't be difficult; the program can also be used as practice for this skill. There are only 11 buttons to figure out, after all, and practice makes perfect.

Version History and Planned Changes

This is just here to keep a log of changes, in case it looks different when a student comes back and they want to know why. The plan is to add the final statistic to basically be running totals while the problems are being done as well (perhaps with an option to hide statistics, for those who don't want to see it). There is also some minor display issues with the detailed statistics tables that are apparently not simple to fix.

It is a back burner project to optimize the code, to allowed larger ranges to be used. This was outside the scope of the initial project, so the code as written is fairly unoptimal.

Also, currently timing includes some aspects it shouldn't, since everything is handled server side: If I just hit enter as quickly as possible, I get about 0.09 seconds. This may be higher, contingent on your own setup, and may be quite variable. I could improve this with javascript, handling at least some of the timing client side, but I'm not sure I want to do this.

Of course, if you have suggestions for improvements, feel free to contact me. Math Facts Settings