I think the reason is this: programming is much easier to teach yourself than any of the others. And the reason is this: in programming you know when you're wrong.
You can spend three years reading textbooks on physics, or watching physics lectures on youtube, but you're likely to misunderstand some of it, and partially understand other bits of it. (Part of the difficulty for me in learning, say, quantum mechanics or relativity was the problem of unlearning misconceptions I'd picked up by reading popular science type books in my teens.) Without a bunch of professors sitting around to correct you when you're wrong, and point out the gaps in your knowledge, you'll never really understand it (and even if you do, you won't be sure if you do or not). That's the main value you get at university: some smart guys who sit around telling you you're wrong.
In programming, on the other hand, you don't need this. You get more-or-less immediate feedback when you're wrong because the code either won't compile or produces the wrong results. This is what makes programming one of the easiest things to teach yourself.