Exercises
Explorations
Try doing just smoothing, no multigrid. Show that it still converges second order if you use enough iterations, but that the amount of time needed to get a solution is much greater.
Extensions
Add a different bottom solver to the multigrid algorithm
Make the multigrid solver work for non-square domains
Implement the full-multigrid algorithm instead of just V-cycles