The following is a set of programs required for the problem sets. Beyond the problem sets, these are a useful reference for possible future work, and some of these may also be useful for your final project.
Most of these programs have been developed at universities for research purposes; this is not commercial software. For the most part, source code is provided. These programs may be used for problem sets, for research, and for related academic purposes. They should not, in general, be re-distributed for commercial gain (see individual links to the developer's home pages for details). Of course, this does not mean that application of this software in appropriate domains is out of the question. If you see such an opportunity, most developers would be interested to hear about it, and it may be possible to arrange a contract. The details of this vary, so check the developer's home pages for details (links to these are provided).