For a course in IGAD I had to create several shaders such as the regular phong shader but also a normal map shader which needs a mesh's tangeant data. I had to create spotlights, projectors and implement a shadowmapping technique which I extended to make the shadows go in all directions by rendering to a cubemap. For this class I also had to make a reflection shader, a refraction shader and a combination of both by using cubemaps.
For another course called Special Effects I had to create even more shaders, but those were more focussed on full-screen post process shaders. The shaders I created for this course were a Depth of Field shader, a per pixel lens flare shader, a bloom shader, a soft particles shader and a ocean shader with refraction, beer's law, vertex animated waves and foam on the shores.
Later I tried creating a deferred renderer on my own. The only special feature of this deferred renderer is the screen-space motion blur as a post process.