Na minha opinião:
- Lógica de programação - usando Python que tem uma sintaxe muito mais simples do que a maioria dos pseudo códigos por aí. Nesse momento o mais importante seria que o aluno focasse apenas na lógica, imagina tu ter que aprender algo complexo e ainda por cima ter que ficar tendo que se preocupar com mil detalhes ?
- Algoritmos básicos e estruturas de dados básicas - Agora sim pode entrar C, nesse momento o aluno já teria mais bagagem pra poder começar a se preocupar com mais detalhes
- Web - html + CSS + js - acredito que essa é a parte que a maioria irá ficar mais interessado, só de conseguirem criar uma página simples já ficaram empolgados e interessados pelos próximos passos
- POO - Java - sem dúvidas essa vai ser a parte mais maçante pra um aluno de ensino médio e a maioria não irá entender porque precisam fazer as coisas desse jeito.
Acredito que dessa forma ficaria mais atrativo aos jovens. Além disso, eu dividiria em módulos e faria pequenos projetos funcionais, de preferência usando alguma didática mais gráfica ou gamificada. Por exemplo, é muito mais fácil explicar POO usando um personagem de RPG do que Animais... Aprender a fazer uma função que calcule a velocidade e o deslocamento de uma bola em determinado período de tempo é muito mais interessante que aprender a fazer uma função que calcula Fibonacci...
Conectar o código com a aplicação prática dele é fundamental, pelo menos nesse início.
Espero ter ajudado! Let's code 😎