Soy de la opinión de que la educación temprana debería dar prioridad a los temas que son más sensibles al tiempo y que se aprenden mucho más eficientemente a una edad temprana. Estos son idiomas (¡no solo uno!), Música y educación física . Las matemáticas, la ciencia y la programación no necesitan ser completamente descuidadas, pero es mucho más fácil “ponerse al día” con estas materias a una edad un poco más tardía.
En cuanto a qué conceptos de programación aprender primero, creo que la cantidad (es decir, el tiempo con una computadora, realmente la programación), la variedad (diferentes lenguajes, algoritmos, gráficos, etc.) y especialmente la motivación (tener algo que parece divertido, como codificar un video juego, o lo que sea), todo es más importante que los temas que enseñas primero. A diferencia de muchas disciplinas (una vez más, digamos, músicos profesionales o atletas), si observa a los mejores ingenieros de software, verá que la correlación se relaciona con el interés general, la exposición a las computadoras y la capacidad, y no con la educación formal temprana. Dicho esto, un poco de introducción al razonamiento matemáticamente riguroso y los aspectos formales de la CS desde una etapa temprana podría ser útil, y podría alentar más direcciones académicas o matemáticas en CS u otros campos técnicos.