Google Code Jam, un concurso de programación

El próximo 29 de julio, se celebrará en Tokio la final del concurso de programación anual que organiza Google, el Google Code Jam 2011.

Google Code Jam

El concurso consiste en programar un algoritmo que sea capaz de resolver distintos problemas que son propuestos. Para ello, es posible utilizar el lenguaje de programación que cada uno estime oportuno. El problema se considerará resuelto si ante determinados datos de entrada que se proporcionen, es posible obtener una solución correcta. De esta forma, y durante varias jornadas eliminatorias, se llega a la final, donde competirán los 25 mejores concursantes.

Este año, el concurso comenzó el 6 de mayo con una ronda de clasificación.  Participaron 11832 de todo el mundo, y se emplearon para la resolución de los problemas lenguajes bastante habituales como  Java o C++, y algunos más divertidos como Haskell, Prolog o Fortran. Un punto a destacar en el desarrollo de este concurso, es que una vez que termina cada ronda, es posible descargarse las soluciones de los distintos concursantes; este sirve para ver que ideas han llevado a cabo y como las han implementado en cada uno de los lenguajes de programación.

lenguajes de programación empleados

En cuanto a la actuación española, este año participaron (participamos ;) ) en la ronda de clasificación 135 participantes, donde C++, Java y Phyton fueron los lenguajes preferidos.

En la ronda 3, la previa a la final de Tokio y que se celebró el pasado 30 de junio, llegaron los 500 mejores participantes, donde se encontraba un participante español Landertxu. Esta ronda, se realizaba en modo on-line, y tenía una duración de dos horas y media para resolver 4 problemas de distintas puntuaciones. Los 25 primeros clasificados, serían quienes ganarían una plaza para participar en la próxima final que se disputará en Japón. Nuestro representante obtuvo un mertitorio y fantástico puesto 64; y más sabiendo que la puntuación que obtuvo fue la misma que la que obtuvo el segundo mejor participante; 69 puntos sobre 100. Hubo 66 participante que obtuvieron esa misma puntuación, por lo que se tuvo que recurrir al tiempo empleado para encontrar las soluciones. Landertxu se quedó a 50 minutos de conseguir una de esas plazas para la final, en donde más de la mitad de los participantes serán de Rusia (10) y China (5).

A parte de Landertxu, destacar también el papel de AlexAlvarez (puesto 528) y polmauri (puesto 729), que al terminar entre los 1000 primeros participantes, recibiran una camiseta del Google Code Jam como premio :)

Partipación española en las fases del concurso

Habrá que esperar unas semanas más para ver quien es el ganador de la edición 2011 del Google Code Jam; de todas formas, disponemos de los problemas propuestos en esta edición, y de las soluciones desarrolladas por los participantes, por lo que disponemos de un buen material para curiosear, y participar en la próxima edición. A veces, con pasar una ronda, es suficiente :)


Entradas relacionadas:

Publicado por Fer el 12 julio, 2011 en Tecnología | 4 comentarios para leer

  • 12 julio, 2011, 7:42
    Bitacoras.com dijo,

    Información Bitacoras.com…

    Valora en Bitacoras.com: El próximo 29 de julio, se celebrará en Tokio la final del concurso de programación anual que organiza Google, el Google Code Jam 2011. Google Code Jam El concurso consiste en programar un algoritmo que sea capaz de resolv……

  • 12 julio, 2011, 12:51
    un_notas dijo,

    A partir de http://www.go-hero.net/jam/11/regions podemos sacar algunos datos interesantes.
    Ordenamos la columna Qualifier y lo comparamos con los que han pasado a segunda ronda.
    – Muchos de los países occidentales tienen un 10%. EEUU, UK, Italia, España, Alemania. Algunos como Holanda o Suecia tienen un porcentaje un poco mayor, pero el tamaño de muestra es pequeño así que los resultados no son concluyentes.
    – Los países asiáticos tienen unos porcentajes más elevados. Japón, Indonesia o Taiwán son los ejemplos más notorios.
    – En cuanto a otros países, lo más interesante son los BRIC.
    * Brasil tiene un porcentaje semejante al de occidente.
    * China y Rusia arrasan con un 32’6% y un 41’35%. Pero de Rusia también podemos destacar el elevado número de finalistas.
    * India tiene un ridículo 4’3%.

    El tamaño de muestra es bastante escaso, y por diversas circunstancias puede que estos datos no puedan tomarse en serio, al fin y al cabo esto es sólo un concurso, no un estudio con un metodología específica para obtener unos resultados precisos. Pero es bastante probable que en realidad sí sean un reflejo del capital humano de los distintos países, especialmente en el sector tecnológico.

    Yo lo tengo claro, si tuviese que externalizar una empresa tecnológica posíblemente Bangalore no sea la mejor opción. Tiene mucha fama, existen muchas economías de escala, muchos ingenieros, etc… pero me parece que hay mucho humo. Lo barato puede salir caro y puede que la India sea mejor como Call Center para países anglosajones que para externalizar otros servicios (orientados a la programación, por ejemplo).
    Pero China y otros países orientales son otra historia. Los costes de externalizar ahí son mucho mayores que en la India, pero los resultados serán mucho mejores.
    Me parece imprescindible que la UE se preocupe de fomentar este sector; y también España, más ahora que el timo-burbuja pirámide-generacional del pisito ha conllevado una deuda externa colosal (especialmente privada) que toca devolver, y como sabemos desde los tiempos de David Hume, las balanza comercial de cada país tiene que dar un resultado neto de cero, por lo que ahora nos toca exportar para pagar la mastodóntica deuda de importación (tanto de dinero como de bienes) de años anteriores. ¿Qué mejor sector que la informática, con un alto valor añadido? ¿Estamos preparados para competir con Asia?

  • 29 julio, 2011, 19:51
    Pab dijo,

    Bueno si alguien llega a leer esto algun dia.
    GCJ es una competencias mas de algoritmos y matematicas que de programacion,por lo que india seria el peor pais calidad/cantidad pero los que son buenos se van a estados unidos o entran a empresas y ya no se dedican a concursar.

    En el caso Asia ,rusia,ucrania,polonia,belorusia y suiza , desde los 10 a 13 años se les inicia para la IOI(olimpiada internacional de informatica(hace 2 dia concluyo y un beloruso de 16 años la a ganado por tercer año consecutivo y brazil quedo en 3 con felipe souza),mas una fuerte educacion en matematicas.

    Y en general en EUA(ironicamente sus equipos de IOI son casi siempre hijos de chinos o rusos, y los de ACM ICPC son tambien chinos) prefieren crear empresas o estar en centros de investigacion que competir.

  • 1 agosto, 2011, 22:02
    Fer dijo,

    Estoy de acuerdo contigo, Pab, el concurso de Google se centra sobre todo en la algorítmica y las estructuras de datos, y tiene una fuerte base matemática.

    Las estadísticas del concurso son un divertimento más, de donde se pueden extraer distintas conclusiones según se quieran interpretar.
    Podría ser interensante comparar los resultados por países de las Olimpiada Internacional Matemática (IMO) y la Olimpiada Internacional Informática (IOI); apostaría a que son similares los resultados :)

Escribe un comentario