Como programador, te propondría lo siguiente:
Pensamiento abstracto, pensamiento pragmático, mayor resolución de problemas. Patrones de diseño (No la programación en general, sino la construcción. Edificio en sentido de construcción, construcción. ¿Sabía que los patrones de diseño provienen del diseño de edificios y la resolución de problemas en ingeniería?)
También recomendaría comenzar con el famoso lenguaje de programación pequeño para niños: Logo. En realidad, hay juegos bastante buenos para que tu hijo comience.
Pero puedes buscarlo en Google, así que no me molestaré en copiar esos resultados. Su objetivo principal es llamar su atención y lograr que piense como un programador, o al menos comience a pensar como tal.
Después de eso, puede comenzar aplicando el conocimiento al algoritmo y reducir la resolución de problemas y la programación orientada a objetos.
También recomendaría usar Mapas Mentales, ya que los niños tienden a recordar mejor las cosas brillantes y coloridas. :) http://en.wikipedia.org/wiki/Mind_map
Ohhh también ... lo olvidé pero esto podría ayudar.
Cuando era niño, me encantaba automatizar todo. Es por eso que hoy soy ingeniero de pruebas de automatización. Puede ser divertido mostrarle a su hijo cómo puede automatizar tareas. Cómo puedes manipular las ventanas y todo lo que tu PC hace. También alguna interacción en el mundo real como OCR con un video quizás. O un sistema básico de seguimiento de movimiento con una cámara barata.
Creo que el niño estaría muy feliz si, por ejemplo, pudiera detectar si sus padres se están acercando a su habitación. :) O construye un pequeño robot lego y programa una rutina en él, como ve a buscarme leche. Lo cual es difícil, pero lo ayudará a comenzar y también tendrá un objetivo y una experiencia de la vida real que es MUY importante en los primeros años.
Ver: Lego Mind Storm: http://mindstorms.lego.com/en-us/Default.aspx