I’ll be honest. CS doesn’t teach you how to program (anybody can learn that). CS teaches you how to think critically and analyze problems. Also CS is just very difficult, especially with all of the theoretical courses. At a certain point, it becomes a test of your resolve as a person vs your ability to program.
And in my opinion that's perfectly fine. On the other side many jobs that are "just" programming really shouldn't require a CS degree. It should be up to the job market to come up with reasonable requirements, not the Universities to churn out graduates with a different skill set to comply with the market.
> At a certain point, it becomes a test of your resolve as a person vs your ability to program.
I feel like this sentence goes somewhat counter to what you said before. If CS isn't primarily about programming, which I agree that it isn't, why should it be a test of my ability to program? I disagree that it's merely a test of your resolve, however. Sure, you need to have resolve to complete a hard degree, but the same applies to many other subjects.
I'd much rather say it's a test of your ability to think abstractly, generalise and recognise patterns.