I'm judging from the first-year course, which I was so unhappy with that I switched to mathematics; maybe it gets better later on. But what I saw was an operating systems course that was basically rote memorization, and two programming courses that taught very little; the ML course spent too long teaching the very basics, and students were handheld through the only actually contentful exercise. The java course was supposed to be more about real-world programming, but taught very old-style C-in-java that would be undesirable at any company I've worked at. It was all just very boring and useless; my supervisor tried to introduce some more interesting exercises (my supervision partner found it all equally trivial), but by the end of the first term he'd given up on finding us anything challenging. Conversely at least two of my friends passed all the exercises and the exams but quite clearly had no understanding of computer science or how to program.