h1

Mi primer MoocBot.

05/10/2015

Ha sido una semana muy cargada de trabajo, con el inicio de curso todavía reciente y alguna que otra gripe en la familia. Pero aunque lo he dejado para el último día aquí está mi primer robot para el curso #MoocBot.

Por un lado he de admitir que podría haberme esforzado más: apenas son unas pocas piezas unidas aprisa y corriendo antes de ponerme a hacer la cena, pero… Lo cierto es que precisamente eso me ha servido para ver la enorme capacidad que tienen los robots para atraer la atención de los niños y motivarles a hacerse preguntas.

Apenas había esparcido por la mesa de la cocina la parafernalia robótica que iba a utilizar y ya tenía a mi hijo y mi hija mirando por encima de mi hombro y haciendo preguntas. ¿Puedo ayudar? ¿Para qué sirve “eso” lleno de agujeritos? ¿Cómo sabes en qué agujero hay que conectarlo? ¿Por qué se mueve hacia “allí” y no hacia “allá”?

Esta actividad me ha dejado convencido e intrigado por el enorme potencial de la robótica en la educación, y eso con un robot… poco menos que lamentable.😉

h1

Robots en el aula

02/10/2015

Ha comenzado el curso del INTEF “Cómo introducir la programación y la robótica educativa en todas las materias”. Como profesor de informática hace tiempo que mis alumnos aprenden a programar con Scratch, Guido y Python. La programación me parece una manera fantástica de enfrentarse a problemas de forma organizada, utilizar modelos y simulaciones, abstraer y encontrar soluciones generales que pueden luego servir para una familia completa de problemas similares.
El planteamiento de problemas por mi parte y la búsqueda de soluciones por parte de los alumnos me parece muy interesante, y la programación es, probablemente, mi parte favorita del temario, pero todo esto sucede únicamente en el mundo virtual que hay dentro del ordenador.
Espero que, en algún momento, la robótica me permita trasladar todo esto al mundo físico, fuera de la pantalla del ordenador. Estoy seguro que será muy motivador tanto para los alumnos como para mi mismo.

h1

Algoritmo para la resolución de un problema

10/12/2014

En el curso del INTEF titulado “De espectador a programador” que estoy haciendo nos piden que diseñemos un algoritmo que nos permita calcular cuanta gente cabría en la plaza Mayor de Madrid. En teoría habría que desarrollarlo con Scratch, pero haré aquí un esbozo en pseudocódigo que o sería difícil de traducir al lenguaje Scratch.

Para comenzar hay que recordar que a ventana de Scratch tiene el origen de coordenadas en su centro y mide 480 píxels de ancho y 360 de alto. En este proyecto utilizaría como fondo una fotografía aérea de la plaza Mayor, con las zonas en las que no pueden haber personas (tejados, estatua,…) pintadas de rojo y un objeto (por ejemplo un círculo verde) col el tamaño aproximado del área ocupada por una persona.

El algoritmo sería como sigue:

  • Limpiar
  • Ir a -240, 180
  • Asigna a la variable contador el valor 0
  • Repite hasta que posición x > 230 y posición y < -170
    • Asigna el valor -240 a posición x
    • Repite hasta que posición x = 240
      • Suma 1 a posición x
      • Si no tocando color rojo y no tocando color verde
        • Estampa
        • Suma 1 a la variable contador
    • Suma -1 a posición y

Con esto, más o menos, podríamos contar cuantas personas cabrían (muy, pero que muy ordenadas) en a plaza Mayor de Madrid.

h1

Practicando viejas habilidades

03/12/2014

Estoy haciendo el curso titulado “De espectador a programador: El camino para entender la tecnología aprendiendo a manejarla”. Me pareció un tema muy interesante, puesto que me interesa mucho que mis alumnos entiendan que un ordenador no es un aparato que haya que usar pasivamente (como un televisor) ni tampoco solo según los usos conocidos y habituales (facebook, twitter,…). Me parece mucho más interesante la construcción de objetos originales usando, por ejemplo, una Raspberry Pi pero como el hardware es caro… ¿que tal programar y crear contenidos para la web?

De momento conocido nuevas herramientas, y refrescado la memoria cn respecto a algunas que ya conocía como Scratch. La última actividad ha sido crear un cuento y reinventar el de un compañero.

h1

Sozi, una alternativa libre a prezi

03/03/2012

Prezi es un programa que nos permite hacer atractivas presentaciones. Por desgracia se trata de un programa privativo, que guarda nuestros trabajos en un formato cerrado. Buscando alternativas libres a este programa me he encontrado con diferentes opciones más o menos fáciles de utilizar, muchas de ellas basadas en HTML5. Una que me ha gustado mucho ha sido Sozi, una extensión para Inkscape que nos permite guardar nuestras presentaciones en ficheros SVG para visualizarlas en un navegador web.

Las instrucciones para instalar Sozi en Ubuntu son las siguientes:

sudo add-apt-repository ppa:sunab/sozi-release
sudo apt-get update
sudo apt-get install sozi

Su uso es muy simple, pero como es más fácil mostrarlo que explicarlo he preparado un vídeo. Sozi realiza transiciones suaves, si se aprecian saltos en el vídeo es culpa de la captura.

Web del programa: Sozi


Actualización: Que mal se ve el vídeo que he colgado! Las instrucciones para instalar extensiones para inkscape se pueden encontrar en su wiki.

h1

Alguns programes per a iniciar als alumnes en la programació d’ordinadors

16/02/2012

