Something I've been meaning to do for a while is to write an analytic renderer that evaluates the light equation. Basically, it would be a program that takes in analytic geometric data and spits out an equation (or a system of equations) that can be evaluated in Mathematica / Maxima. The runtime complexity would be horrible, but at least it would give mathematically perfect, noiseless results. Or a hybrid approach could work, too (get the equations, do a series approximation, sample the polynomial or whatever else you end up with).
To anyone looking to get into graphics - I strongly recommend writing a toy scanline raytracer - it's a great learning experience.