Just read in your profile that you're at Wisconsin. Madison, I assume? I took a look at the schedule for next year, and it looks like the compilers course is a combo compilers and programming languages - which is excellent. I highly recommend it. Looking at that list, I also strongly recommend introduction to computer architecture. Having a solid grasp of what's actually going on in a processor will make you a better programmer.
Between architecture, programming languages/compilers and operating systems, you will have all of the concepts necessary to understand the semantics of the programs you write, what kind of code will actually be generated from those semantics, and a basic understanding of the entire system stack from your program, to the operating system, down to the processor.
Madison is an excellent school, take advantage of your time there.