Shader Programming

Can you tell which objects aren't real? The Shader Programming class has two assignments: make a photo-realistic fruit (or vegetable) of your choice, and make any object and composite it into a real photograph. For the fruit/vegetable, the shader should have at least one component that is procedural (meaning code or node based, not hand-painted). For the photograph, the students take their own photo and learn the basics of compositing to fit it seamlessly into the image as if it were really there.