I encountered a very interesting C++ certification course\program free online: http://www.cppgm.org/about.html
It is called C++ 'GRANDMASTER' certification. Sounds pretty ambitious and challenging doesn't it? Basically you are supposed to accomplish a complete compiler tool chain, from scratch. Interestingly I had the same ambition 2 years ago. I finished the lexical part of the Dragon Book and also my own lexical analyzer, but after careful consideration I decided to quit. Why? Walking through a path that a lot others have already been through is not the best choice, when you are capable to figure out new tools\ideas, which is much better efforts investment.
And talking about this CPPGM: it has everything except optimization - geeze, that's the pearl of compiler !
I share the same thoughts as this guy: Why I’m quitting the C++ Grandmaster Certification course