On the page about playing against computer programs you are warned of the problem of trying to improve by playing Go against programs which you can beat. But a Go-playing program can be a useful teaching aid in other ways.
Some programs include joseki libraries, which you can use to step back and forth through a joseki, studying all the lines. This may be much easier than studying the same joseki in a book: You can concentrate on what you arelooking at, without simultaneously trying to remember which page of the book you are on.
Some Go-playing programs also attempt to analyse the life-and-death status of groups. This is less useful, because the results can be wrong.
Many Faces of Go includes a joseki tutor, a problem-solver, and a fuseki library.
Many of the game recording programs include collections of games for study. Some have many thousands of professional games, some with annotations or tools to help study opening paterns and the like. GoGoD, GoGAP and MasterGo are among the best.
Thomas Wolf's GoTools program does much more thorough status analysis than the Go-playing programs do. It does not give wrong answers; if it is given a sufficiently difficult problem, it thinks until it has completed its analysis. If you specifically want a program that does life-and-death analysis, you are recommended to buy this one, which gives correct answers, rather than a program that was designed primarily to play Go. It can also be used to generate problems.
GoTools is available from Thomas Wolf by download.
This is a single large SGF file, which you can download at Kogo's web site. It is incompatible with some SGF-reading software; the site lists the programs that can use it.
From China there are two programs Tesuji Made Easy and Fuseki Made Easy. The first contains more than 2400 problems, including classics, split by category. The second studies 16 common fuseki (opening) styles, discussed in professional games. They are available from Schaak en Gowinkel het Paard and Yutopian.