domingo, 11 de noviembre de 2012

UNX nueva plafatorma de formación online

La UNED (Universidad Nacional de Educación a Distancia ) junto con el MIT (Massachusetts Institute of Technology) ha lanzado una nueva plataforma de enseñanza a distancia UNX. Es el equivalente hispano de EdX, creado por MIT y la Universidad de Harvard

Entre los primeros cursos gratuitos que se oferta a través de UNX, disponemos de "Emprendimiento y Desarrollo de Aplicaciones Móviles con App Inventor".

Me apunto!

NETKIT para simulación de redes

Netkit es una gran herramienta opensource para realizar simulación de redes y poder trabajar en clase actividades de todo tipo: configuración de routers, instalación de servicios en red como DNS, DHCP, ataques de seguridad, etc. Disponible para sistemas Linux.

No sobrecarga la máquina, pudiendo ejecutar numerosas máquinas virtuales. Incluso, desde un penlive persistente de linux se ejecuta sin problemas.  Las máquinas virtuales emplean UML con distribución Debian.

Su instalación es muy sencilla, basta con descargar tres archivos, descomprimirlos, instalar xterm y añadir al path, la ruta de la carpeta de Netkit.

Su uso también es muy sencillo, crea un directorio por actividad, dentro del directorio un fichero de texto denominado "lab.conf" en donde se indica las máquinas que conforman la red y sus conexiones. Por último, lanza la red situándote en una terminal en el directorio de la actividad y ejecutando el comando "lstart". Para detener la red "lhalt".

Por ejemplo, el fichero lab.conf  para una red con tres ordenadores (pc1, pc2 y pc3) conectados a través de un hub.

LAB_DESCRIPTION="actividad1: primera red"
LAB_VERSION=1.0
LAB_AUTHOR="Santiago Galván Sánchez"
LAB_EMAIL=
LAB_WEB=

machines="pc1 pc2 pc3"

pc1[0]=A
pc2[0]=A
pc3[0]=A


A través de la directiva "machines" se listan las máquinas que componen la red. A continuación se indica "nombre_maquina[conexión_red] = nombre_red". 

Las máquinas pueden tener todas las conexiones de red que se deseen. Por ejemplo, para configurar dos redes conectadas a través de un router, en donde pc1, pc2, pc3 se encuentra en una red A y pc4 en otra B.

machines = "pc1 pc2 pc3 router pc4"
pc1[0]=A
pc2[0]=A
pc3[0]=A

router[0]=A
router[1]=B

pc4[0]=B

Aquí dispones del documento que uso para la instalación de Netkit que lo llevan a cabo los propios alumnos. Incluye un documento con los pasos para realizar la instalación, archivos de ejemplo ".bashrc" y "sudoers". La instalación está validada en Linux Mint LMDE.

En próximas entradas publicaré las actividades que he diseñado para el módulo de redes locales y servicios en red de ciclo formativo de grado medio, técnico en sistemas microinformáticos y redes.

jueves, 25 de octubre de 2012

Actualización de presentación de cable de par trenzado

He actualizado la presentación de cable de par trenzado que uso en clase de redes de ciclos formativos. He intentado simplificarla y al mismo tiempo añadir las principales características de estos cables.


viernes, 13 de julio de 2012

Recursos para clases de programación

Google Code Jam son torneos clasificatorios de programación convocados anualmente por Google. En su página se puede acceder al histórico de problemas de algoritmo y probar a resolverlo. La dinámica es muy sencilla, los algoritmos tienen como entrada un fichero de texto y generan también un fichero de texto con la solución. Google Code Jam te proporciona un fichero de entrada y debes subir el fichero con la solución generada.

Otro recurso muy interesante es Sphere Online Judge En este caso, se sube el programa que puede ser programado en multitud de lenguajes, y la propia web se encarga de ejecutarlo y comprobar su correcto funcionamiento.

martes, 3 de julio de 2012

Google I/O 2012: Charla desarrollo de juego en red con html5

Me ha parecido una buena charla introductoria para el desarrollo de juegos en red con html5. Esta charla pertenece a la conferencia Google I/O 2012

