I've tried teaching students in a class-like setting, and I've found that I'm pretty bad at it, and they tend to forget what I've told them. Instead, I've found that 'learning by doing' is more effective.
What I did this year is create a repository that they can clone to their computer (link below -- we're using python), and they are instructed to solve various 'challenges', that bring them through the language's basic features as they move on. To check to see if they 'pass' the challenge, it runs a bunch of unit tests that check to see if they followed instructions. We did something similar last year with good results, but it wasn't as comprehensive.
We've been doing it a few weeks, and I think the students have gained a greater understanding of the language. After we finish this, then we'll start using the pyfrc robot simulator to start creating code that could actually run on a robot, to solve similar types of challenges.
https://github.com/frc1418/pybasictraining.git