I agree with Henry, especially on the "theoretical stuff" part. When you
learn about computer languages and semantics you will have an easier time
learning new languages because you realize that it is only the syntax
that changes (slightyly).
Follow your courses and invest time and energy in those subjects that
interests you.
With respect to Compiler design you could take a look at one of Appels
three books (C, Java, ML) on Compiler design:
http://www.cs.princeton.edu/~appel/modern/ /Svend Rost