¿Qué debe enseñar un distrito escolar público K-12 sobre informática?

Codecademy es definitivamente una buena fuente. Pero los tutoriales que ofrece son aburridos y demasiado fáciles incluso para los niños. Es bueno debido a algunos proyectos simples en los que puedes construir algo divertido.

Es más la forma en que enseñas en lugar de los recursos que usas. La enseñanza de la programación para niños se puede resumir en dos pasos.

Primero, enséñeles la diversión de programar. Y segundo, enséñeles cómo explorar la diversión ellos mismos. Creo que muchos niños están interesados ​​en la programación. Entonces su trabajo es mostrarles lo divertido que puede ser. El Scratch como mencionaste, puede ser un buen punto de partida. También recomendé el desarrollo web usando HTML y CSS, ya que te dan el poder de construir cosas hermosas con conceptos simples. Es mejor usar un estudio basado en proyectos porque da más sentimientos de logros. Recuerda, sorpréndelos con trucos y la belleza de la programación.

A pesar de que realmente pueden entrar en el mundo de la informática en clase, solo unos pocos explorarán los variados recursos abiertos por sí mismos si no lideras o animas a tu clase a hacerlo. Por lo tanto, viene el segundo paso. Intenta gastar algunas veces para enseñarles cómo usar y explorar Github. Y enséñeles su forma de encontrar proyectos interesantes.

Hay muchos recursos disponibles, elige el que mejor conoces personalmente, para que conozcas los trucos para enseñarles. Y lo más importante, motívelos a seguir adelante y enséñeles formas de explorar un mundo fascinante.

Estoy de acuerdo con el comentario de Jack Golding sobre esta pregunta, en la que dice que las escuelas K-12 deberían enseñar computación y programación a través de la robótica, y además, el sistema de robótica Lego Mindstorms es la mejor manera de hacerlo (no el sistema robótico Arduino) . Como Bill Gates dijo una vez en una conferencia (TED?), La próxima gran revolución tecnológica después de las computadoras personales será la robótica . Los programas de computadora que los niños escriben en el lenguaje (Mindstorms) NXT cobran vida en el mundo real (no virtual) como robots, detectando, navegando e interactuando con otros robots en el espacio real y en tiempo real, tanto físicamente como a través de comunicaciones inalámbricas. juntos.

Además, aunque estos robots se pueden programar a través de casi todos los 40 lenguajes de programación principales (C, Java, Python, etc.), el lenguaje intrínseco NXT es el mejor entorno para aprender la programación de robots. Es casi completamente gráfico, requiere muy poco texto y es muy fácil de aprender para los niños. Incluso se enseña en varios departamentos universitarios de ingeniería. Las técnicas de programación comunes como bucles, ramas, variables, funciones / subrutinas, recursividad, multitarea, etc., se representan gráficamente y son mucho menos abstractas que con los lenguajes de programación puramente textuales.

También noto que la mejor manera de comenzar a programar sin el uso de robots es a través del lenguaje y entorno Scratch del MIT. Al igual que con Lego NXT, el lenguaje Scratch es un lenguaje de programación gráfico que requiere muy poca o ninguna entrada de texto. Literalmente, millones de niños de todo el mundo se han programado en Scratch y han subido sus creaciones a un repositorio en línea. En mi humilde opinión, cualquier distrito escolar que no enseña programación Scratch y robótica Lego Mindstorms (como mi distrito escolar) está realmente fuera de contacto con la tecnología educativa de vanguardia y no está siendo un administrador responsable del futuro de sus hijos. .

(Mel Ellington — Maestría en Ciencias en Tecnología de la Información en Educación).

Simon Peyton Jones da una excelente charla TED sobre los méritos y razones para introducir CS en la educación K-12. Relacionado con eso es una excelente publicación de blog, No aprenda a codificar. Aprende a pensar. por Yevgeniy Brikman

Desplazar algo de pintura / bloc de notas / Microsoft Office [vea la respuesta de Tyler a mi comentario sobre su pregunta original] con algo de informática no suena tan mal. 🙂 Sugeriría enseñar programación en el contexto de la enseñanza de las matemáticas. Algunos ejemplos son (1) dos libros agotados que usan lenguajes de programación obsoletos de Arthur Engel ( Matemáticas elementales desde un punto de vista algorítmico [usando Basic] y Explorando las matemáticas con su computadora [usando Pascal] y (2) un libro impreso usando un lenguaje de programación obsoleto [Logo] de Abelson y diSessa ( Turtle Geometry: The Comptuer as a Medium for Exploring Mathematics ).

Hacer que los estudiantes hagan tutoriales de Codecademy: aprender a codificar sería otra buena opción. Este sitio es muy conocido y fácil de usar.

Los ejercicios son generalmente bastante fáciles, lo que sería genial para los estudiantes que están aprendiendo a codificar.

Entrando desde edX: estamos ayudando a las universidades a poner cursos en línea para usar en las aulas K-12. Tenemos un curso que comienza el 2 de febrero específicamente en Programación en Scratch que los maestros pueden tomar, o tomar y usar en las aulas con sus estudiantes. También tenemos un curso AP * CS a partir de mayo que los maestros pueden presentar a sus alumnos: Preparación para el examen AP * de Ciencias de la Computación – Parte 1

Primero, lee las Mindstorms de Seymour Papert (Mindstorms (libro) – Wikipedia). Entonces haz lo que dice.