I am currently an undergrad at Berkeley. I really like the current structure of our computer science program. We start in Scheme for Intro to CS, move to Java for data structures, and finish with C and MIPS for machine structures. After that, the upper division courses are either C++/Java/Python.