jueves, 19 de diciembre de 2013

ProgramaMe 2013/14

Ya hay sede para el concurso regional de programaMe 2013/14, se trata del I.E.S. el Lago, pero, ¿que es programaMe?

Un poco de historia

Existen muchos concursos de programación, el más famoso es International Collegiate Programming Contest dirigido a estudiantes universitarios. España participa en el regional Southwestern Europe Regional Contest, que engloba también a Portugal, Francia e Italia, entre otros países.
Otro concurso de programación es el International Olympiad in Informatic, una iniciativa similar a ICPC pero para alumnado de ESO, Bachillerato y Ciclos Medios de FP impulsada por la Unesco. La eliminatoria española es la Olimpiada Informática Española, y es organizada anualmente por la Universidad Politécnica de Cataluña.

Lo más parecido para FP Superior son las Olimpiadas de Formación Profesional, más conocidas como Worlds Skills

Por esta razón un grupo de profesores de la comunidad de Madrid que habían participado en concurso de programación pensaron en la idea de crear un concurso de programación para Formación Profesional, con la intención de dar a conocer los ciclos de informática y quitarles esa etiqueta de que son para los perores alumnos.

La primera edición de ProgramaMe se realizó en Marzo de 2011, en el I.E.S. Antonio de Nebrija de Móstoles, y se abrió la participación a cualquier alumno de FP Superior de la Comunidad de Madrid. En el curso 2011-2012 ProgramaMe se expandió al resto de España, organizándose en 7 regiones distintas.

Reglamento

Es muy sencillo, podemos resumirlo en:


  • La inscripción se realiza por equipos, uno por centro con un máximo de tres componentes. Hay 16 plazas para Madrid
  • Los miembros de los equipos elegirán un nombre
  • Cada equipo puede tener un alumno suplente (avisando 24h antes)
  • Se propondrán entre ocho y doce problemas, cada uno con un color asociado para realizarlo en 4 horas.
  • Los participantes podrán utilizar como material de consulta un dossier realizado por el propio equipo
  • No se permiten móviles, portátiles, Internet etc.
  • Cada equipo tendrá un único PC, por lo que es indispensable la máxima de John Johnson "First solve the problem; then, write the code"
Las soluciones se envían a un juez automática a través de la red, que solo puede ser utilizada para para enviar las soluciones y consultar el ranking del concurso.

El juez automático calificará con uno de los siguientes veredictos:
  • ACCEPTED La solución ha sido considerada correcta y se acepta.
  • RUN ERROR La solución ha sufrido algún problema durante su ejecución y se ha anulado
  • WRONG ANSWER La solución ha generado una salida inválida con respecto a la especificación del problema
  • TIME LIMIT La solución se ha mantenido durante demasiado tiempo en ejecución y ha sido abortada
  • COMPILATION ERROR La solución enviada no ha compilado.


El el equipo que resuelva correctamente más problemas se proclamará ganador del concurso.

En caso de empate, ganará el equipo que menos tiempo acumulado haya necesitado para sus envíos correctos

Para calcular el tiempo acumulado por cada equipo se suma el tiempo transcurrido desde el inicio del concurso hasta el instante de cada envío aceptado, por cada envío que haya sido rechazado se añade una penalización extra de 20 minutos, esta penalización sólo se acumulará en los problemas que hayan sido resueltos finalmente.

Desarrollo del concurso

Cada equipo contará con un PC, este tendrá como Sistema Operativo una distribución GNU/Linux, que dispondrá de los editores más utilizados (emacs, vim-gnome, etc.). Todos los problemas pueden realizarse en C, C++ y Java, por lo que estará instalados los compiladores gcc, g++ y openjdk-6-jdk. Los equipos tendrán a su disposición los entornos integrados de desarrollo Eclipse y Netbeans además de documentación para Java y C. La red no tendrá acceso a Internet, solo al equipo con el juez on-line instalado.

El juez automático utilizado es DOMjudge. En la página web puedes familiarizarte con su interfaz en la "live demo" proporcionada por los creadores del software. 

Una vez que cada equipo realice el envío de una solución, se ve rápidamente el veredicto dado por el juez automático. Los jueces humanos estarán durante todo el concurso velando por la corrección de los veredictos de ese juez automático. En ningún caso se deberá pedir ayuda a los voluntarios que vigilen el correcto transcurso del concurso en las aulas.



Estrategias

La clave es organizarse, una buena estrategia es repartirse los problemas entre los miembros del equipo y ordenarlos en orden de dificultad, empezando por los más sencillos.
Una vez seleccionados los problemas fáciles, cada miembro resolverá el problema, lo plasmará en pseudocódigo. 

