with snap site scratch programming online google edu blocks berkeley language-agnostic mit-scratch block-programming

language agnostic - snap - ¿Qué enseñar después de Scratch?



snap berkeley (10)

Mi hijo está programando con entusiasmo juegos simples en Scratch . Sin embargo, Scratch es un entorno de programación muy simple (sin subrutinas, incluso), y puedo ver que pronto necesitará pasar a otra cosa.

¿Alguien sabe de un buen lenguaje de aprendizaje que facilite los gráficos pero proporcione funciones de programación "reales" como estructuras de datos, funciones, matrices y listas?

Puntos de bonificación si se ejecuta en Linux (Ubuntu). Una respuesta del formulario "idioma Foo con barra de la biblioteca" también es una opción.


¿Qué tal lua?

Hay un bonito "motor" gráfico llamado LOVE que es completamente programable en lua. Tiene buena documentación y no es muy difícil.

También hay varios otros motores similares que utilizan lua:

Había otro motor 2d, pero no lo encuentro en este momento, era similar al AMOR, pero con un enfoque un poco diferente de las cosas.

Recomendaría LOVE para empezar, ya que es muy fácil, tiene buenos tutoriales y lo más importante es que puedes hacer cosas bonitas de inmediato.

También lua es comúnmente usado como lenguaje de scripts de juegos. Por ejemplo, todos los complementos para World of Warcraft están escritos en lua, de hecho, toda la interfaz está escrita en lua. Esto significa que es muy fácil encontrar respuestas a preguntas relacionadas con el juego en lua. Además, si tienes un juego que usa lua como lenguaje de scripting, puedes agregar fácilmente tus propias cosas.

Escribí esto desde la perspectiva del juego, pero hay muchos proyectos que usan lua como lenguaje de scripting.

También puedes probar python, pero no tiene herramientas tan buenas listas para usar y fáciles de aprender / entender.

También aquí hay un enlace a lua manual .


Bueno, hay un venerable Logo antiguo; no estoy seguro de las estructuras, pero sí obtienes listas, funciones con parámetros y gráficos que son muy sencillos. Hay un montón de buenas implementaciones, también. Logo incluso se ha comparado con ''lisp sin todos los paréntesis''.


Echa un vistazo a Processing .

Su tour de force son gráficos, animación y manipulación visual. Se ejecuta bajo Linux, también.

El procesamiento es un lenguaje y entorno de programación de código abierto para las personas que desean programar imágenes, animaciones e interacciones. Es utilizado por estudiantes, artistas, diseñadores, investigadores y aficionados para el aprendizaje, la creación de prototipos y la producción. Se crea para enseñar los fundamentos de la programación de computadoras dentro de un contexto visual y para servir como un cuaderno de bocetos de software y una herramienta de producción profesional.


Puede que sea un salto un poco más grande, pero Python con PyGame permitirá que tu alumno realice muchos de los mismos tipos de programas a los que ya está acostumbrado con Scratch, pero con un control muy estricto de cómo funciona todo. trabajos.

  • Ventajas: es python, que es un lenguaje muy fácil de leer y escribir, y proporciona un entorno de programación muy rico, sin que realmente se requiera ningún texto.
  • Contras: su SDL, que utiliza un bucle de eventos que puedes escribir tú mismo. Esto podría ser un obstáculo bastante grande para un programador joven.

Scratch está escrito en Squeak (que se ejecuta en Linux, Windows y Mac), así que diré ¡paso a Smalltalk! El único problema es la falta de un libro muy bueno para principiantes sobre el idioma, lo cual es extraño si consideramos sus orígenes. Sin embargo, los conceptos básicos son fáciles de aprender (casi sin sintaxis) y el entorno fomenta la experimentación.


Si Scratch está empezando a ser un poco limitante, pero no están listos para las dificultades de la codificación del editor de texto, eche un vistazo a la derivada de Scratch "BYOB" (Construya sus propios bloques) . En serio, convierte Scratch en un entorno de programación para grown-up con funciones (y, por tanto, recursión), estructuras de datos, multihilo y todo.

También está Panther pero me impresionó menos (al crear nuevos bloques en Panther es necesario que codifiquen su función directamente en Squeak, mientras que en BYOB solo puedes crearlos en el estilo Scratch habitual de arrastrar y soltar).


Una buena reseña here sugiere Alicia y zapatos después de Scratch: no tengo experiencia personal en el asunto, pero de la revisión parece que vale la pena echarles un vistazo.


Yo sugeriría usar CodingBat. Aunque CodingBat no proporciona gráficos, sí proporciona las "características de programación" y la práctica directa que involucra cadenas, matriz y lógica. Creo que este sitio web ayuda a desarrollar la base básica detrás de la programación.

Enlace: http://codingbat.com/



Aquí hay un interesante proyecto de microsoft llamado Small Basic que es un entorno de programación bueno, simple y gratuito para el aprendizaje, basado en BASIC.

No hay puntos de bonificación debido a la falta de ubuntu, sino una herramienta de aprendizaje excelente.