C S 473 at NMSU that contains a variety of homework assignments.