turtle programacion instalar examples documentacion dibujos dibujar con color circulo turtle-graphics logo-lang

turtle graphics - programacion - ¿Sintió que aprender a programar con gráficos de tortuga fue útil?



turtle python 3 (19)

Experiencia personal, YMMV ...

Mi primer encuentro con una computadora fueron los gráficos de tortugas en mi adolescencia. Me encantó e inmediatamente me enganché. (¿Quizás porque por primera vez alguien [algo] hizo exactamente lo que le dije que hiciera?)

La retroalimentación visual e instantánea me hizo querer hacer más y más. Realmente quería averiguar cómo reproducir las imágenes que vi en el libro que estaba usando. Sin que yo siquiera lo clasificara como "trabajo", lentamente aumentó mis habilidades iniciales de programación y mi confianza pude aprender por mi cuenta.

Le doy el crédito de enviarme por el camino en el que estoy hoy, un desarrollador de software feliz que no puede creer que me paguen por hacer este trabajo (lo sé, lo sé, todas las burlas empresariales a un lado, me gusta mi trabajo).

Como dije, YMMV.

Me estoy preparando para enseñar a alguien a programar. Cuando aprendí el material del curso, utilicé gráficos de tortuga para los primeros ejercicios. Al leer los libros de texto de introducción, no he encontrado uno que use la técnica. ¿Otros encontraron útil este enfoque? Si no, ¿cuál es una mejor forma de aprender a programar?


A finales de los 80, antes de programar en C, estaba programando en Applesoft BASIC y Logo . Cuando era niño, pensé que la tortuga era genial porque simplificaba la programación. Si decido enseñarle a mis hijos el logotipo, probablemente empiece aquí para obtener un intérprete de Logo desarrollado activamente.


Aprendí a programar en BASIC escribiendo programas simples dibujando caras (me refiero a círculos y cuadrados) en la pantalla. De alguna manera, la programación de las tortugas nunca fue lo mío, aunque algunos de mis amigos aprendieron de esa manera. Más tarde me mudé a Pascal, luego a Delphi, Java y C ++ / C #. En mi opinión, el truco es "impresionar" a su alumno e impresionarlo / potenciarlo con cosas potenciales que puede lograr escribiendo sus propios programas. De hecho, demostraría algo de programación de GUI o programación de juegos. Es mucho más fácil aprender lo básico manteniendo el objetivo final en mente.

Recientemente me encontré con SmallBasic , un fantástico entorno de programación para niños diseñado para enseñar conceptos. Yo probaría eso. Viene con un documento bastante completo que describe cómo usarlo.


Creo que depende de la edad del grupo objetivo.

Si son niños (diría que hasta 12-14 años), hacer gráficos fáciles es una buena manera de motivarlos; por otro lado, no espere que aprendan mucho sobre programación real o algoritmos.

Si son adolescentes (14-18), tal vez aún sea bueno usar algunos algoritmos que brinden resultados bonitos (por ejemplo, 3D o fractales), pero ya que son más viejos y capaces de un pensamiento más abstracto, no creo que los gráficos 2D de tortuga es lo suficientemente interesante

Si son mayores, hacer cualquier gráfica es una distracción. A esa edad, deberían tener suficiente motivación interna para aprender sin ningún tipo de fantasía.

Para resumir, creo que los gráficos sofisticados tienen un rol más motivacional (que vea lo que hizo rápido, y es fácil mostrarles a los demás lo que puede hacer con una computadora) que el rol de aprendizaje (que facilitaría el aprendizaje de la programación real).


Cuando obtuve mi primera computadora (VIC-20) y comencé a programar, fue muy difícil explicar a mis padres lo que estaba haciendo.

Mi madre realizó un curso de computación preparándose para un proyecto de computarización de la biblioteca en la que trabajaba. Tuvieron un par de clases presentándoles la programación. Después de aprender LOGO ella llegó a casa y dijo que de repente entendió en lo que me estaba metiendo.

