In my opinion, you shouldn't ever try to spend time educating someone without ensuring that the person actually wants to be educated. There's a difference between, say, "wanting to be a programmer" and "wanting to learn how to program". You could ascribe the first sentence to literally anybody. Who doesn't want a free skill? It's only the people who also fit the second description that you should educate.
The difficulty is that people usually don't know the difference between those two things. I often don't know it: I once decided I wanted to learn how to play the keyboard. Picked one up, played a few tunes, but could never find myself interested in sitting there for hours and playing the same tune over and over until I had mastered it. Turns out, I didn't really want to learn how to play the keyboard: I only wanted to play it.
So, it's up to the educator to help decide whether the person really wants to learn it. There are a few ways to do it. First of all, be honest: don't advertise your education with what the students will learn, but how they'll learn it. Because that's actually what they'll be doing. So when people want you to learn them to teach games, tell them from the get-go what they'll be doing, how terse and repetitive and basic it can be. But then, during the education, ensure that the end goal is always in sight. So if you're teaching somebody to make a game, instead of them applying their skills solving some math problem ("compute the nth prime with property y", e.g.), why not give them a piece of code from an actual game, and have them solve a small, intermediary step - and then show them the result, the before and after effect of their contribution?
TLDR:
1) Students should come to you for how you'll teach them, not for what you'll teach them,
2) During the study, always keep the end goal in sight. Don't let them drown in repetitive theoretic stuff ... let them .... swim in it, I guess, always taking in fresh air whenever they need it.