Archivo etiqueta educación

Programmable Minecraft: dynamic code execution using Groovy

If we think about the road to transit to achieve our goal, we would notice that, eventually, we’d have to face the problem of Java not being an interpreted language, which makes the task of modifying code dynamically a bit more difficult. There are many workarounds to this issue and today I’d like to talk you about one of them: integrating Groovy and Java.

Groovy is a dynamic programming language for the Java platform: it is dynamically compiled to Java Virtual Machine bytecodes which allows us to alter the functioning of our code on the fly and to integrate it into Java application with ease.

The Groovy documentation clearly explains the integration mechanism and even provides example code: integrating scripts into the Minecraft source code makes changing the game’s behaviour during its execution easy :) (click on the image to enlarge it)

Si pensamos respecto al camino a transitar para llevar a cabo el proyecto de Minecraft Programable, notaríamos que, en alguna parte del mismo nos encontraríamos con el problema de que Java no es un lenguaje interpretado, lo que dificulta la tarea de cambiar el código de nuestra aplicación y ver los resultados de nuestros cambios instantáneamente. Existen diferentes “soluciones” a esto y hoy quiero hablarles respecto a una de ellas: integrar Java y Groovy.

Groovy es un lenguaje de programación dinámico para la plataforma Java: es compilado dinámicamente a bytecodes de la máquina virtual de Java lo que nos permite alterar el funcionamiento de nuestro código on the fly e integrarlo en aplicaciones Java con facilidad.

La documentación de Groovy explica con bastante claridad el mecanismo para hacer esto e incluso nos provee de código ejemplo: integrar scripts en el código de Minecraft nos permite modificar el código que queramos durante la ejecución del juego :) (click en la imagen para verla en mayor tamaño)

Groovy and Java

, , , ,

No hay Comentarios

Programmable Minecraft: Experimenting with the mob’s AI

Hello everyone! I bring you another status update of the Programmable Minecraft project.

Following the line of work I shared with you in my previous post on the topic, we incorporated new means of interacting with Minecraft: now users can ask about a particular block using its position as reference, ask about their own position, place living entities (mobs) in the world and disable their AI in order to code their own. Here’s a tiny example:

Have fun!

Hola a todos! Les traigo otro informe del estado del proyecto Minecraft Programable.

Siguiendo la línea de trabajo que compartí con ustedes en mi post anterior, incorporamos nuevas formas de interactuar con Minecraft: ahora los usuarios pueden consultar información respecto a un bloque particular utilizando su posición como referencia, colocar entidades (mobs) en el mundo y deshabilitar su IA para programar la suya propia. Este es un pequeño ejemplo:

Que se diviertan!

, , ,

2 Comentarios

Robotics as a way of getting students closer to mathematical thinking

Today I’d like to share with you a fragment of “A Mathematician’s Lament”, by Paul Lockhart.

So how do we teach our students to do mathematics? By choosing engaging and natural problems suitable to their tastes, personalities, and level of experience. By giving them time to make discoveries and formulate conjectures. By helping them to refine their arguments and creating an atmosphere of healthy and vibrant mathematical criticism. By being flexible and open to sudden changes in direction to which their curiosity may lead. In short, by having an honest intellectual relationship with our students and our subject.

I think this post’s title and the cited fragment speak by themselves.

You can read the full piece here.

Hoy me gustaría compartir con ustedes un fragmento de “El lamento de un matemático”, escrito por Paul Lockhart.

De modo que ¿cómo deberíamos enseñar matemáticas a nuestros estudiantes? Escogiendo problemas naturales e interesantes, que vayan con sus gustos, personalidades y nivel de experiencia. Dándoles tiempo para hacer descubrimientos y formular conjeturas. Ayudándoles a refinar sus argumentos y creando una atmósfera de crítica matemática sana y saludable. Siendo flexibles y abiertos a cambios súbitos en la dirección a la que apunte su curiosidad. En resumen, manteniendo una relación intelectual honesta con nuestros estudiantes y las matemáticas.

