Welcome to Math Trainer. When this project started in early 2020, the purpose of this Python program was twofold:
- To train my python skills
- To train my mental math skills
However, nowadays, I've learned Python much better through my work. The purpose is therefore now just to train my mental math abilities and have fun developing this project further.
The program is easy to use. Simply run main.py and the prompt will guide you through the rest of the process from choosing a type of math problem to which file to save your results to.
New types of problems are added now and then, when I feel like it. The current backlog of things to do is as listed below:
- implement trigonometric problems like sin and cosine with periodic arguments
- implement general approximation of otherwise "difficult" problems, e.g. large multiplication problems
- make text to speech mode able to pose problems in English (currently only Danish)
- make saved dataframe store number of posed questions as there seems to be a slight fatigue when doing many questions versus a few, which pulls up mean time slightly
- implement multiplication tables mode
- implement "mixed mode" which poses a random mix of selected problem types
- implement percentage approximation mode
- implement linear equation solving mode (e.g. 3 + x = 5, find x)
- make questions that were incorrect more likely to be posed again (like boosting) until correct
- make time series plot of historical response times or scores from data frames
- make some unit tests
- implement squares mode
- implement square root approximation mode
- implement time difference mode, e.g. hours between 22 and 8
- implement log approximation mode
- make text-to-speech so problems are read aloud better simulating a day to day example situation of mental math
- make graphical interface (probably never gonna happen)