University courses must require students to actually write code as part of their assignments. I've worked at universities where the program structure allowed students to finish with little to no coding skills and the the lower tier students from that program were abysmally bad.
A university CS program should force the students to deal with many languages and - importantly - their concepts. A single implementation language for all courses is certainly too little. Show them what it means to dereference a pointer in C, how to write a loop and a function call in assembler, what smalltalk objects can do by passing messages instad of calling methods etc. But I think that having a main language in a CS program is a good idea becaue it allows the teachers to pose more interesting implementation excercises if the students don't have to spend time to learn yet another language while trying to solve a problem.
A university CS program should force the students to deal with many languages and - importantly - their concepts. A single implementation language for all courses is certainly too little. Show them what it means to dereference a pointer in C, how to write a loop and a function call in assembler, what smalltalk objects can do by passing messages instad of calling methods etc. But I think that having a main language in a CS program is a good idea becaue it allows the teachers to pose more interesting implementation excercises if the students don't have to spend time to learn yet another language while trying to solve a problem.