Creo que el título de este post, en conjunto con el fragmento citado, hablan por sí solos.

Pueden leer la pieza entera acá

.

, , , , , , ,

1 Comentario

Programmable Minecraft: coding at runtime

Hello everyone! The Programmable Minecraft project is progressively growing and I’d like to share its current status with you today.

We polished the interaction mechanisms we had designed earlier, so we could begin to “expose” the code involved. Users can now carry out a few basic tasks (such as placing a block of a specific kind on a determinate position of the world). While only a very reduced number of interactions have been incorporated into the project until now, the number of applications these have is huge.

An example of application is the generation of structures of enourmous size and complexity. What would manually take days (or even weeks) can be achieved through simple algorithms in a few minutes.

Here are a few screenshots of some structures we’ve been generating to test the project:

Sierpinski Triangle

Dragon Curve

Archimedean Spiral

¡Hola a todos! El proyecto de Minecraft Programable avanza poco a poco, y vengo a compartirles su estado actual:

Puliendo un poco los mecanismos de interacción desarrollados inicialmente, comenzamos a “exponer” el código útil para dicha interacción. Ahora es posible para los usuarios realizar algunas acciones básicas mediante código (como colocar un bloque en una determinada posición del mundo). Si bien se ha incorporado un número muy pequeño de interacciones, los resultados alcanzables mediante ellas son prácticamente ilimitados.

Aquí hay algunos screenshots de las estructuras que hemos generado para probar al proyecto:

Sierpinski Triangle

Dragon Curve

Archimedean Spiral

, , ,

No hay Comentarios

¿Por qué usar robots en la escuela?

Podríamos comenzar hablando del futuro, de las nuevas tecnologías. Podríamos mostrar cientos de artículos periodísticos y de investigación que vaticinan que los próximos 50 años van a estar signados por la tecnología física, por los procesos automatizados juntos con la inteligencia artificial. Pero no es esa nuestra motivación más importante. Nosotros amamos la robótica en la escuela como un recurso didáctico que combina lo mejor de dos mundos: una tecnología que está en el imaginario de los chicos y que los fascina y motiva como ninguna otra; y la posibilidad de volver a experimentar con lo físico, como nosotros, los mayores de 40, lo hemos hecho con nuestros juguetes. Con este material los chicos comparten, discuten, argumentan, aprenden a definir y cumplir reglas, experimentan, realizan hipótesis, las comprueban o la descartan, se equivocan, reintentan, fracasan, llegan a buen puerto, se respetan. Y con el maravilloso condimento de que los docentes no saben del tema. Con lo cual, su rol es mucho más rico que el de un mero transmisor de conocimientos. En el aula taller de robótica el docente es responsable de que los alumnos aprendan, que sepan comunicarse, que hagan un buen trabajo en equipo, que sepan explicar lo que hacen y por qué lo hacen, que se respeten en sus roles. Es el que indaga, da cauce a la energía creadora de sus alumnos, propone nuevos desafíos, acompaña desde aquello que ningún libro ni internet puede dar: la mirada pedagógica. Y para eso no hace falta saber de robótica. Eso está en los sitios especializados, en el material didáctico. El docente le da un condimento único e irremplazable, de la misma manera que el trabajo del chico en el aula no es reemplazable por el trabajo en su casa.

Podríamos seguir con muchas palabras más, pero tal vez estas imágenes dicen mucho más:

La ñata contra el vidrio

Todos interesados por la robótica

 

 

, ,

No hay Comentarios

“Mendieta”: proyecto de hardware libre para robótica educativa

Hola a todos!!

