¿Cómo debe estructurarse el currículo de programación de computadoras de la escuela intermedia?

Estructura
Recomiendo revisar Hackety Hack, que acaba de lanzar su versión 1.0: http://hackety.com

Hackety Hack está diseñado para ser divertido, atractivo, simple y altamente instructivo. Si está diseñando su propio material del curso, definitivamente vale la pena tomarse el tiempo para inspirarse en este proyecto y en casi cualquier otro proyecto de Why The Lucky Stiff. Aquí está su charla sobre una versión anterior de Hackety Hack: http://vimeo.com/5047563. Su discurso alrededor de las 15:00 discute el statu quo pedagógico: si no tiene tiempo para todo, al menos revise esa parte.

Aquí hay algo más para pensar de este tipo: un ensayo titulado “El predicador del pequeño codificador” – http://www.advogato.org/article/…

Elección de idioma
Los lenguajes impecables, de tipo dinámico, están ganando impulso rápidamente en varios ámbitos del mundo real, ya que son excelentes para transferir la carga de trabajo de los desarrolladores a las máquinas. También es muy divertido trabajar con ellos, lo que los convierte en una opción ideal para los niños. De esta raza, Ruby y Python dominan la escena actual, con Ruby actualmente manteniendo la ventaja comercial y Python la académica. No creo que puedas equivocarte con esos dos.

No enseñe programación con un enfoque en matemáticas.

Esta declaración puede parecer un poco extraña, pero soy un gran defensor de hacer que los niños construyan algo que les interesa primero, y dejar que los componentes matemáticos se filtren según sea necesario. Las personas pueden quejarse todo el día acerca de cómo los niños no están interesados ​​en las matemáticas y el tema debe ser enseñado más, pero el simple hecho es que los niños (y las personas en general) necesitan una razón para estar interesados ​​en algo.

La programación es, hoy en día, una tarea mucho más creativa, casi una forma de arte. Lo interesante es que todo está muy basado en la lógica; En la mayoría de las escuelas de hoy, los niños aprenden a través de la memorización, y rara vez se les enseña a pensar y expresarse, con la única excepción de los campos creativos. La programación es el único campo creativo en el que todo realmente entra en juego: si logra que los niños construyan algo que les interesa primero, el resto vendrá naturalmente. Enseñar con un enfoque matemático solo alejará a más niños.

Para saltar de mi caja de jabón por un minuto, soy un defensor del uso de algo como Scratch ( http://scratch.mit.edu/ ) para las piezas iniciales, pero puede ser demasiado bajo para su rango de edad.

Otra gran opción es simplemente enseñar diseño web: es un campo que se encuentra tan perfectamente en el nexo de todo lo relacionado con la tecnología. Cree una página simple, luego detalle las diferentes rutas que puede tomar para expandirla: lógica del lado del servidor (PHP / Python / etc.), lógica del lado del cliente (Javascript [!] Y / o Flash / etc.), almacenamiento de datos, etc.

Yo enseñaría a Python. Es un lenguaje de script que es relativamente fácil de aprender, tiene muchas aplicaciones para programar aplicaciones de escritorio y web, y también es muy útil para enseñar conceptos de pensamiento abstracto con el que los estudiantes también trabajarán en sus clases de álgebra.