If you were unfortunate enough to attend a school that didn't have any sort of computing classes, after school groups, etc, or you lived somewhere rural that didn't have those programmes outside of school then you would have had no access to a mentor who can guide you.
If they have 3 months to go to a camp, surely they could as well learn at home for those 3 months.
In order to learn on your own you need some knowledge to start with. If you sit down in front of a computer with zero knowledge of a subject then you don't even know what to put in to Google, and if you start with a search like "how to code" you have no way to assess whether the websites you find are actually useful or a waste of time.
Languages like Scratch can teach someone to code when they have no external input. They might teach "bad" ideas, but those can be unlearned and replaced with better concepts later. Most of us learned by starting with something like BASIC and have gone on to learn better techniques. There's no reason why someone learning today has to start with a "good" language like Python.
Heck, I started with Visual Basic 6. That's was far worse than Scratch as far as teaching bad practices go.