Como solo hay un PC por equipo, mientras uno está codificando, otro comprueba que no se comenten errores y le ayuda a resolver problemas que surjan, y el tercero puede ir preparando casos de prueba.

Es muy importante leer detenidamente todos los problemas, algunos tienen una dificultad técnica, otros son fáciles de programar pero necesitan una reflexión.

Lugar y fechas

Las Inscripciones de los equipos se realizarán en el mes de Enero.

El concurso regional será a mediados de Marzo de 2014 en el I.E.S. Lago de Madrid (ganador nacional del 2012/13)

Finalmente, los ganadores de los concursos regionales se enfrentarán en el concurso nacional que se realizará en el mes de Junio.


¿Porqué participar?


Es muy interesante participar, piensa que el concurso supondrá un reto para probar tus habilidades aprendidas y un cambio en la forma que has estado aprendiendo programación, lo que incrementa tu motivación.
    Además es una competición colaborativa, no sólo contra equipos de otros centros, sino contra el propio juez automático, una batalla hombre máquina al más puro estilo Matrix.
      Por último, programaMe es cada vez más conocido en las empresas de Madrid. muchos alumnos que han quedado bien clasificados en los concursos regionales este hecho como carta de presentación en sus currículums y tiene un impacto en la elección de los alumnos por parte de las empresas en la FCT.

      En el concurso pasado se entregaron los siguientes premios:
      • Primer premio: Para cada uno de los tres miembros del equipo que quede en primer lugar, un Apple iPad mini 16 GB WiFi. Premio patrocinado por Coritel.
      • Segundo premio: Para cada uno de los tres miembros del equipo que quede en segundo lugar, un Kindle Paperwhite WIFI. Premio patrocinado por Coritel.
      • Tercer premio: Para cada uno de los tres miembros del equipo que quede en tercer lugar, una Memoria USB de 64 GiB. Premio patrocinado por el Master de Videojuegos de la Universidad Complutense de Madrid.
      • Premio especial: Para cada uno de los tres miembros del equipo que resuelva el primer problema, un premio sorpresa. Premio patrocinado por El Corte Inglés.





        Para practicar

        El concurso ofrece muchos recursos en su página web y las redes sociales para tener más información, practicar con problemas de otros años y estar informado de las últimas novedades:



        Histórico de problemas


        Existen multitud de recursos gratuitos en los que puedes practicar contra jueces automáticos, aquí hay hay una lista de los más completos:

        • UVa Online Judge. Una de las mejores colecciones de problemas de la Red. Contiene una gran cantidad de problemas cubriendo diferentes categorías acompañados de un juez de reconocida estabilidad. Periódicamente organiza concursos on-line para todo el que quiera participar.
        • ACM-ICPC Live Archive. Página con casi todos los problemas aparecidos en los concursos de programación oficiales de la ACM. El mejor lugar para practicar concursos de alto nivel.
        • USA Computing Olympiad (USACO). Organización informática preuniversitaria de Estados Unidos cuyo objetivo es la mejora de las habilidades de programación tanto de alumnos como de profesores. Ofrece una sección entrenamiento.
        • Sphere Online Judge (SPOJ). Alrededor de 13000 problemas de gran calidad (y dificultad), indicado para grandes retos.
        • PKU Judge Online. Juez de la Universidad de Pekín.
        • Timus Online Judge. Juez de la Ural State University. La mayor colección de problemas de Rusia sacados de diferentes concursos. También organiza concursos on-line.
        • TJU ACM-ICPC Online Judge. Gran colección de problemas y de concursos on-line.
        • Fuzhou University Online Judge. Juez de la Universidad de Fuzhou (China). Posee una interesante colección de problemas y organiza concursos on-line. Algunas partes de la web están únicamente en chino.
        • Saratov State University :: Online Contester. Pequeña colección de problemas y algunos concursos on-line.
        • CodeChef. Juez desarrollado por Directi, una empresa de software india radicada en Bombay.
        • Jutge.org. Desarrollado en la Universidad Politécnica de Cataluña, contiene más de 800 ejercicios de dificultad baja o mediana.




        domingo, 10 de noviembre de 2013

        Games Week

        Este Sábado 9 realicé una visita con varios alumnos de DAM de la UEM al Games Week (sucesora del Game Fest), feria del sector del videojuego, patrocinado aDeSe, Asociación Española de Distribuidores y Editores de Software de Entretenimiento en el IFEMA con un éxito rotundo donde se agotaron las entradas.
        En la feria se presentaron las principales novedades, destacando Play Station con PS4 y Microsoft con Xbox One y en la que se mostraron más de 150 títulos, entre los que destacaban Battle Field 4, Ryse: Son of Rome o Dead Rising 3, Dark Souls 2 , Call of Duty: Ghosts y Need for Speed Rivals, aunque se echó en falta títulos para PC y dispositivos móviles. Nos quedamos con las ganas de probar la última tecnología de realidad virtual que presentó Mountain, las increíbles Oculus Rift, pues había que realizar colas de varias horas para probarlas.

        Gamelab Academy tuvo su espacio, en la que presentaron una  profesión en una industria en auge, y en la que profesionales del sector dieron conferencias sobre diseño y producción de juegos, grafismo y animación, composición musical y efectos de sonido, programación de consolas y dispositivos móviles, marketing y distribución, o desarrollo de guiones.

        En la feria se realizaron combates y carreras de robots de mano de la liga nacional de robótica, además de los clásicos concursos de colsplay y torneos de Fifa  14 y BattleField 4.
        No menos interesante fue el espacio dedicado a retro gaming, con consolas de 8 bits,  ordenadores zx spectrum , Commodore Amiga y MSX, y máquinas recreativas emuladas mediante Mame. Se realizaron charlas por referentes de la edad dorada de la programación de videojuegos : el equipo de Topo Soft (MadMix, Viaje al Centro de la Tierra, Emilio Butragueño Fútbol o Gremlins 2) y el de Opera Soft (Livingstone Supongo, La abadía del crimen), así como el ilustrador Alfonso Azpiri y en el que se rindió un emotivo  homenaje a Javier Cano (co-fundador de Topo Soft y Animagic) por los miembros de Topo Soft y el co-fundador de ERBE Software, Paco Pastor.
        Además asistí a la conferencia “Desde la creación hasta la comercialización: así es el ciclo de un videojuego” en la que participaron:

        ·         Carlos Escutia – CEO FrameOver
        ·         Julio Martinez – Director de desarrollo Virtual Toys 3
        ·         Roberto López – New Development Manager (Sony Computer Entertainment Spain- PlayStation)
        ·         David Fraile – Marketing Manager – Marketing Manager Namco Bandai Games Ibérica
        ·         Juanjo Gonzalez – Director de Marketing de xBox

        La conferencia empezó muy bien con Carlos Escutia y Julio Martinez, pero empezó a derivar en temas menos interesantes aunque importantes como la distribución de juegos y el marketing. Cabe destacar la importancia que toma cada vez más la nube en los videojuegos y el acceso a grandes bases de datos, una gran oportunidad para los alumnos de ASIR.

        domingo, 22 de septiembre de 2013

        Open Badges y cualificaciones profesionales

        Descubrí Mozilla's Open Badges project en la exposición del SIMO del 2011, ya entonces vi en ellas un gran futuro, en una sociedad que cada vez utiliza más las redes sociales para encontrar trabajo. De esta forma se pueden validar tus conocimientos no solo mediante títulos oficiales, si no por cursos, trabajos etc. que certifican que tienes unas competencias en un determinado área. 

        En este vídeo del proyecto OpenBadgesUA realizado en el marco de la asignatura Sistemas Informáticos de la titulación de Ingeniería en Informática de la Universidad de Alicante explican de forma sencilla de que se trata.





        En otras plataformas educativas también los encontré, en concreto en Edmodo, que permitía utilizar los propios de la plataforma, o crear nuevos y entregarlos a los alumnos.

        Existen también páginas web que permiten entregar a los alumnos medallas como classbadges.

        Años más tarde, volví a encontrarme con ellos en el curso MOOC Coursera  de Gamification, las insignias son un ejemplo de Gamificación




        Cómo profesor de Formación Profesional, me parece especialmente interesante su uso, pues todos los alumnos obtienen una o varias cualificaciones profesionales completas que podrían ser una insignia.

        ¿Pero que son estas cualificaciones profesionales?




         Están reguladas por:


        • El REAL DECRETO 1128/2003, de 5 de Septiembre, por el que se regula el Catálogo Nacional de Cualificaciones Profesionales.
        • y la LEY orgánica 5/2002, de 19 de Junio, 2002, de las Cualificaciones y de la FP
        INCUAL (Instituto Nacional de las Cualificaciones) es el organismo que se encarga de elaborar el Catálogo Nacional de las Cualificaciones y  el Catálogo Modular de Formación Profesional según las necesidades del mercado de trabajo.

        Una cualificación profesional completa tiene una competencia general y se divide en unidades de competencias.  Se pueden obtener a través de títulos oficiales de formación profesional, a través certificados de profesionalidad o acreditando experiencia laboral.

        Aquí muestro un ejemplo de cualificación profesional en Programación en lenguajes estructurados de aplicaciones de gestión que se obtiene con los ciclos de DAM  y DAW:

        • CUALIFICACIÓN PROFESIONAL:PROGRAMACIÓN EN LENGUAJES ESTRUCTURADOS DE APLICACIONES DE GESTIÓN
        • Familia: Profesional Informática y Comunicaciones
        • Nivel: 3
        • Código: IFC155_3
        • Versión: 5
        • Situación: RD 1087/2005
        • Competencia generalDesarrollar aplicaciones de gestión a partir de un diseño especificado mediante técnicas de programación estructurada utilizando equipos y herramientas informáticas accediendo y manipulando la información ubicada en sistemas gestores de bases de datos.
        • Unidades de competencia
          • UC0494_3: Desarrollar componentes software en lenguajes de programación estructurada.
          • UC0223_3: Configurar y explotar sistemas informáticos.
          • UC0226_3: Programar bases de datos relacionales.
        • Entorno Profesional
          • Ámbito Profesional: Desarrolla su actividad profesional en empresas o entidades públicas o privadas de cualquier tamaño en el área de desarrollo del departamento de informática.
          • Sectores Productivos: Está presente en todo tipo de sectores productivos, predominando el sector servicios pero ubicándose con un carácter fundamentalmente transectorial, además se encuentra en los siguientes tipos de empresas:
            • Empresas de desarrollo de software.
            • Empresas de consultoría técnica en sistemas de información.
            • Empresas o entidades que utilizan sistemas informáticos para su gestión.
          • Ocupaciones y puestos de trabajo relevantes:
            • Programador de aplicaciones de gestión.
            • Analista-programador


        Se podrían crear entonces 3 insignias con las unidades de competencia de los siguientes módulos:

        • Programación y Acceso a DatosUC0494_3: Desarrollar componentes software en lenguajes de programación estructurada.
        • Bases de DatosUC0226_3. Programar bases de datos relacionales.
        • Sistemas informáticosUC0223_3: Configurar y explotar sistemas informáticos.

        AL completar todos los módulos se podría entregar la insignia de la cualificación profesional completa: IFC155_3 Programación en lenguajes estructurados de aplicaciones de gestión.

        Cómo se ha visto en el ejemplo anterior, la cualificación profesional corresponde al nivel 3, existen distintos niveles para las cualificaciones profesionales:

        • Formación Profesional:
          • Nivel 1: Conocimientos teóricos y capacidades prácticas muy limitada – Ejecución de trabajos simples.
          • Nivel 2:Cualificación completa para el ejercicio de la actividad laboral – Ejecución de un trabajo con autonomía.
          • Nivel 3: Implica más conocimientos teóricos que el nivel 2 – Ejecución y/o coordinación de un trabajo técnico con autonomía.
        • Universidad
          • Nivel 4: Nivel superior sin dominio de los fundamentos científicos – Responsabilidades de dirección y gestión.
          • Nivel 5: Dominio científico de la profesión – Máxima independencia en el desarrollo de la actividad.
        A su vez se agrupan en distintas familias, (informática y comunicaciones, química ...)

        Las cualificaciones profesionales se dividen en unidades de competencia.Que es la mínima de competencias profesionales que puede reconocerse y acreditarse de forma parcial.



        Cada unidad de competencia lleva asociado un módulo formativo, donde se describe la formación necesaria para adquirir esa unidad de competencia.





        La ventaja de estas cualificaciones profesionales, es que permite convalidar los títulos y certificados en toda la unión europea, facilitando la movilidad de los trabajadores y el reciclaje de trabajadores en activo.

        Y aquí llegan los insignias, las Universidades, Institutos, centros de formación etc. podrán emitirlos (issuer) de forma que sea fácil para los alumnos o trabadores (earners) a través de páginas como linkdin, el blog personal, o webs de búsqueda de empleo (displayer), compartir estas cualificaciones profesionales o unidades de competencia en modo de badges.




        La versión 2.5 de Moodle permite emitir open badges de Mozilla, por lo que un alumno que aprueba uno o varios módulos obtendría de forma automática una medalla con la unidad de competencia o la cualificación profesional de competencia obtenida.

        Creo que es interesante ofrecer todas las unidades de competencia y cualificaciones profesionales completas, de forma que el alumno no tenga que pedir al centro certificados en caso de no completar los estudios por ejemplo, y además sirve como motivación para tener antes de finalizar los estudios recompensas y vean cual es su progreso en el mismo.

        En otro Post, explicaré como nosotros los profesores, podemos fácilmente ser issuer y emitir a nuestros alumnos badgets.