I never teach people to code. I ask them what they want to build, and then we work to building that.
People don't need to be patient. Beyond assignment, if, for and while, just make sure they use good variable names and function names.
Code reviews take care of the rest.