This is pretty nice I would like to see the interface
enhanced so I could enter several math problems at once (for
example: Chapter 7, problems 1-19 (odd)) and have the output
in a printable / customizable format (ie a script font that
looks like my handwriting).
I remember university teacher of mine had a collection of a few problems which if you typed it into Mathematica would give an answer on a very different form than what you would be likely to get if you solved by hand the 'normal' way. Handy for giving you a heads up on who might be 'cheating'.
Same is true here. Look at the solution to the quadratic in the beginning. I suspect most students would use the quadratic formula and not complete the square by hand.
There have always been ways to cheat at basic school work, if nothing else by grabbing someone who did know how to do it and copying theirs. This does add one more way, but it can also be constructive if struggling to learn something.
I've been offering these kind of calculators for a while to students... but the department doesn't require a grad their homework. Is this college? What college department requires that sort of thing?
Cheating is now easier. That's good, for two reasons:
1. The steps are small and have clear documentation. Copying a wall of numbers does nothing. Copying delimited steps while being told exactly what they are helps. Actually, it's a lot like typical classroom instruction!
2. Cheating from someone "smarter" allows rationalization. The class is hard, you suck at math, they're smart. But here a dumb process spits out answers. The typical response to this sort of narrow AI is "well, it's not that difficult after all". This suggests that you don't need an abundance of ingenuity to do rote math of this sort. And that's motivating, if you're feeling daft.
The mediocre borrow and the great steal; if a novice learns from brute copying then we shouldn't give a damn.
NoScript filters that link as a potential XSS attack. I guess it doesn't like brackets in URLs. That could be a problem for Wolfram if the noscript author can't find a safe way to whitelist wolfram alpha links.
Mathematica (and thus Wolfram Alpha) is unusual in it's use of brackets to enclose function arguments. Every other computer algebra system I've used has been content with parentheses. And NoScript is pretty much the leading edge for browser security, so if it thinks brackets are dangerous, they probably are and other browsers could follow at any time. Wolfram Alpha's direct use of Mathematica's notation in URLs seems a bit naive, and it wouldn't be the first time Wolfram embarrassingly misunderstood the way the web works.
It would be also be nice if the list of steps wasn't displayed all at once, but more like a lazy evaluator (Show-Me-Next-Step?). That way you can let Mathematica lead you for a bit, but then still be able to proceed on your own without too much guidance.
Then again, knowing the answer ahead of time doesn't really hurt since understanding the steps in between is what matters.
I have been looking at sage (sagemath.org) and sympy to see if I can use open source math packages to do something like this for http://www.mathmaster.org but I don't have any successes so far. Have you seen something like this besides commercial software? They have a nice API but looking at the licensing cost make me read no further.
Aren't they spreading themselves a little thin a little too early? Google can afford to explore different areas, but I think these guys should first work on an impressive engine for pulling together information on the web in a meaningful way before looking at more niche things like resolving math. Unless it somehow calls on the same AI base and was very little work to develop.
First, I'll assume alpha works similar to a compiler. It parses the text, and generates an AST for the input expression. Your goal is to replace the tree with the 'best' possible equivalent AST. Best here is a fitness function, that provides a score for a given AST. At first glance, we'll say the AST with the smallest number of nodes is optimal.
Then, create a list of legal operations on a subtree. Try an operation, and see if the AST gets better. Repeat.
As a personal exercise, I've been working on a basic math engine of my own recently. It's not very difficult to break problems down into computer-friendly steps, but if you approach them that way it's another challenge to choose the steps you should pull out to show in human-friendly output.
Here's a screenshot of the output from a very simple example in the current version: http://imgur.com/hevar.png. It uses LaTeX for the equations and Flot for the graphs. It's a fun project to work on; it can be surprising how far a program can get by just repeatedly applying some simple rules. :)