You asked for a way to pull shaders from a file.

Only made the changes to "Week1", to make checking out the changes easier.  Next step would be to take a string for what files to load (instead of it being hardcoded into the header).

I added a function that will pull the contents of a file into a string. (It is written in C, you look like you will know C++ better than myself).

Moved shader information into their own files.  Hardcoded the filenames into the header (should be taken as an arguement really...).

Modified the little remaining things in the header to make it work.  Check that it compiles and runs (2 blue triangles in a square-ish formation) with g++ 4.2 on FreeBSD 9.1 (amd64).