Advanced OS at unsw had people from eth zurich and cmu coming out to do it with us, it was an unbelievably good (and work intensive!) class.
I think C makes a lot of sense personally, even when it's kinda dumb, but *only* when the bulk of it is being done in C. EG I did the following classes in C:
* datastructures/algos (this is probably dumb compared to C , particularly given the competitive programming courses later)
* operating systems over two courses
* database internals (I would have loved to go to cmu for this)
* compression and search in a compressed space
* building a search engine
I think there was one more, but I forget. Having a common language that imo hides a lot less than other languages is an important thing for "getting good" I believe.
I will say that the quality of UNSW in retrospect is somewhat hard for me to believe, having seen what I've seen from other universities. It does require you to be a "top performer" and sacrifice a few years of your late teens/early twenties to take full advantage however.