The reason I think these classes should be mandatory and simple is to get people who otherwise would not have tried it engaged. How many people out there have the potential to be excellent engineers but never get into it because they are not exposed to it? That's why I think it doesn't matter how much the students actually learn about programming in these basic classes. It's just a teaser to get those who normally would not have signed up for a programming course a chance to try it out to see if it's actually a good fit for them. In addition, I do not think it's possible to turn out great programmers from an academic institution. The best that I have worked with have a passion for it and would have been great regardless of their education. However they all have to have been exposed to it at some point for it to click for them and for that interest to turn into a passion. That is the opportunity we should be giving to everyone.
These are problems in every class and is in no way unique to programming. An introductory programming class should't be any different from a typing class which is also required in most schools now and requires computers. As I said, the primary reason I want it required is to give every student the opportunity to experience it and decide if it's a course they would like to pursue. It very well could be the opportunity they need to turn their lives around.