Olá @Hanufu, espero que esteja bem!
Uma boa lista de fundamentos que julgo ser necessários para quem está no início são Os Principais Fundamentos da Programação!
Mas uma boa forma de voce cativar seus alunos intermediários é instigando eles a criarem e a jogarem jogos uns dos outros, aprendendo os conceitos de programação, aprendendo inglês e de quebra se divertindo no processo! Recomendo muito que você considere utilizar o site Scratch, foi aí que eu aprendi a programar e sempre recomendo a todos que estão iniciando nessa área maravilhosa da programação e desenvolvimento!!!