Practice problems utilize WeBWorK,
a Perl-based [open source] system for delivering individualized
homework problems over the web. See also their SourceForge
site.
Some WeBWorK problems are adapted from the over 3900 problems
distributed with WeBWorK (see WeBWorK's home page for download
information).