This paper describes a webMathematica-based tutoring system for algebraic calculations, such as simplifications of rational expressions, for high school students. The system has two learning paths to accommodate various student learning styles: interactive exercises and step-by-step instructions. It also has an explanation page to help with calculation errors based on misconceptions, which beginners and slow learners tend to have. The pages are linked to each other and inherit the student's expression from one page to the next. Based on the expression, the system shows a comment, a list of the next steps in the calculation and the explanation for any incorrect calculation step. The system uses webMathematica to display the dynamically changing contents, Mathematica to evaluate the symbolic expressions, based on rules described in custom Mathematica functions, and a J-Link program to retrieve the necessary data from a database.