Arithmetic Practice
A JavaScript web page for practicing arithmetic.
©2008, Bob Beeman
Updated 2008-08-16 @ 01:25 EDT (UT-4)
Read More Important Notice

This program is intended to be an electronic version of "Flash Cards" for learning your math tables. If you are using this program as part of a class, be sure to follow your teacher's instructions. Otherwise, just choose anything for your initials and class period, choose an operation and difficulty level, and click on "Start Exercise". For each problem, enter your answer using the number keys and press the "Return" or "Enter" key.

NOTE that since division by zero is undefined, for problems that involve this, the correct answer is an upper or lower case u (for undefined) or a period (".").

This page works well with "FireFox" and "Safari" browsers. It coexists with "Internet Explorer".


  0   Error Log
+ 0    

Use the calculator below to check whether a given report is valid. Type or paste all 32 characters of the report into the field on the left, then press the "Validate" button. The result will appear.


Example Reports:


Read More
To use this program, start by entering your initials (exactly 3 characters) and your class period (1 through 7). If you are doing this for class be careful to follow your teacher's directions, or you may not get credit for the exercises.

Choose a function to practice (Addition, Subtraction, Multiplication, or Division). When you click the "Start Exercise" button the timer starts. Enter the correct answer using the number keys followed by the "Return" or "Enter" key. If you make a mistake, the error counter will increment and an entry will be made in the error log. No need to use the backspace key. Just type a new answer. You will be stuck there until you get the right answer.

Since division by zero is undefined, for division problems where the divisor is zero, enter "U", "u" or "." (period), whithout the quotes, of course.

The program keeps track of how many problems you have done, how many are left, and the number of errors. Errors are entered in the "Error Log" so that you can review your mistakes.

When you have done all the problems on a given level, a report will appear consisting of 32 characters. The significance of the characters in the report is as follows:


RHB   : My initials.  You should use yours.
1     : Period 1 of the school day.
A1    : Addition, level 1.  (M = Multiplication, S = Subtraction, D = Division).
0817  : I started doing this set on August 17.
1726  : At 1726 hours (5:26 PM).
0123  : It took me 1 minute and 23 seconds to finish.
00    : I did not make any errors.  (00 = zero errors  01 = 1 error etc.).
20092 : A cryptographic check sum of the report.  
        It discourages people from making up a fake 
        "Report".  If they do, there is one chance in 
        100,000 that it will verify correctly.

Seven "levels" of practice are provided. The reason for these is that it is tough to try to learn all 169 combinations of problems for 0..12 all at once. These levels allow you to break the learning down into manageable chunks.

Below is a graphical summary of how the "Levels" work. All even-numbered levels cover only the permutations that were not covered in the next-lower level. Odd-numbered levels cover all possible permutations of numbers up to the limit.

 0 1 2 3 4 5 6 7 8 9 10 11 12
0 L1
36 new
36 total
6L2 = 45 new
L3 = 81 total
9L4 =  40 new
L5 = 121 total
11L6 =  48 new
L7 = 169 total

This page is copyrighted "freeware"
©2008, Bob Beeman
That means that although it is copyrighted, it is intended for you to use for education or entertainment. You may use it yourself, copy and redistribute it, or even put it on your own website. I ask only that you not make any changes. If you reuse any of the code, make sure to list me as one of your sources.

My only reward for writing this is the 15 milliseconds of fame I receive from having my name here. Don't deprive me of that.

You can copy this page by simply doing a "Save As" in your browser and putting it somewhere on your hard drive (or your web site). If you stop there the background will be gone. To preserve the background, copy the following file into this same folder, without changing its name, by again using your browser's "Save As". The next time you refresh the page, the background should be restored:


I make NO guarantee of any kind.
This page may contain serious errors.
Use this page entirely at your own risk!