This doesn't really help your case much. Also, I consider myself one of the more experienced people on here and the fastest I've ever, ever seen someone learn to program is 6 months and that took literally more than 40 hour weeks for the entire time. Your example class has a ton of prerequisites and is by Harvard. Leaving aside the fact that "I struggled some, but that's okay, I can teach it anyway" is *exactly* why you shouldn't try to teach something, the most you're going to get someone who has never programmed in 5-6 weeks is something super basic like guessing games, if you want any level of understanding and not just handing them a Django app that's ready to go and say customize the templates. This can't succeed as written.
You're wrong about where it comes from. You can get to a certain level of coding without changes, but people aren't exactly built for it. It's not that the compiler complains or that you build up persistence or you somehow start treating other people like your tools or anything like that, at least not in my opinion or my case. It's compression. You learn to, I guess call it think big. It's like compressing that giant high-def video file for a cell phone connection or something--you have to be super super efficient with the language part, and even once you are you still end up leaving a lot of what you're actually thinking out. But even after all of that you still have to convey all 20 aspects of the situation because they're all actually important and if you get even one wrong it will all fall down, and when a question gets asked there's 5 answers each contingent on weird and nonobvious things like whether it's the 5th of March and snowing outside or whatever else. And as soon as you try to put it into words you're cutting huge chunks of it off, and there's just not much room left for all this secondary signalling, and so do you get rid of the secondary signalling, or do you get rid of the points you want to make? And then, at a professional level half your job is telling other people--even people you respect, even people smarter than you--that their code could be better, because if it's not the best it could be whatever you're working on broke, and maybe that's your hobby project, but maybe it's the multimillion dollar company, or the medical equipment, or the missile, or...
And then, you do that every day. For years and years. Maybe you start young. Maybe whatever lets someone like myself have that sort of drive, not to just program but to be methodical about it, to actively build the skill in a way where you do reach these levels as opposed to a way which is about what you get out of it, about having the next script or whatever, but instead something where someone says "this is called a linked list" and you don't even care what it's used for because it's fascinating by itself and just knowing that someone, somewhere has a practical use is enough to hold your interest...maybe that contributes. Maybe that capacity for being weird like that is just already there. I don't know.
But I don't find the programming sites off-putting because I get it. There's no subtext. But everyone who doesn't get it expects subtext. And so everything that gets said "no seriously the sky is blue, go outside and look", gets extended by the subtext-expecting people to add on an implied "you idiot" or whatever. And now suddenly we're toxic elitist communities instead of what is, I guess kind of a learned switchable temporary autism or something. It's really hard to put this into words well. I used to be much better at subtext-related tasks, and much better at making sure that the subtext I send is the subtext I want to send, rather than just sending no subtext and having everyone take that as subtext because we're people and obviously, obviously there has to be some.
Don't get me wrong. There's definitely problematic sites. But what I mostly see is a lot of people who don't understand what they're looking at, and when they understand they don't understand, it's reasons like yours where it's "they interact with computers, and you can talk to the computer like that". And the entire thing irritates me a lot because it's like seriously, programming isn't assembling tables or something where the carpenter got blunt because of the hammer and cutting because of the saw, it's actually this weird science-art alien thinking thing where it's not quite math and not quite science and not quite painting and you sort of had to break your brain on the way to understanding it all if you want to do the sorts of things that come out of Google or whatever. You literally can't even reason about multiple threads in any human language that exists, never mind more complicated stuff, of course it's going to change you if you keep pushing against it.
Anyway. Obviously this is one of my buttons.