miércoles, 29 de abril de 2009

¿Somos tontos?

¿Somos tontos? Con esta pregunta me gusta empezar un curso de introducción a la informática. Aprovechando el eslogan de una famosa cadena de electrodomésticos planteo a los alumnos qué sabemos de los productos tecnológicos que compramos.

Para esta actividad vemos en clase folletos de publicidad y analizamos cada uno de los términos que se emplea en relación a ordenadores de sobremesa, portátiles, impresoras, pantallas, discos duros multimedia, etc.

¿Qué es ..?
  • Procesador Core 2 Quad
  • Caché L2
  • 1333 MHZ FSB
  • 8192 MB DDR2 Dual Channel
  • Disco Duro SATA 640 GB con 7200 rpm
Como actividad final de esta unidad les pido que me planteen una configuración de un equipo por 600 euros, otra por 1200 euros y una final con el presupuesto ilimitado. Luego comparamos las diferentes propuestas entre los alumnos viendo los pro y contra. Para esto pueden acceder a páginas como www.dell.es, www.pccomponentes.com, etc.

Por cierto, no les suelo hablar de la historia de la informática, de los primeros ordenadores, etc. Es un "tostón" y no creo que les saquen mucho partido. Además, lo que están viendo hoy en el mundo de la informática ya forma parte de la historia

martes, 28 de abril de 2009

Enseñando Python a los peques

No es descabellado enseñar nociones de programación a niños entre 8 y 16 años, en primaria, en la ESO, ... Tampoco es nada descabellado que su primer lenguaje de programación sea Python.

Una herramienta muy interesante para emplear en clase es RUR-PLE. Se trata de una aplicación pensada para enseñar Python de una forma entretenida. Nos ofrece un entorno de desarrollo, tal y como se muestra en la siguiente video, en el que disponemos de un robot que podemos programar empleando Python. Además, podemos crear paredes y programar al robot para que las bordee.

El robot cuenta con un conjunto reducido de instrucciones:
  1. move() Mueve una posición el robot en la dirección a la que este orientado.
  2. turn_left() Gira el robot 45º a la izquierda.
  3. turn_off() Desconecta el robot. Esta instrucción se usa para marcar el fin del programa.
  4. pick_beeper() Los beepers son objetos que emiten un sonido y que el robot puede mover de un lugar a otro. Con la instrucción "pick_beeper" el robot puede coger el objeto siempre y cuando se encuentre justamente sobre el objeto.
  5. put_beeper() Ordena al robot que deje el beeper que anteriormente había recogido.
Instrucciones de comprobación:
  1. front_clear() Indica si delante del robot existe algún obstáculo.
  2. facing_north() Indica si el robot se encuentra orientado al norte.
  3. carries_beepers(). Indica si el robot transporta algún beeper.
  4. on_beeper() Indica si el robot se encuentra encima de un beeper.
Funciones especiales:
  1. repeat(funcion, numero_veces) Repite la función que se pasa como primer parámetro el número de veces indicado en el segundo parámetro.
Para trabajar con programación orientada a objeto:
  1. Reeborg = UsedRobot(). Crea un nuevo robot.
  2. Reeborg.move()
  3. Reeborg.turn_left()
  4. Reeborg.pick_beeper()
  5. Reeborg.put_beeper()
  6. Reeborg.front_clear()
  7. Reeborg.facing_North()
  8. Reeborg.carries_beepers()
  9. Reeborg.next_to_a_beeper()
Funciones avanzadas:
  1. set_trace_style(style=1, colour='sea green')
  2. set_delay(time)
  3. Reeborg = UsedRobot(avenues=1, streets=1, orient_key = 'E', beepers=0, name = 'Reeborg', colour = 'grey')
  4. Reeborg.set_trace_style(style=1, colour='sea green')
  5. Reeborg.set_delay(time)
En la página del proyecto encontrarás un tutorial paso a paso para desarrollar en clase.

lunes, 27 de abril de 2009

Nets 2007 - Estándar EEUU de TIC para Estudiantes

“Lo que los estudiantes deberían saber y ser capaces de hacer para aprender efectivamente y vivir productivamente en un mundo cada vez más digital…”

En Eduteka.org podemos consultar el documento traducido de este estándar nacional de EEUU relativo a las competencias en TIC (Tecnologías de la información y comunicación) en alumnos preuniversitarios, desde los 4 años hasta los 18. Publicado por ISTE, aquí puedes consultar el original.

El estándar establece 6 áreas:
  1. Creatividad e innovación. Los estudiantes demuestran pensamiento creativo, construyen conocimiento y desarrollan productos y procesos innovadores utilizando las TIC.
  2. Comunicación y colaboración. Los estudiantes utilizan medios y entornos digitales para comunicarse y trabajar de forma colaborativa, incluso a distancia, para apoyar el aprendizaje individual y contribuir al aprendizaje de otros.
  3. Investigación y manejo de información. Los estudiantes aplican herramientas digitales para obtener, evaluar y usar información.
  4. Pensamiento crítico, solución de problemas y toma de decisiones. Los estudiantes usan habilidades de pensamiento crítico para planificar y conducir investigaciones, administrar proyectos, resolver problemas y tomar decisiones informadas usando herramientas y recursos digitales apropiados.
  5. Ciudadanía digital. Los estudiantes comprenden los asuntos humanos, culturales y sociales relacionados con las TIC y practican conductas legales y éticas .
  6. Operacions y conceptos de las TIC. Los estudiantes demuestran tener una comprensión adecuada de los conceptos, sistemas y funcionamiento de las TIC.
