Are you looking for a program that will teach you Discrete Mathematics and Algebra? I am not aware or any such that exist. Discrete Mathematics and (pure) Algebra are very closed-form and analytical branches of Mathematics, and do not lend to computational manipulation. Of course, Discrete Mathematics (and Algebra to a lesser extent) have innumerable

*applications* to Computer Science -- and here, there is much computational work that can be done.

Popular Mathematics and Engineering Computation software packages include, but are not limited to: Maple, MatLab, Mathematica, Mathcad, Gauss. All of the above are closed-sourced binaries for which you will need a license. Octave is an open source environment for MatLab code. Sage is an open source alternative to Maple, and may be your best bet as Maple is the only closed-form analysis tool of the above list.

The above notwithstanding, I think your time will be better invested just doing real programming instead of tinkering around with Mathematics, unless you have good reason to do so. If you are intent on brushing up on your Mathematics, the best way to do that is probably unfortunately to dig through textbooks.

Here are the names of two Algebra books I have on my shelf:

"Linear Algebra and Differential Equations", by Peterson and Sochacki," Pearson Education, ISBN 0-201-66212-4. A good practical introduction to Linear Algebra, algorithmic approaches to solving systems of linear equations, and a good overview of key topics and phrases in Linear Algebra. And sure, you can use all that to solve some differential equations.

"Algebra," by Michael Artin, Prentice Hall, ISBN 0-13-004763. A more advanced read than the above -- approaches more of the modern and abstract components of college Algebra.

And here are some class notes my father prepared for his

Discrete Structures course. I'm sure he'd be happy to hear your feedback!