Let them learn by doing.
That is, don't have them try to sit down with a book and "learn". Get them to start a project and learn what they need to learn to complete it as they work on the project. (Maybe even work on the project with them.)
That said, it's probably beneficial to do "small"-ish projects while they're learning so they can get some quick wins early on.
But if they're not using what they're learning, they're going to forget it faster than they learn it.