I'm in my first year of a degree doing computer science at the University of Sheffield (UK), our course is made up of maybe 50% who hadn't programmed before coming to university (this includes not doing ICT[yeah that's nothing like cs] or computer studies at Secondary school). When i asked some people why they chose computer science they just shrugged, these same people struggle with a lot of the programming concepts we have covered in java past the initial 'this is a for loop, this is a select case statements etc'.
I was really surprised when i got to University and my course wasn't full of 'nerdy' or geeky people as such, I just feel that some people didn't really know what they were getting into. So i agree that having programming experience and enjoying it is a necessity of doing a computer science degree (some may argue that the maths is the most important side). Even worse is the fact ~90% of the ITMB (IT and business management) students who have the java, software engineering and web/internet technology modules, lack even the slightest interest in programming or any of the CS modules when this is taking up half of their degree. Anyone should know that its far easier to learn something when you have interest in it, so back to the point why do people choose to do CS.
Personally i had been playing around with vb.net and lua for a couple of years making loads of small utilities before i reached university (this involved software engineering coursework at a2) instead of going out clubbing and drinking, but some people just seem a bit naive about programming and struggle past 'Hello World!'.
I'm not trying to say that i'm amazing, there are people who excel past me at programming. But there are only 10-25% of the course who can code competently, and a few others who excel at the maths side (usually Romanian international students). I just pity some of the people who will be in teams together for our software engineering module next year (where we have to produce a real product for a real customer in teams of 4 [50% of marks are awarded by a manager at the company your developing the software for]), maybe they will be better with haskell (functional programming language) which we learn next year.