BrainWorkout

Brain Workout (small free app soon ready for release)
Brain Workout is a small app that generates calculation exercies that should be done using pen and paper (or nothing). The app gives you a series of calculations, using random numbers to vary them (different assignments each time). You can also get the correct answer for each calculation.

This is good for practicing counting, and getting used to working with numbers, or if you are very, very bored. Yes, It sounds stupid and repetetive. In fact it is stupid and repetitive, but doing it a bunch of times triggers the "lazy gene". You will probably start thinking "can I not do this faster/more easily" and start looking for clever ways to speed up calculations, i.e. you will become creative, and a more skilled calculator/mathematician (not just a faster one).



This app originated as a console app i used to generate various random numbers/exercises for doing hand calculations.

I have upgraded it and given it a GUI (JavaFX), which includes a LaTeX renderer, among other things.

The program is not advanced, and is really just an exercise in JavaFX, but there will (hopefully) be a lot more stuff added as I progress.

Testimonials
'"Brain Workout seems like a simple solution to a hard problem." - 'Eric Dumont, ITG Prism

'"Brain Workout is worth every cent. I just generated a few programs and I'm gonna sell them on the youtube." - 'Andreas Müller, Webmaster

"Yes, brain Workout looks pretty good. No, I've never been to prison. Why would you ask me that? What? No I'm not gonna carry your f**ing bags. Get away from me." - Scott Ericson, Tech Journalist

'"Brain Workout is the best way to get in shape - mentally." - 'George Stevenson, DotCom

Only instead of mentally, he means sexually, and instead of Brain Workout he means watching picures of Vladimir Puting without a shirt, holding an animal.

Features

 * Generates assignments that can be solved using pen and paper (or nothing at all).
 * Difficulty levels that can be changed.
 * Includes a LaTeX renderer that makes the math look better.
 * Rich text business logic design pattern.
 * Innovative multi-platform back-end.

Planned

 * Diagrams, graphs and more things like that. More visual/geometry stuff.
 * More customization when it comes to the "exercise programs".
 * XLM, MicroNET, and MS-Go model support.
 * A guy that walks around talking to people, handing out copies etc. ([mailto:androlo1980@gmail.com want to be that guy?])

Programs and Difficulty
There are four programs at this point: Each program includes all modules, and affect how hard each module is.
 * Easy
 * Medium
 * Hard
 * Legendary

Ideas
I plan on making it possible to set the difficulty for each module, and add/remove modules to create custom "workout programs". Essentially, it would be possible to make a few different programs, and they would be stored. Then you could choose a pre-defined program, instead of the default ones. Maybe make it possible to set the number of "reps" as well.

I also want to classify the modules based on overall difficulty. Finding the greatest common denominator and doing matrix multiplication is not hard. A module where you calculate eigenvectors of matrices is harder. There should be a minimum difficulty setting for all modules.

Euclid
The assignments are to find the greatest common divisor of pairs of integers (a,b). b is always smaller then a, and both a and b are larger then 1.

The way you could (should) go about this is to do Euclid's algorithm. It normally involves doing a couple of long divisions.

MatMult
MatMult means matrix multiplication. Matrx-matrix multiplication, to be more exact. You are supposed to multiply two matrices with integer entries (from -9 to 9).

You should most often do this using the standard, brute-force matrix multiplication algorithm. This involves calculating many products and sums.

BinMe
Convert a decimal number to a binary number. Speaks for itself.

AreWeQuadRes
You are given two primes, p and q, and you must find out if there is a number x such that:

$$x^2 \equiv q \pmod{p}$$

This requires some slightly more advanced computations, but mostly just normal and modular arithmetic.

Ideas of things to add
JavaFX has got very good support for graphs and diagrams, so I will probably include such things as well, like area approximation (riemann sums, finite elements), newton-rhapson, etc. I think adding some geometry assignments in general would make it more fun. Maybe a calculator should be used then, when working with real numbers. Maybe there should be an icon or something showing if a calculator is required/allowed, to allow for a greater range of exercises.

I want to add some "find the next element in the series" assignments, where you get a sequence of numbers, and have to find out what the next number in the sequence is. It can be tricky to make a good system for that, though.

Download
Coming.

March 2014.