Este es mi primer post en el Blog de GIRA; trataré de ir compartiendo mi trabajo con Uds.
Desde que me uní al grupo, estuve trabajando en un proyecto de hardware de bajo costo para robótica, que fuera de fácil construcción y programación, y mas barato que las placas comerciales, como Arduino o Duinobot. Por otra parte, deseábamos que tuviera mayores prestaciones nativas que por ejemplo la placa Pingüino, es por ello que se incorporó un hub de motores, utilizando el integrado L293D, lo que permite manejar 2 motores de CC o un motor PAP en forma bidireccional, y varios servos.
En el proceso de investigación de mercado, tuvimos en cuenta que Mendieta iba a ser conectada al puerto USB, por lo que el microcontrolador debía permitir fácilmente este tipo de conexión. Entre varias opciones, se destacaban los PIC 18F2550 y 18F4550, ambos con interface USB 2.0 nativa y similares características. Nos decidimos a utilizar el 18F4550 por poseer mas puertos digitales y analógicos que el anterior.

El circuito básico de Mendieta se diseñó con Livewire y se le dio la forma definitiva con PCB Wizard. Actualmente estamos con los últimos detalles del hardware y diseñando la “cajita” contenedora, como así el firmware, pero les voy adelantando la forma del circuito y 1º prototipo de Mendieta (en ese momento la parte de motores estaba separada para facilitar las pruebas):

Circuito y 1º prototipo

Próximamente postearé mas detalles de la construcción y, como será open hardware también estarán a su disposición los archivos para imprimir el circuito, el listado de componentes y el firmware para descargar… Ah, y obviamente Mendieta será un nuevo modulo en Physical Etoys…
Saludos,

Gabriel

, , , ,

No hay Comentarios

Programmable Minecraft: first steps

¡Hola a todos! Hoy les traigo noticias respecto a Minecraft “programable”.

Primeramente, una pequeña presentación del proyecto: Lo que se busca exactamente es la automatización de algunas acciones que los jugadores realizan con frecuencia y suelen ser tediosas (como la construcción de estructuras sencillas de gran tamaño o la adquisición de una cantidad considerable de bloques de un material facilmente accesible). Esta automatización ha de ser posible mediante la ejecución de código escrito por el jugador. Aprovechando las características de Smalltalk (especialmente el que nos brinda la posibilidad de modificar el comportamiento de los objetos durante la ejecución de nuestros programas), procuramos que la “digestión” del código del usuario sea llevada a cabo por Smalltalk, enviandose las instrucciones más sencillas posibles a Minecraft.

Teniendo esto en cuenta, el primer paso es establecer una conexión entre Smalltalk y Minecraft, que es lo que les muestro en este post. Contamos con una interfaz gráfica muy sencilla que, por el momento, nos muestra información en vivo acerca de nuestras acciones en el juego. Aún queda un largo camino por recorrer pero ya estamos algo más cerca de la meta que antes :)

Morph del inspector al 26/06/2014

Hello everyone! Today I bring you news regarding the Programmable Minecraft project.

First of all, a little introduction: what we are looking for is the automation of different actions that players frequently carry out and tend to be tedious (such as constructing simple structures of considerable size or acquiring a considerable amount of blocks of a common material). This automation is to be made possible through the execution of code written by the player. Taking advantage of Smalltalk’s unique characteristics (specially that it allows us to modify the behaviour of objects during execution), we seek that the “digestion” of the aforementioned code is carried on by the Smalltalk VM, being what is sent to Minecraft the simplest instruction set possible.

With this in mind, the first step is to establish a connection between Minecraft and Smalltalk, which is what I show you in this post. We made a very simple graphic interface that currently displays live information related to our actions inside the game. There is still a long way to go, but we’re now a bit closer to the goal than we were before :)

Morph del inspector al 26/06/2014

, , ,

No hay Comentarios

SqueakFest 2012 Argentina – Material

