Accounts
They should have their own Google account. You can/should monitor it. It will make it a lot easier if they have their own Google account and can sign up for free online resources and log in to their own stuff v. having a shared one. You may need to sign them up for an >18 account as Google restricts a bunch of stuff to accounts < 13 (I think). As long as the password is shared, and activity is known, I’m not worried about this at all.
They should have their own GitHub account linked to the Google account. GitHub is the best online resource for saving code and reading other people’s code.
Development Environment
For almost all programming at the start, I suggest an online editor v. something local. Having an account (Google/GitHub) helps them link it all together. The Online Editor I suggest right now is Repl which contains remixable templates. It also connects and syncs to GitHub for repository storage. You can do this without GitHub, but GitHub is the new developer resume so I suggest starting it as early as possible.
I do not suggest, in any way shape or form, using a local development environment (meaning installing tools etc on a computer they own). It’s too easy to screw up and get to a place where nothing works. Even going so far as destroying the computer and having to start over from the beginning. Not necessarily viruses but unintended consequences. It’s too much of a management headache when there are tools that solve this problem for you, at least at the beginning.
A lot of tutorials start with “setting up your environment.” Tell them to skip this step and use Repl. If you end up with Python binaries on your local machine and your env is unusable, don’t ask me for help 🙂 If you don’t know what the previous sentence means, definitely don’t let them install anything locally.
I screw up my local development environment and have to fix it and I’ve been doing this for 20+ years. You have to know what you’re doing to set up and manage a development environment. Repl offers free online developer environments in any language they would want. I don’t see a need (unless you don’t have internet) for local development until you’re a few years into your career OR your work/school requires it and manages it.
Learning
Get them comfortable with Google and search. It is the number one tool in a good developer’s arsenal. Don’t give them tutorials or easy to walk through things once they’ve got a sound footing, teach them to Google and figure out how to use GitHub through that. Sit with them until they figure it out. Even “GitHub Tutorial” will help them start finding the valuable stuff amidst the trash, and there’s a lot of trash. Google accounts can store links. Have them store favorites for things they like. Teach them to search their history for things they forgot to bookmark.
With that said, I suggest starting with the 4 days of JavaScript on replit.com which is a basic overview of Repl, JavaScript and building some quick wins.
Hour of Code is amazing for adding tools to the toolbox but doesn’t allow deeper learning or much saving progress. It’s do a thing for an hour and move on. Repl and GitHub are where enduring progress is saved.
It’s best to have them figure out what THEY want to do with software. Automate things, build games, run Minecraft. If it can be done on a computer, it can be done by a program…eventually teach them this world, that the limit is their imagination.
Technology is a tool in a toolbox. It’s not a be all end all. Give them a tool and they’ll go further than if they didn’t have it. It may lead to a career and it might not. Regardless, as much of the world goes digital, the tools of the 21st and 22nd century won’t be made out of iron and steel. Just like you wouldn’t garden with a 17th century shovel, don’t send them into the next phase of their life with wooden tools. Give them a razor blade.
Other Resources
Automate the Boring Stuff with Python – Great for adults who have to deal with boring stuff. Kids don’t deal with a bunch of boring repeatable tasks….yet.