Close Help

About Math Facts

Math Facts is an interactive flash card program for practicing math facts. The program generates addition, subtraction, multiplication, and division problems involving integers (i.e. the numbers may be negative optionally). It is especially designed for improving speed in calculation. This program has been designed to run with Internet Explorer (IE 5 or 6) or with Netscape (Mozilla) version 7 or higher. It will not run with version 4.7 of Netscape since it makes use of newer browser features.

Teachers may recommend Math Facts to their students for home practice. The instructor will probably need to specify the 'Game Set Up' options appropriate for the particular lesson.

I created Math Facts because my daughter needed to improve her speed in addition and subtraction and therefore her teacher suggested we practice together at home. Rather than having to make and hold up flash cards manually or quiz her orally, I preferred to be able to say "Please do three Math Facts games on the computer" (e.g. before allowing her to watch TV). My daughter can practice more often if she can do it independently, although I still look at the Math Facts 'Games Summary' log when she is finished.

If children develop an automatic recall of these math facts in the early grades, in later grades they will be free to concentrate on learning higher-level concepts of mathematics. Frankly, practicing these facts is dull (as is practicing scales on a musical instrument), but once mastered, they allow the child to move on to study more interesting mathematical ideas as soon as possible.

Accessing Math Facts

You may access the most up-to-date version (with recent enhancements and bug fixes) via the Math Facts web site . Alternatively, you may download Math Facts to your own PC so you that you can use it without being connected to the Internet. To download a Zip file containing the Math Facts web site, click download . You can use a program like WinZip to uncompress the 'mathfactsz.zip' file, which will create a folder called "mathfacts" on your hard drive (in a location set via the program you used to uncompress). Within the 'mathfacts' folder, double click on 'mathfacts.html' to begin using Math Facts (this should open your default browser program). Macintosh users may need to open the 'mathfacts.html' file via the File menu within a browser program instead.

Game Set Up Options

Add/Subtract/Multiply/Divide
Before starting a game, you must first select one or more operations (Addition, Subtraction, Multiplication, and/or Division). Questions will randomly be generated for all of the selected operations.
Randomly swap A/B
Check if you want the addend/factors A and B to be interchanged roughly half of the time. For example, if you are practicing your 3's multiplication table, you might set the min and max for A to 3, minB to 0, and maxB to 12. With the swap option checked, you would see questions like "8 x 3" (B x A) in addition to questions like "3 x 8" (A x B).
No carry or borrow
Check if you do not want carrying or borrowing (regrouping) involved in addition and subtraction problems.
Doubles/squares only
Restrict the problems to those in which both addends or factors are equal, e.g. '3+3' or '8x8'.
Minimums and Maximums
The minimums and maximums for addend/factor A, addend/factor B, and the sum/product C must be set to control the range of numbers used in the questions. For subtraction and division, note that A, B, and C will refer to the operands and result of the inverse addition or multiplication operation. This is illustrated by an equation involving A, B, and C shown next to the checkbox for each operation. In the common situation where the minimums are all greater than or equal to zero (no negative numbers involved), you might set maxC >= (maxA + maxB) for addition and subtraction and set maxC >= (maxA x maxB) for multiplication and division. Minimums and maximums may be negative numbers if desired. Only integers are allowed (i.e. no decimal points or fractions).
As an example, if you wish to practice your 3's multiplication table, you could set both the min and max for A to 3, the min for B to zero, the max for B to 12, the min for C to zero, and the max for C to 36 or higher.
Player Name
If a name is entered, it will be printed in the Game Summary log and used in a 'Congratulations' message if the player answers a certain percentage of the questions correctly. Entering a name is optional.
Use timer
Check this if you want the game to automatically end after a certain amount of time.
Timer minutes
This field is used to change the time limit for a game.
Vertical
If you check this option, the problems will displayed with the operands and result stacked vertically.
Enter answer right to left
Select the this option if you want to enter the lowest place value digit first for multiple digit answers (e.g. to enter '3' then '1' for thirteen). Note that in some browsers the blinking vertical bar won't be displayed at the real insertion point but it will still work correctly.
Auto check answer
To maximize your speed, check this option. This will cause your answer to be automatically checked when the number of digits you have entered is the same as the number of digits in the correct answer, i.e. you do not have to click the 'Check Answer' button.
Sound on
This option affects whether you will hear applause when you complete a game, assuming you answer a certain percentage of the answers correctly. In the future, I hope to add more sound effects and graphics.
No repeats within
Change this value if you want to alter the default behavior which is to ensure that the operands for a new problem don't exactly match those used in the previous 5 questions.
When you are ready to begin answering math problems, click the 'Start Game' button.

Game Play

After 'Start Game' has been clicked, the game play begins. (OK, so it's not much of a "game" per se right now, but I hope to make it more fun with sounds and graphics in the future.) Enter your answer by either typing digits on the keyboard or clicking the number buttons with the mouse. The 'oops' button erases the last digit entered (just like using the Backspace key). When your answer is complete, if not in 'auto answer' mode, you may click on the 'Check Answer' button, or type the Enter key or the Space bar on the keyboard.

If you are timing yourself to improve your speed, you may click the 'Pause Game' button if you need to take a break in the middle of a game. Then click the 'Resume Game' button when you are ready to continue playing.

To stop playing, click the 'Stop Game' button. (Do not use the 'Back' button on your browser.) If the timer option was set, the game will automatically be ended when the timer counts down to zero.

After a Game Ends

After you have played at least one game, these three buttons will be enabled below the 'Start Game' button:
Games Summary
This button will open a new browser window displaying the high level results for the games you have played within this browser session. It will not include games played in older sessions.
Last Game Results
This button will show you the questions for the previous game, including the correct and incorrect answers.
Need to Practice List
This button will display all of the questions you have answered incorrectly in all games for this browser session.
Via the browser's "File" menu, you may print these result lists or save them to your hard drive. You may need to "Save As" as type "Text file" in some browsers for the results to be saved correctly to a file. Alternatively, you can copy and paste the results list to another program (e.g. NotePad) using the mouse.

Math Facts is Free

Math Facts was developed by Lynn Robinson (in Indianapolis). It is freeware and is open source. It may be distributed to anyone without cost. If you alter the source code, please change the title and HTML file names before distributing your new program on the Internet, in order to avoid confusion.

Technical Details

This program is written entirely in client-side JavaScript within HTML pages. This has the advantage that the HTML pages for this program may be copied and used anywhere without requiring a server-side program or an Internet connection. But the downside is that JavaScript runs inside the browser's "security sandbox" which means that it cannot read or write to a hard disk without intervention from the user (except for a small 'cookie' file). Therefore the program cannot preserve game history across browser sessions.

Future Enhancements


Written by Lynn Robinson, November 2002.

If you have comments/suggestions/bug reports, click here to email Lynn .

Fun Math Links

Close Help