As a graduate student who has done most of my programming in object oriented languages such as python and java, I sometimes fear that while I am well versed in the theory of good design, am I not missing something?
In particular, it seems that functional programming is an interesting and invaluable component of computer science that should be included in any degree program. However, my programs have not offered such a course. Fear not. Thar interweb comes to the rescue.
For those who have a secret Lisp fascination, Practical Common Lisp is available online, for free. Want a bit more theory? The infamous Structure and Interpretation of Computer Programs (SICP) from MIT is also available online; morever, videos of SICP lectures are available here and here.
So, maybe you go to a Java School, but this doesn’t mean you should limit yourself.