The material was about the fundamentals of programming (loops, lists, dictionaries). I found it hard to stay focused because the applications and usefulness of the concepts weren’t immediately obvious (any problem I could solve at that point could easily be solved better with a ‘no-code’ solution). Some of the concepts also took a few days to understand, while I was struggling with maintaining motivation.
I’ve since used other learning materials, and now I better understand why new programming courses nowadays (like Harvard’s CS50) like to start their courses with the Scratch language. It communicates earlier the usefulness of the fundamentals (e.g. using if and while statements to animate a cartoon character).
This lack of immediate useful application (until months of study later) might not be the only reason, but it may well be a major one. It can cause people to give up even if they are diligent and dedicated in other fields (where the rewards arrive earlier).
Yep, I had that experience with electronics, but I applied the lesson you’re pointing to - you need to have practical projects that are relevant to you (that you care about), and then learn by working through problems and concepts as they present themselves on the road to solutions. I guess that makes me a hands-on learner, though I appreciate the conceptual once I have enough practical exposure to provide context.
For me the answer is I've only seen it where there is an absurdly narrow selection process: professional sports (all of them), admission to certain universities (Ivy League/Oxbridge), certain specific jobs (SEAL team, investment banks, etc).
For everything where there's no gatekeeper, I'd only count out very few people from the start.
And got in reply: I also thought anyone could learn to code at at least a basic level, until I worked for a year as a computer science instructor...
You then produced a no-true-Scotsman argument to the effect that students don't qualify as a counterexample.
It's also often true that instructors don't know what's going on in all the students' personal lives. People who are pressed in other ways don't always make it known, so you could easily see how you might mistake someone who didn't learn it with someone who couldn't learn it.
Plenty of people still live in a world where coding is low prestige.