Worth taking a compiler course?
After working for a while as a self-taught software engineer working in C++, I felt my self frustrated with my lack of formal knowledge about how C++ interacts with architecture, algorithms, and data structures. I went back to get a master's in CS (which has proven to be extremely challenging, though mostly rewarding). I do find that the level of C++ used in my university program is way, way behind the C++ used in industry. More akin to C really... mostly flat arrays and pointers.
I've taken the basic algs, data structures, simple assembly language, and OS classes. I still feel like there is more to learn to become a master C++ programmer, though. To learn the WHY behind some of the modern C++ constructs.
Are there any particular courses you'd suggest for this? I am wondering if a basic compiler course, or maybe a deeper algorithms class would be next logical step.
Thanks!