I'll second the votes for Sage, Macsyma as Maxima and Wxmaxima, Scilab, Octave, R, and GAP.
For kids to play with are KGeometry KiG (K-interactive-Geometry), letting you draw out geometric relationships and actively move points around, letting all defined subcomponents change with it: e.g. draw three points, define+draw the line segments between the points, define+draw the perpendicular bisectors of these line segments, define+draw a circle that touches the three points of the triangle. Now drag any of the three points of the triangle around and watch all of the defined components move along to remain the bisectors / intersections / circles consistently. It's a great way to play around with geometric constructions.
Also, you can't go wrong with using awk, sed, and bash on the command line.