Possibly the most common thing I use a computer for is the [Todd-Coxeter algorithm][3], which enumerating finite index subgroups of a finitely presented group. I can't count how many times I have used it. It comes standard with the computer package [gap][1] (or [MAGMA][2] which has similar functionality, and is freely available at North American Universities).

I think this algorithm might be worth a mention in your book, because it's cool, but rarely something you would ever want to do by hand. For me, this is often what I want a computer to do, quickly compute some examples, so I can tell how half-baked an idea of mine might be. 

 Also, both gap and magma give you the option to generate either the complete list of subgroups at a given index or iterate through the list of subgroups if you just are looking for an example with a given property. So it would could serve as a useful way to introduce iterators.


  [1]: http://www.gap-system.org/
  [2]: http://magma.maths.usyd.edu.au/magma/
  [3]: http://en.wikipedia.org/wiki/Todd%E2%80%93Coxeter_algorithm