Abstract :
This paper describes how computer algebra systems can be used to help students understand mathematical algorithms. Since one can write programs in these systems, one way to help the students is to show them complete programs and try to show them what the programs do. However, programs are like black boxes; you see what goes in and what comes out. To understand the program you need to show the steps that it makes because most students need to see a worked example in detail in order to see what an algorithm is doing before they understand how it works. Another problem with programs is that programs force you to be explicit about details; you must formulate the termination conditions, estimate degree bounds, specify domains of variables, etc. These details often get in the way of illustrating the basic algorithm.
The premise of this article is that interactive worksheets and notebooks, which are now available in several computer algebra systems, sometimes provide a better alternative than programs as a teaching aid. In a worksheet or notebook, we can present an algorithm by following the sequence steps done. If part of the algorithm is difficult to express as a single command, or difficult to program, the results can be “typed in” instead. Other parts which may be difficult to formalize in a program, may be very obvious from looking at the output. To illustrate this, we have presented five algorithms as worksheets which we have used for teaching undergraduate mathematics and computer science classes.