Finally got there.
And as a recent graduate of a Computer Games Technology degree (LJMU, 2:2 with honours, I reckon I could do better), I've managed to get quite conversant with C and C++. Dabbled in C# a bit, but as I didn't take the Console Programming module and go for the Xbox, it wasn't a major part of the degree. I've been playing with scripting languages for years, but C and C++ always seemed a bit scary, at least until I started using it properly and going "holy shit, that's fast." Never looked back since!
I'll say it's not a course for the faint-hearted (or mathematically ill-disposed). The "Advanced Computer Graphics" core module is a good example as it's a long slog through the underlying mathematics that make 3D worlds possible. You'll learn about shaders, be given a good start on the Autodesk Creative Suite, and be expected to write long essays on the difference between fixed and programmable pipelines. Add Computer Vision and AI for a major (filter matrices, recognition and search algorithms, oh joy) and Mainframe Computing (I can do JCL, I can) for a minor and you can't accuse me of picking stuff because it looks easy.
The first year was an "intro to" course on a wide range of computer science-related subjects. One module went into boolean logic and gate-level stuff, and culminated in making a logic simulator spit your student ID digits out in sequence on a 7 segment display, for example. There were sections on computer security and forensics, databases, and of course computer graphics. The idea being you could switch to any of the computer science-related subjects before the end of the first year, because everyone was being taught the same stuff up to that point.
As for drop-outs? Well, one of the first things everyone was told by one of the more droll professors is that he expected to see half the students in the school of mathematics and computer science to not make it to the final year. I'd say he was about right.