El código del juego lo puedes obtener con el siguiente comando: git clone https://code.google.com/p/gritsgame/

martes, 12 de junio de 2012

Juegos ágiles

En el campo de las metodologías ágiles para el desarrollo de software es frecuente emplear juegos para enseñar los principios básicos de dichas metodologías. Incluso se celebra anualmente "agile games" en donde se expone y comparte este tipo de juegos. Aquí puedes acceder a los vídeos del "agile games 2012".

Existe una comunidad muy activa, Tastycupcakes.org, en donde puedes encontrar un completo repositorio de este tipo de juegos.

A lo mejor te puede servir para plantear actividades en clase cuyo propósito puede ir más alla de explicar los principios de metodologías ágiles.

martes, 5 de junio de 2012

Curso online sobre diseño de interfaces de usuario

La Universidad de Standford ofrece de forma gratuita el curso online "Human Computer Interaction" . Además de poderte subscribirte en el curso online y obtener un certificado se ofrece acceso abierto a los vídeos del curso.

Desde aquí puedes acceder a los vídeos del curso, con subtítulos en inglés, español, etc.


jueves, 5 de abril de 2012

¡Adios Powerpoint!

Ahora tenemos la posibilidad de realizar presentaciones al estilo "powerpoint" pero usando solo Html5 + Css3 + Javascript. Aquí puedes ver mi ejemplo, aunque funciona tanto para Chrome como Firefox, es más fluida en el primero.

La he realizado a partir de Impress.js, añadiendo algunas funcionalidades extras como el mostrar paso a paso los elementos de un slide y replica de componentes como un posible footer igual para todos los slides. Si la quieres descargar...

La ventaja de estas presentaciones es que sólo necesitas un editor de texto para crearlas y para verlas un simple navegador web. El resultado ha sido totalmente satisfactorio y muy fácil de realizar.

Aquí tienes otra plantilla para realizar este tipo de presentaciones promovida por Google.

martes, 21 de febrero de 2012

Hard choices - El duro juego de desarrollar

"Hard choices" es un juego de mesa diseñado con el propósito de simular el ciclo de desarrollo de software, reflejando los conceptos de incertidumbre, riesgo, opciones y discusiones técnicas.

El juego representa una iteración de desarrollo en donde se debe obtener finalmente un entregable, "meta".

Ha sido desarrollado por Ipek Ozkaya, Nanette Brown, and Robert Nord de SEI y por Philippe Kruchten y Erin Lim de la University of British Columbia.

Recursos principales:

El juego está planteado de 2 a 4 jugadores, un jugador puede ser una única persona o un equipo. Por turno, cada jugador lanzará un dado, moviendo las fichas tantas posiciones como indique el dado. La dirección a tomar es libre, pudiendo volver hacia atrás.

El objetivo del juego es alcanzar el mayor número de puntos posibles. Los puntos pueden ser obtenidos de dos formas:

  • Alcanzando la meta. El primer jugador en alcanzar la meta consigue 5 puntos, el segundo 3 puntos y el tercero 1 punto.
  • Obteniendo "items" al posicionarse sobre una de las casillas de tablero, representado por una herramienta. Cada item vale 1 punto.
La idea básica del juego es que los jugadores deben decidir si alcanzar rápidamente la meta o intentar obtener "items" que le permita obtener más puntos. Los puntos claves de decisión son los "puentes" que reflejan atajos para alcanzar más rápidamente la meta. Si se pasa por un puente, el jugador deberá tomar una tarjeta de puente y a partir de ese momento se restará 1 de su tirada de dados. Se restará tanto como puentes haya atravesado.

Existen dos jugadas especiales:

  • Un jugador puede decidir pasar su turno, devolviendo una tarjeta de puente.
  • Un jugador puede decidir tener un turno extra, si alcanza una casilla con una herramienta que ya ha obtenido previamente.
Se recomienda que al menos se realice dos partidas, simulando dos iteraciones de desarrollo, ganando el jugador que alcanza más puntos, sumando ambas partidas. Después de cada partida, se propicia un debate con el fin de valorar las estrategias de los jugadores.