¡Así que LOGO con gráficos de tortuga nos acercó más!


Durante uno de mis trabajos de ciencias de la computación de primer año utilizamos Java para crear patrones fractales a través de un objeto de tortuga.

Fue muy divertido ver visualmente si implementamos correctamente el algoritmo requerido para producir un determinado patrón. Sin embargo, responda la pregunta principal, no diría que la programación a través de una tortuga es útil. Yo diría que la mejor manera de enseñarle a alguien a programar es hacer que construya su propia aplicación para hacer lo que quiera que haga. Esto les da control creativo, y si se atascan, pueden aprender a resolver un problema.


Escribí script / código en un dialecto tipo c para un juego llamado Doom2 antes de saber qué programación era, así que cuando se trataba de aprender seriamente sobre conceptos como punteros, herencia y polimorfismo encontré que los conceptos básicos eran muy sencillos porque podía construir un El modelo mental no solo me ayuda a entender, sino que también aprecio cómo son las cosas geniales como los punteros y las matrices.

Un amigo mío es un buen estudiante de programación, pero se frustra cuando no puede visualizar el funcionamiento de un algoritmo. Cuando comencé a ayudar a otros alumnos, descubrí que tenían el mismo problema. Si no pueden ver algo que funciona, es más difícil. para apreciarlo como un programador principiante, el mismo amigo elocuentemente sugirió que "Les mostrara algunas chorradas locas y luego les mostrara cómo se hace". Tiene razón, incluso si alguien realmente quiere aprender algo, podrá recurrir a más energía mental si cree que lo que está aprendiendo le permite hacer cosas increíbles.

Mi mejor consejo es este: AL COMIENZO PASAR COMO PEQUEÑA PROGRAMACIÓN HORA A LA CONSOLA LO POSIBLE

Te hace sentir limitado y tus esfuerzos parecen inútiles, solo después de que lo aprecies como una interfaz debe usarse para aprender a programar. Yo no usaría el logotipo porque no creo que pueda enseñar conceptos como el polimorfismo o la herencia antes mencionados casi tan bien como otros métodos, sé que un amigo mío le está enseñando a un adolescente a programar usando XNA en un envoltorio, Creo que cualquier cosa que te permita embeber una imagen en la pantalla está bien. De esta forma puedes ver por qué querrías una clase base abstracta llamada EnemyEntity con un comportamiento heredado por zombies y perros, etc. No es que los conceptos sean difíciles de entender, es solo que al principio son difíciles de apreciar.

Podría seguir, pero creo que pone en evidencia lo que aprendí enseñando a otros. Creo que el uso de gráficos en la programación de enseñanza permite a los estudiantes obtener la capacidad de construir modelos mentales de conceptos intangibles más rápido que cualquier otro.

XNA Si quieres enseñar C # que es una asombrosa biblioteca de gráficos, simplemente escribe una clase de sprite de envoltura para ocultar tanta complejidad al principio y conceptos de enseñanza.

SDL Una biblioteca de nivel inferior si vas a comenzar con c ++


La clave de LOGO es funciones definidas por el usuario. Es muy bueno para transmitir eso, siempre y cuando lo enfatices. Muestre de forma interactiva cómo dibujar un cuadrado, luego cree una nueva palabra llamada cuadrado. Luego, muestra cómo puedes dibujar patrones usando cuadrado. Luego haz esos patrones en palabras, y así sucesivamente.


Podría hacer algo peor al enseñar programación que usar una herramienta como Scratch . Es una interfaz de programación de arrastrar y soltar y se puede utilizar para enseñar conceptos básicos de programación con algunos resultados visuales divertidos (como se puede ver en la galería de su sitio web).

Robar


Hice un curso de "informática para niños" a fines de los años ochenta, y había una extensa sección sobre gráficos de tortugas utilizando el logotipo. Honestamente, estaba aburrido hasta las lágrimas, y aprendí prácticamente nada de eso.