Para cada una de estas áreas se indica una serie de competencias que debería alcanzar el alumno. Por ejemplo, en el ámbito de la comunicación y colaboración se indica que los estudiantes:
  • Interactúan, colaboran y publican con sus compañeros, con expertos o con otras personas, empleando una variedad de entornos y de medios digitales.
  • Comunican efectivamente información e ideas a múltiples audiencias, usando una variedad de medios y de formatos.
  • Desarrollan una comprensión cultural y una conciencia global mediante la vinculación con estudiantes de otras culturas.
  • Participan en equipos que desarrollan proyectos para producir trabajos originales o resolver problemas.
Además, se establece perfiles de estudiantes en función de sus edades. Se contempla los siguientes rangos de edades:
  • Grados Pre Kinder a 2° (edad 4 a 8 años)
  • Grados 3° a 5° (edad 8 a 11 años)
  • Grados 6° a 8° (edad 11 a 14 años)
  • Grados 9° a 12° (edad 14 a 18 años)
Aquí tienes el documento traducido por Edutake.org en donde puede consultar en detalle las competencias de los alumnos por cada área y edad.

domingo, 26 de abril de 2009

ECDL Acreditación Europea de Manejo de Ordenador

ECDL es una acreditación que reconoce a nivel europeo el poseer unos conocimientos básicos en el uso de herramientas informáticas a nivel de usuario. A nivel internacional la acreditación es ICDL.

Se establece los siguientes módulos de conocimientos:
  1. Conceptos básicos sobre la tecnología de la información.
  2. Uso del ordenador y gestión de ficheros.
  3. Procesador de texto.
  4. Hojas de cálculo.
  5. Bases de datos.
  6. Presentaciones.
  7. Información y comunicación.
Cuando se supera alguno de estos módulos se recibe un carnet ECDL en donde se acredita los módulos superados. Una vez superados los siete módulos, se recibe el diploma ECDL.

Además del negocio que puede suponer para las entidades el proporcionar cursos dirigidos a obtener este diploma, es un referente muy interesante a la hora de realizar nuestras programaciones didácticas en la ESO y Bachillerato. En el siguiente documento encontramos la especificación de los módulos. Cada módulo incluye una serie de unidades de trabajo que son lo que llamamos competencias.

También establece conocimientos avanzados en diferentes herramientas.

martes, 21 de abril de 2009

Oracle anuncia la compra de Sun Microsystem

Después del intento fallido de IBM por la compra de Sun MicroSystems, Oracle parece que se lleva el gato al agua con una oferta de 5.700 millones de euros.

Parece ser el principio del fin de MySQL y podría serlo también de Java. ¿Puede aparecer en escena un lenguaje de programación que sustituya Java? En este interesante artículo titulado "the next big language" se sugiere tal posibilidad, escrito por Steve Yegge, programador de Google.

Por lo pronto, sigo con mi apuesta por Python y dejo aparcado por el momento mi interés por JavaFX.

El mundo según Google

"El mundo según Google" es otro excelente documental. En este caso, trata sobre los buscadores, centrándose especialmente en Google, y lo que puede condicionarnos los criterios de búsqueda, su política de privacidad, etc. ¿Puede existir algo en Internet si no lo puedes localizar a través de Google? ¿Leemos sólo lo que Google quiere, los primeros resultados de las búsquedas? ¿Puede existir algún tipo de censura? ¿Se podría reconstruir un perfil personal a partir de nuestras búsquedas?

Otro buen documental, para trabajar con alumnos de la ESO y Bachillerato.

lunes, 20 de abril de 2009

Los piratas de Silicon Valley

"Los piratas de Silicon Valley" es un documental-película imprescindible para conocer una de las épocas más importantes de la informática y de la historia reciente. En esta película se narra los orígenes de los ordenadores personales, centrándose en el periodo entre 1970 y 1985, en los orígenes de Microsoft y su lucha con Apple.

Lo puedes ver en Youtube. La respuesta es sí, fue doblada al español.

Código Linux, un documental excelente

Un excelente documental acerca de GNU/Linux y el software libre. Emitido en su momento por la televisión pública española explica los orígenes de Linux y su evolución.

El software libre explicado por Richard Stallman

Desde la comunidad de Drangonjar he conocido la existencia de un video en español e inglés de Richard Stallman, principal precursor del movimiento de software libre, en donde explica la filosofía del software libre y sus implicaciones.

Muy interesante sobre todo como materia de apoyo al debate en la ESO o bachillerato después de todo lo que se está hablando acerca de los derechos de autor.


El vídeo lo puedes descargar en inglés y español.

jueves, 16 de abril de 2009

