Whaa? Compilers was the single best CS course I ever took. It was the superset of everything else: to write a compiler, you need to know data structures, machine architecture, discrete math, etc.
It was also the only class where we wrote a really serious program. Every other class had some toy-seeming final project, but here we wrote a complete compiler, from scratch. (Final day: they give you some source code, you compile it with your compiler, link it with some native libs, and run it.)
You mention source control. Good luck writing a compiler without that! Writing a compiler forces you to learn all the glue pieces they don't explicitly teach.
I learned more taking compilers than the whole other 3.5 years of CS classes I took. It was by far the most fun/hard/useful college class I took. Amazingly, it was optional. So if I had one piece of advice for CS freshmen, it would be: take the compilers course!
It was also the only class where we wrote a really serious program. Every other class had some toy-seeming final project, but here we wrote a complete compiler, from scratch. (Final day: they give you some source code, you compile it with your compiler, link it with some native libs, and run it.)
You mention source control. Good luck writing a compiler without that! Writing a compiler forces you to learn all the glue pieces they don't explicitly teach.
I learned more taking compilers than the whole other 3.5 years of CS classes I took. It was by far the most fun/hard/useful college class I took. Amazingly, it was optional. So if I had one piece of advice for CS freshmen, it would be: take the compilers course!