Most of my classmates in physics could program, and many could probably do so as well as most CS majors. In my physics undergrad, we were simply instructed to write programs to solve problems. No one told us how. It was expected that we'd figure it out. I took one C+ class at my university and it was almost useless. I learned more about programming in a week of undergrad research than I did in that class. I'm not saying a CS degree isn't useful. I just think there is an even more valuable way to spend 4 years and the tuition.
My university's CS department didn't have any programming skill prerequisite as far as I know. It would be a different thing entirely if it were expected that every student should be intermediate programmer before taking classes for credit.