Creo que "programar a la tortuga" podría funcionar mejor para alguien que tiene inclinaciones artísticas, o enormemente para la geometría, pero, en general, hay problemas mucho más interesantes para atacar, incluso para los niños.


Ah, los recuerdos del buen viejo Logo. Creo que obtuve más de una lección de geometría que una lección de programación, por ejemplo, averiguar cuánto girar en varios puntos para producir una forma, diseño o patrón en particular. Puede funcionar si planea mezclar geometría con la programación, pero si la persona no tiene los fundamentos de la geometría, por ejemplo, qué es un cuadrado y cómo es diferente de otras formas de 4 lados, qué es un triángulo, etc.


Logo me dio una imagen muy clara (sin juego de palabras) sobre cómo funcionarían las funciones recursivas, y como estaba haciendo la programación en ensamblador en ese momento, la necesidad de volver al estado anterior al volver a un método se hizo muy clara con Logo.

Implementaciones recursivas de cosas donde también es muy fácil ver el efecto de.


Usé el logotipo y la tortuga en la escuela también, una gran introducción.

Parece que nuestros hijos obtendrán una interfaz ligeramente actualizada con Microsoft Kodu . Se ve muy impresionante. Es un lenguaje de programación basado en iconos creado para crear juegos que se ejecutan en X-Box Live.


Actualmente estoy aprendiendo Python y usando un poco de tortuga. En los laboratorios no lo hemos usado, pero nuestra tarea sí. Es bueno saber que existe, y es una buena manera de obtener ciertos comandos y sintaxis. En general, no creo que fuera completamente necesario.


Cuando era joven, lo encontré muy interesante. Fue uno de los primeros lenguajes de programación que aprendí, aunque lo he usado durante dos días. Comenzó mi interés en la programación.

Hoy en día, creo que la sintaxis es un poco confusa porque la mayoría de las declaraciones son abreviaturas. Hoy en día, las computadoras son mucho más poderosas por lo que el lenguaje podría beneficiarse de una declaración más clara. Otro factor es el idioma nativo de la persona que está aprendiendo a usarlo. Si el inglés no es su lengua materna, entonces Logo se vuelve un poco más complejo de entender. Entonces, si le estás enseñando Logo a los niños, primero asegúrate de que estén familiarizados con los términos en inglés. (Es bastante fácil si eres una persona nativa de habla inglesa. Más complejo si eres originalmente holandés, alemán, francés, portugués. Incluso más complejo si eres ruso o chino porque tendrías que adaptarte a un personaje diferente establecer también.)


Acabo de comenzar a enseñar a mi hijo de 7 años a programar usando Logo, y se está divirtiendo muchísimo. Los comandos son bastante fáciles para su capacidad de lectura limitada y le encanta dibujar imágenes geniales con los gráficos de tortuga. Me sorprendió lo bien que retenía lo que había aprendido al usarlo, así que siento que fue una buena opción para su edad.

Para niños mayores (o adultos), otros idiomas pueden tener más ventajas como lenguaje para principiantes, aunque


Sugiero comenzar con un lenguaje interpretado como Logo (no compilado) debido a la calidad de los mensajes de error. Leer los mensajes de error es muy importante en este proceso. Además, en el nivel fácil, Logo le permite ejecutar sus instrucciones una a una en modo directo y llevarlas a sus procedimientos cuando obtiene los resultados esperados.

@ Alex: MicroWorlds es una versión comercial de Logo y existe en inglés, español, portugués, italiano, ruso, etc. Es una gran ventaja si no eres una persona nativa de habla inglesa.


LOGO no es solo Turtle-Graphics. También hay otros conceptos interesantes que provienen de LISP. ''Tortuga'' es solo la guinda del pastel y el lado "imperativo" de Logo. :)


Tenemos una introducción a las lecciones de programación para "gráficos de tortugas" y otros aspectos de la programación, como MVC. Eche un vistazo a nuestro software de cursos TKP para SmallBasic (y pronto también para Java) en el sitio de TKP.