Back in 5th grade I, like a lot of kids, was pretty fascinated with calculators. While I was growing up my dad had an older one with LED numbers that gave me lots of nerdy enjoyment while I multiplied and divided random numbers together. Later, as my math skills progressed, I asked my parents for fancier scientific calculators so I could do trigonometric functions, calculate logarithms, and do things like arbitrarily raise numbers to the 5th power. By the time I was in 7th grade there was rumors that we would be required to buy graphing calculators for that year's math classes. Sadly, it never happened (and I never did get a graphing calculator).

So, I can't help but think about what the nerdy 10 year old version of me would think about my calculator options nowadays. Of course, most of us don't carry around standalone calculators, but we all have pretty good ones built into our phones. The iPhone's built in calculator (while in landscape mode) is already better than that scientific calculator from my youth.

However, there are tons of great calculator apps out there that do amazing, out of the box things. I've actually tried very few of them (after all, how many calculators does someone need?). I've liked CalcBot as a small step up from the built in calculator, and PC Calc seems to be widely regarded as one of the best full featured calculator on the app store. Soulver is kind of a cross between a spreadsheet and a calculator that I find really useful for certain tasks. MyScript Calculator has the amazing ability to interpret mathematical symbols and numbers that you write on the screen with your finger and then solves the problem.

All that being said, the app that really blew my hair back is Photomath. This app lets you type in math problems in a pretty convenient way, which is no small task, because entering formulas with parentheses, exponents, numerators and denominators, etc, can be a cumbersome process.

Even more fun, though, is the fact that you can actually take a picture of a math problem and it will interpret the math symbols and numbers, clean it up, and solve the problem. If there's a variable in the math problem it will intelligently solve for *x*.

The really really cool part, however, is that it this app does what all my teachers reprimanded me for NOT doing when I was in school: It shows its work. If you click on the answer the app will show you a long list of steps that it used to solve the problem. Clicking on a step will give a little explanation of which mathematical principles were used for that step.

Whenever I see something like this I imagine voices rising up in protest, crying out "Wait, kids should be doing this on their own, not letting an app do it for them!". In fact, I can see my 10 year old self discovering something like this and, with an evil laugh, saying "This app will be able to do all my homework for me - ahh ha ha ha ha!". My adult self, however, is of the opinion that this is an awesome way to acquire the fundamentals of math. In my experience one of the best ways to learn is to break down how someone else solves a problem. Unfortunately not every student has access to someone proficient in math, but with an app like this kids (and adults) can have access to a robotic math tutor. Plus, I think this would be a great way to check your math homework and, if you got the answer wrong, figure out where you went wrong.

Could this be abused? Probably. But I think the upside is a lot greater than the downside.

Also, it's worth noting that the app isn't perfect. Knowing it's limitations can be a learning experience too. For example, I scanned this trigonometric problem from one of my optics textbooks:

From the white box at the bottom it appeared to be scanning the formula correctly, but the answer it was giving was different than the answer in the book (the yellow arrows in the picture above illustrate this). At first I was puzzled, but then I realized I've run into similar problems when writing optics calculator programs. Programming languages usually accept radians for trigonometric functions, and this textbook problem was using degrees. Sure enough, when I converted the degrees to radians the answer agreed with the textbook. So, lesson learned: Computers are great tools, but you can't blindly trust them. Programs take an input, process it, and return an output accurately, but sometimes they process things differently than you expect them to!

To summarize, I continue to be amazed at what app developers are able to do. This is an impressive app and I think it could be a very useful tool for anyone learning math concepts. We live in such exciting times!