Is CS even the right course?
I did Computer Games Development at the University of Luton (and graduated from the newly formed University of Bedfordshire). Sounds like the most scoff-at-able course in the world. However, we only did Java in year 1 (and now it is all actionscript for new students) and ended up using C++ in Year 2 onwards (with some C#).
Although mostly unemployed since graduating in 2009, at the moment I am helping people with a unit at the Uni that people commonly struggle with; Object Orientated programming.
At the time, I didn't even care for the unit that I felt was mindnumbingly unengaging. However, it is a core part of programming within the games industry (and probably most other programming jobs). Many people think that the unit is very "foreign" to them, as they learn C# and they never use it in other units, but by year 3 I realised that most of these languages "do" the same things, just in a different way, and that learning the ideas behind this unit early on helps make a lot of other things just "make sense".
The problem isn't really that everyone knows Java, it is that they know *only* Java. I am now getting the students to all basically program the same things that they are doing in another unit (using C++) but with C#, making use of unique functionality that it can provide. I think that on any CS course that is not targetted at a specific profession that this is far more important as I would imagine that transferrable skills (and knowledge) is more important for a job with uncertain career prospects at the end.
Looking back over the last year-and-a-bit since graduation, all I really have to show for my time unemployed is a few contracts for different IT related work and a portfolio. My 2:1 doesn't even get me a reply from most places that I have applied to. So my advice to anyone chasing a job in the IT industry is - don't get an IT related degree. Think about what you want to really do and, if it involves programming, do some self study.
Programming is easy. A REAL degree is something like Applied maths or physics. I would imagine that a candidate with even a 2:2 in either of those and under hobbies "programming" would get an interview with more certainty than a candidate with a 2:1 in CS whose hobbies were "applied maths/physics". So if you do CS, make the most of what the course offers and find a way to set yourself apart from everyone else or you *will* end up unemployed.
So if you want to do CS, think about what you even want to do at the end of it because programming is not the hardest thing to do in the world and, really, is not represented by a degree. That is something for your portfolio instead. The degree really should set you aside from other candidates. Hell even a degree in ancient history would have set me apart (and its what I originally applied to do) and I reckon I would have a better chance at applying for jobs.