Links
The Mathematica project should be a very small research problem that takes a few hours. Emphasis is on investigating an interesting problem and visualizing the results, not on writing hundreds of lines of code.
There are two options for the project: either pick one of the suggested topics below, or choose your own topic. If you choose your own topic, you must email the instructor or one of the TAs and get permission; in the email, describe the topic and how you plan on solving it. If you choose your own topic, it can be relatively easy.
Your code must be very well documented, and should explain what you are doing. Don't force the grader to redo your project just to figure out what you were doing!
If you don't want to choose your own topic, then you may select from one of the following
Here are possible starting points for your own topic:
- We haven't discussed text processing much in Mathematica, apart from StringJoin (<>), but it is pretty straightforward. You could implement a text processing algorithm, such as the Burrows-Wheeler transform (this in particular looks particularly well suited for easy implementation in Mathematica). If you liked, you could figure out how to use Import to load text data, and work with that instead of restricting yourself to the contents of the notebook.
- Any physical system governed by an ODE or system of ODEs is a potential source of a project-- solve it with NDSolve, and use Mathematica's graphics system to visualize the results. Or perhaps you could implement your own solver, say a Verlet integrator or a Runge-Kutta solver, and use it to solve a system, then visualize the results.
- Lots of theorems can be corroborated experimentally with Mathematica. For instance, you could graphically verify the convergence of the Rayleigh quotient to the norm of a positive definite matrix, or experimentally verify Szego's theorem on the behavior of the eigenvalues of certain sequences of Toeplitz matrices (see Chapter 1 of Toeplitz and Circulant Matrices: A Review for a perfectly readable discussion of Szego's theorem).