We present the design principles for a new kind of computer system that helps students learn algebra. The fundamental idea is to have a system based on the microworld paradigm that allows students to make their own calculations, as they do with paper and pencil, without being obliged to use commands, and to verify the correctness of these calculations. This requires an advanced editor for algebraic expressions, an editor for algebraic reasoning and an algorithm that calculates the equivalence of two algebraic expressions. A second feature typical of microworlds is the ability to provide students information about the state of the problem in order to help them move toward a solution. A third feature comes from the CAS (Computer Algebra Syste...