Hola a todos,
En los links siguientes se encuentran colgados los materiales usados en los talleres y conferencias del Squeakfest 2012.
1) Material de Iris Fernandez
2) Links de Jose Miguel Garcia (Taller de Robótica)
Fotos del taller:
Acceso al capítulo de Robótica del libro azul de Ceibal, que les dimos a los participantes como referencia:
3) Links de Patricio Acevedo
4) Presentación de Alejandro Artopoulos
5) Material de Randall Caton
6) Material de Rita Freudenberg
7) Material de Sandra Godoy (Taller de Ciencias Sociales)
9) Material de Matias Teragni (Taller de Matemáticas)
10) Material de Ricardo Salvador:
11) Material de Steve Thomas:
12) Presentación de Santiago Ceria:

, , , , ,

2 Comentarios

SqueakFest 2012 Argentina – Día 1

Habiendo terminado el primer día de la conferencia SqueakFest 2012 Argentina, podemos decir que ha sido hasta ahora más que gratificante poder compartir la experiencia de quiénes han venido utilizando Etoys para enseñar desde hace años. ¡Esperamos que los próximos días sigan así!

Hoy tuvimos, al comenzar la mañana, la conferencia plenaria de Rita Freudenberg, directora del equipo de educación de la fundación Squeakland, quién nos dió un panorama de cómo debería ser la educación que tuviera en cuenta la “alfabetización computacional” (traducción más o menos literal de Computer literacy), por qué esto es importante y cómo puede ayudar Etoys.

Luego tuvimos una serie de tres talleres en paralelo para iniciar a los docentes que no tuvieran ningún contacto previo con Etoys. Estos talleres fueron dictados por Ricardo Salvador, nuestro mentor Gonzalo Zabala, y el que suscribe. No puedo hablar por los demás, pero personalmente considero que los mismos fueron bastante satisfactorios.

Por la tarde, seguimos con talleres en paralelo, esta vez con: Patricio Acevedo, quién mostró como usar Etoys para enseñar Ciencias Sociales; Aldo Ferrari, enseñando robótica con Physical Etoys; nuestro compañero Matías Teragni, con una clase de matemática con Etoys; y la presencia remota de Steve Thomas, quien desde Estados Unidos nos mostró algunas actividades didácticas con Etoys y nos hizo participar en una actividad muy divertida llamada “How to train your robot“, donde tuvimos la chance de programar a nuestro robot Rita y molestarla un poquito :)

Finalizando el día tuvimos la excelente charla de Randall Caton, miembro del equipo de educación de Squeakland, y desarrollador de herramientas en Etoys para los programas de la NASA y para cursos de física. Su charla nos mostró, con varias actividades, cómo aplicar Etoys siguiendo los preceptos del estudio “How people learn“, cuyo libro puede conseguirse gratuitamente online (en inglés, lamentablemente).

De más está decir que la organización del evento se portó de maravilla, proporcionando desde café y galletitas hasta equipos de traducción en simultáneo (además del lugar físico para realizar la conferencia). Un gran aplauso para ellos :)

Por último, no se olviden de chuzmear el blog de vez en cuando que vamos a ir posteando (probablemente mañana, o sino cuando podamos) los proyectos y presentaciones de los disertantes. Asi que si estaban interesados en algún ejemplo que se mostró hoy durante alguna charla (sé de muchos que quedaron encantados con los proyectos de Steve), ¡estén atentos!

Saludos,

Richo

, , , , ,

1 Comentario

Physical Etoys released!

Woow!

Finally after many days of work we have released a beta version of Physical Etoys. We hope you have fun with Physical Etoys. We want to receive every kind of critics and improve Physical Etoys the more we can do. Also we would like to thank the ones who created Etoys for giving us such amazing ambient and the CAETI for providing us with the space and the resources for developing this project.


Woow!

Finalmente después de varios días de trabajo tenemos una versión beta de Physical Etoys disponible. Esperamos que se diviertan y que les sea fructífero. Queremos recibir todo tipo de criticas y mejorar Physical Etoys lo más que podamos. También nos gustaría agradecer a los que crearon etoys por brindarnos este ambiente sorprendente y al CAETI por darnos el espacio y los recursos para que podamos llevar a cabo este proyecto.

,

9 Comentarios