¡Al ataque! Seguridad de sistemas

Como parte del módulo Administración de Redes Locales siempre incluyo una unidad de trabajo específica acerca de la seguridad. Me gusta que esta unidad sea eminentemente práctica y además de configurar las principales medidas de seguridad, me gusta que los alumnos aprendan como trabajan los hackers. Ya sabes, el primer paso para estar seguro es conocer a tu enemigo.

Para esto desarrollo en clase lo que se denomina "Penetration testing", técnicas de seguridad encaminadas a comprobar si los sistemas realmente son seguros.

Para desarrollar una de las primeras prácticas de seguridad, montamos una máquina que va a ser la víctima instalando una distribución diseñada con este propósito DE-ICE. En este proyecto te propone retos que consisten en atacar a una máquina con unos servicios ya configurados, actualmente existen tres escenarios.

Como herramienta de trabajo (ataque) los alumnos disponen de Backtrack. ¿Cómo? No la conoces, pues nada, nada, a ponerse con ella que seguro que te divertirás mucho. Básicamente se trata de una distribución Linux con todas las principales herramientas de ataque (Penetration testing) instalada y configuradas.

La primera práctica se hace muy guiada, debido a la inmensidad de posibilidades que nos ofrecen herramientas como Backtrack. Para esto, ponemos en clase un video en donde nos muestra la solución del ejercicio y vamos analizando cada uno de los pasos y herramientas empleados por el atacante. Al mismo tiempo, cada alumno replica el ataque desde su ordenador. Los videos son muy buenos, incluyendo una música muy apropiada.

Escenario 1:

Convierte tu móvil en un mando a distancia para tu ordenador

Estos días he descubierto Bluepad una aplicación Java muy sencilla que permite convertir tu móvil en un mando a distancia para ordenadores con Linux a través de Bluetooth. Puedes controlar con el móvil entre otras cosas el ratón, la reproducción de vídeo y música, juegos y la presentaciones con OpenOffice Impress.

¿Para que te puede servir en clase? Primero para hacer una práctica con los alumnos muy vistosa a comienzo de curso y segundo, para poder controlar una presentación moviéndote libremente por la clase.

La instalación es muy sencilla. Se trata de instalar un paquete en Linux y una aplicación Java en tu móvil que se comunicarán a través de Bluetooth. Yo lo he instalado sin problemas en Ubuntu 8.10 y en un móvil Nokia. Descargas el siguiente paquete de la página oficial para su instalación en el ordenador y este otro para instalarlo en el móvil. Para el móvil debes descomprimir el archivo y transferir el archivo "bluepad.jar" a tu móvil, lo encontrarás dentro de la carpeta en la que lo has descomprimido, en la carpeta "Bluepad" . A continuación, inicia las dos aplicaciones y establece una conexión Bluetooth entre ellas. Si tienes duda en la instalación consulta la siguiente página.

Me ha supuesto un gran hallazgo, muy sencillo de utilizar y muy práctico.

miércoles, 15 de abril de 2009

Desarrollo de aplicaciones seguras

Un aspecto en el que muchas veces no trabajamos lo suficiente en clase es la seguridad en el desarrollo de las aplicaciones. La seguridad es especialmente crítica en el desarrollo de aplicaciones web.

Un buen punto de partida es OWASP (Open Web Application Security Project), una comunidad que tiene como objetivo la mejora de la seguridad en las aplicaciones. ¿Qué nos ofrece OWASP?
  • OWASP Development Guide. Una guía para construir aplicaciones y servicios web seguros. Se encuentra en la versión 2.0 y la tenemos en español. De obligada lectura, trata sobre todos aquellos aspectos que puede comprometer la seguridad de una aplicación, explica en que consiste cada uno de los posibles problemas y medidas a tomar.
  • OWASP Testing Guide. Una guía para crear un framework de test de seguridad que se integre en el ciclo de desarrollo de software de cualquier empresa. Este es el enlace a la guía en español.
  • OWASP WebScarab project. Herramienta Java que funciona como proxy para realizar pruebas de aplicaciones web.
  • OWASP WebGoat project. Es una aplicación web insegura desarrollada en J2EE con el objetivo de enseñar aspectos de seguridad de una forma práctica. Existe más de 30 lecciones en donde se puede poner a prueba los conocimientos acerca de los diferentes agujeros de seguridad que puede tener una aplicación. También se dispone de videos demostrativos. Por ejemplo, para poner en práctica ataques SQL-injection.
  • OWASP Lice CD project. Live CD incluyendo diferentes proyectos de seguridad, incluye una suite de herramientas de test de seguridad. Además, incluye numerosa documentación y WebGoat.

martes, 14 de abril de 2009

Comienza Javacup 2009

Se inicia la Javacup 2009, torneo de futbol virtual en el que deberás programar la lógica de un equipo de futbol. Se programa en Java y se proporciona un framework en donde tan solo debes programar los movimientos de tus jugadores.

Anímate a participar, anima a tus alumnos a programar un equipo y participar en este torneo. Es realmente sencillo.

Aquí tienes el tutorial y este es el video promocional