The ability to use a VCS is a fairly reasonable assumption for a programming tutorial unless it is for complete beginners.
Hrm, agree, but the OP said some of these were written for complete newbies. A newbie at software development is not going to know what VCS stands for.
Agreed, but in many cases it's still an unnecessary detail.
I don't mind Github as much, esp if you're instructing people to download a zip, unpack it, and start there.
Those are pretty powerful ways to learn. With git, you can jump branches pretty easily as you proceed through the steps of a tutorial (either for the student or for the teacher to provide some assets for that step)
Docker allows a packaged environment without having to install a bunch of dependencies, and easily shut down/remove those environments.
They are absolutely the most awesome things, and I couldn't go back to coding without Git and I am almost at that opinion with Docker. However as a beginner it must be daunting.