WeBWorK is a system that allows professors to put homework
problems on the web and allows students to solve these problems
over the web.
Using WeBWorK, students may try to answer homework problems more than once.
After each try, a message appears telling the student whether
the answer is correct or not. This allows students to try to find
out what they did wrong and hopefully to understand the topic of the question better.
Each WeBWorK problem set is individualized (each student has a different
version of each problem, for example the numerical values in the formulas may be
slightly different).
See the material at this site for much more information about WeBWorK.