Porte ja alguns anys ensenyant a programar a alumnes de batxillerat en l’assignatura TIC1. Utilitze el llenguatge Python, que m’agrada per la seua potència però amb una sintaxi clara, però abans comencem coneguent i practicant les estructures bàsiques dels algorismes amb algun entorn de programació educativa.
Des del principi he utilitzat el programa Guido van Robot, però sempre he pensat que és millorable en molts sentits, de manera que he fet una recerca de programes alternatius i un xicotet resum de les seues característiques.

Alice

http://www.alice.org

Alice és un llenguatge i entorn de programació en 3D. En lloc d’utilitzar un editor de text, es programa “gràficament” arrossegant i soltant peces que formaran el programa. Aquesta programació sense sintaxi definida pot ser un avantatge, ja que simplifica la creació de programes, però potser els alumnes després tindran problemes per adaptar-se a un llenguatge de programació real. Alice és programari lliure, i es pot trobar pe ra Windows, Mac i GNU/Linux, però solament en anglès.

Greenfoot

http://www.greenfoot.org

Greenfoot és un entorn de programació en el que fàcilment es poden desenvolupar simulacions, jocs i aplicacions gràfiques en dos dimensions. El llenguatge de desenvolupament és Java, i permet la creació de programes a l’estil d’Alice però amb la sintaxi d’un llenguatge de programació real. Greenfoot és lliure, multiplataforma i està traduït a múltiples idiomes.

Scratch

http://scratch.mit.edu/

Scratch és similar a Alice, amb un estil de programació gràfica però, igual que Greenfoot, en dos dimensions. És un programari molt maur i àmpliament utilitzat per institucions educatives. Solament es troba disponible per a arquitectures de 32 bits, però he aconseguit forçar la seua instal·lació i m’ha paregut un programa molt atractiu: Els programes es formen ajuntant peces com en un joc de construcció, però té moltes possibilitats i pareix que realment es poden fer moltes cosses amb ell. Scratch es distribueix amb una llicència “similar a la GPL”, esta disponible en diferents idiomes i per a diferents sistemes operatius.

Guido Van Robot

http://gvr.sourceforge.net/

GvR és un programa d’aparença minimalista basat en altre programa anomenat Karel. Per a programar el robot s’utilitza un pseudocodi molt simplificat amb una sintaxi similar a la de Python, però que pot estar traduït a diferents idiomes i no permet variables. Alguns dels avantatges d’aquest programa és la seua simplicitat, que evita distraccions i consumeix pocs recursos, i els principals inconvenients que he trobat són el seu editor intern i els missatges d’error poc informatius. Per exemple: trobar un error de sagnat (un simple un espai de menys) en un programa llarg pot ser complicat per què el programa indica l’error, però no la línia on aquest es troba. Guido Van Robot és programari lliure, i està disponible en diferents idiomes per a Windows i GNU/Linux.

RUR-PLE

http://rur-ple.sourceforge.net/

RUR-PLE és en molts aspectes similar a Guido van Robot, però utilitza totes les característiques de Python en lloc de ser un pseudocodi limitat a una part d’aquest. Existeixen dues branques del projecte :RUR-PLE i Rurple NG. La primera va alliberar la seua última versió en 2009 (únicament per a arquitectures de 32 bits) i la segona únicament té una versió per a Windows. Ambdues branques són programari lliure i es troben disponibles en diferents idiomes.

Robomind

http://www.robomind.net

Robomind és un programa similar a Guido Van Robot, en el qual també controlem un robot, però el seu aspecte gràfic és molt més atractiu. El llenguatge per a programar el robot és un pseudocodi simplificat i traduït a diferents idiomes on no es permeten variables. La major qualitat gràfica fa que el programa tinga un major atractiu, però també requereix d’un maquinari més potent.
Robomind està programat en Java, i funciona en qualsevol sistema operatiu. Està disponible en diferents idiomes i, encara que no és programari lliure, és gratuït i open-source.

Conclusions

Descarte Alice i RUR-PLE pels problemes que he tingut durant la seua instal·lació. Greenfoot i Robomind pareixen interessants per a aprendre Java, però les regles del seu pseudocodi són diferents de les de Python, i com que tinc intenció d’utilitzar aquest llenguatge a continuació és possible que els alumnes acaben confosos. Scratch és un gran programa, i sense dubte seria la meua elecció si hagués d’iniciar en la programació a alumnes de secundària, però en Batxillerat crec que és millor que comencen escrivint els seus programes i enfrontant-se a la sintaxi d’un llenguatge en lloc de, simplement, “ajuntar peces”. Guido van Robot té, com ja he dit alguns inconvenients però així i tot em pareix la millor opció per donar després el bot a Python.

h1

Problema con la codificación de caracteres en scripts CGI con Python 3

03/11/2011

Ansioso por empezar a utilizar la nueva versión de Python 3 he tenido algunos problemas con la codificación de caracteres: concretamente, aunque Python ahora trabaja siempre con cadenas de texto utf-8, cuando se ejecuta como script CGI se empeña en transformar la salida a ASCII, con lo que los caracteres acentuados son sustituidos por símbolos extraños.

Tras investigar un poco he descubierto una solución bastante simple, que consiste en añadir las siguientes dos líneas al comienzo del script:

import codecs, sys
sys.stdout = codecs.getwriter(‘utf-8’)(sys.stdout.buffer)

De este modo la salida estándar se hace también en utf-8.

Por cierto, para que el editor Geany utilice Python 3 (lo cual también me ha confundido bastante, hasta que me he dado cuenta de que usaba Python 2.7) hay que editar un fichero de configuración y modificar un par de líneas:

sudo nano /usr/share/geany/filetypes.python

y cambiamos las líneas

compiler=python3 -c “import py_compile; py_compile.compile(‘%f’)”
run_cmd=python3 “%f”

Ahora ¡a transformar todos mis ejercicios de TIC a HTML5!

A %d blogueros les gusta esto: