One of the more important algorithms of a standard linear algebra course Gauss-Jordan elimination: transforming a matrix into reduced row-echelon form. This widget gives a visual example of reduced row-echelon form.
Once they can recognize matrices in reduced row-echelon form, students learn to transform a general matrix into that form using elementary row operations. The process is typically illustrated in class through several examples; however, students often get lost in the details of the calculations and lose track of what they're trying to learn.
The widget example below is designed to alleviate some of this problem by separating the choice of row operations (the important part of the algorithm) from actually carrying them out (less important for learning). Row operations are discussed and then listed to the right of the matrix (so, for example, the notation Ri ← Ri + kRj means "replace row i by itself plus k times row j"). Once displayed, the row operations are then carried out automatically with the next push of the button. Note the use of colour to focus attention on the relevant numbers for each step.
Much of the time spent designing this widget was devoted to finding a quintessential example – one which shows all possible situations – both occasions where you'd swap rows, for example.
I think this widget works well mainly for two reasons: