These exercises are not tied to a specific programming language. Example implementations are provided under the Code tab, but the Exercises can be implemented in whatever platform you wish to use (e.g., Excel, Python, MATLAB, etc.).

###Exercise 1 - Time Evolution of Particle in 1D Box
The ultimate goal of this exercise is to create an animation depicting how the wavefunction of a particle in a one-dimensional, infinite square well (aka particle in a box) evolves in time. The results will, of course, depend on the choice of initial wavefunction, so choosing an interesting, nontrivial wavefunction is the first step. The exercise is broken into several parts to walk one through the procedure.
#### Part 1 - Initial Wavefunction
Come up with a nontrivial initial wavefunction. Your choice here will determine what your final animation looks like. Assume the particle begins localized in the center of the box. Once you have an appropriate initial wavefunction, create a plot of its square modulus. Here are some important points you should consider when crafting an initial wavefunction:
* Make sure your initial wavefunction satisfies the boundary conditions. For this exercise, that means the wavefunction must vanish at the edges of the box.
* Be sure to normalize your initial wavefunction.
#### Part 2 - Expanding in Stationary States
The next step is to express your chosen initial wavefunction as a linear combination of the stationary states. This means you will be writing your wavefunction as a series expansion in the stationary states. First calculate the expansion coefficients using Equation (4) from the theory section. Once this is done, your initial wavefunction can be written in terms of the stationary states $\psi_{n}(x)$ as $$\Psi(x,0) = \sum_{n=0}^{\infty}c_{n}\psi_{n}(x).$$
To use this result we will need to truncate this expansion, i.e. only keep a finite number of terms. Determine how many terms are needed to obtain an accurate reproduction of the initial wavefunction and plot the square modulus of the result. It should look identical to your plot from the previous part.
#### Part 3 - Time Evolution
In the previous part, you approximated your initial wavefunction as a partial sum of stationary states. Now you are ready to determine how your wavefunction depends on time. To do so, simply add the appropriate time dependence factor to each term in the sum in accordance with Equation (3) from the theory section. Define your time-dependent wavefunction and plot its square modulus with $t = 0$. Again, this plot should be identical to those of the previous two sections.
#### Part 4 - Creating an Animation
Now you can see what your wavefunction looks like at _any_ time, but it is first important to get a sense of how much counts as "a long time." We also want our final animation to be periodic and loop continuously. Both of these issues are addressed by noting that for a particle in a box, there is a special amount of time $T$ called the _revival time_ after which the wavefunction will have returned to its initial state. Roughly speaking, this is the quantum analogue to the time it takes a classical ball, bouncing around in a box, to bounce back and forth and return to its original position with its original velocity. For a particle in a box, the revival time is given by $$T = \frac{4ma^{2}}{\pi \hbar},$$ where $a$ is the width of the box.
Try plotting the square modulus of your time-dependent partial sum at various fractions of the revival time. If you superimpose plots at different times, you should be able to see a graduate evolution. Some wavefunctions will evolve more rapidly and in a more complex manner than others, so depending on your choice of initial wavefunction you may need to superimpose plots at closer times.
The final step is to divide the revival time into a large number of time steps and create a plot of the square modulus of your time-dependent partial sum at each time step. These are the individual frames of your animation. How many time steps/frames you need depends on the complexity of your initial wavefunction. The more frames you add, the smoother your animation will be, but the longer it will take to generate.
Lastly, string your frames together to produce the finalized animation!
###Exercise 2
Repeat the procedure outlined in Exercise 1 for a particle trapped in a quantum harmonic oscillator potential. Note that the basic steps remain the same, but now the stationary states have changed. Can you think about what else has changed?