Google Code Jam 2012. Participa y entrenate

Un año más, Google organiza su concurso anual de programación a nivel mundial, el Google Code Jam 2012.

Google Code Jam

Ya hemos hablado en otras ocasiones sobre la celebración de este evento, y sobre los resultados del último concurso. En aquella ocasión, el representante español con mejor resultado fue Landertxu, que quedó en el puesto 64.

Sobre la edición de este año, las normas no cambian apenas. Ya se ha abierto el periodo de inscripción, que finaliza el 13 de abril, que será cuando comience la ronda de clasificación.

El objetivo del concurso sigue siendo resolver una serie de problemas, para lo que será necesario implementarlo con un lenguaje de programación. En principio vale cualquier lenguaje, ya que la ejecución del programa la realiza cada concursante. Posteriormente, mandarán los resultados solución del problema, que se validarán si son correctos o no, y el código fuente del programa desarrollado.

Una vez más, tras una serie de rondas, se clasificarán los 25 primeros concursantes para disputar la final de una forma presencial en las oficinas de Google en Nueva York.

Aunque el Google Code Jam se está convirtiendo en el concurso de programación más importante a nivel mundial, no es el único. TopCoder lleva mucho tiempo organizando concursos de este tipo y se celebran de distintos tipos a lo largo del año.

Pero quizás, el más conocido en el ámbito universitario es el concurso que organiza la ACM (Association for Computing Machinery), el ACM-ICPC (International  Collegiate Programming Contest).  En este concurso compiten equipos de tres estudiantes de distintas universidades. El objetivo final sigue siendo la resolución de una serie de problemas programando en un lenguaje determinando y empleando distintas técnicas de algorítmica.
Dentro de este concurso de la ACM, la Universidad de Valladolid dispone de un Online Judge que puede ser empleado por cualquier usuario que se registre en el sistema. Este sistema propone más de 1000 problemas que deben ser resueltos usando los lenguajes C, C++, Java o Pascal. El usuario enviará su código fuente, y será el Online Judge quien ejecute el programa y comprueba si resuelve el problema de forma correcta en un tiempo concreto. Además, es posible encontrar estadísticas sobre la resolución de los problemas propuestos. Así, por ejemplo, el primer problema que propone, denominado 3n+1 y basado en la conjetura de Collatz, ha sido intentado por 66465 usuarios, de los que 48103 lo han conseguido resolver en alguno de sus intentos. Además el lenguaje favorito para la resolución de este problema ha sido C++.

Estadísticas Resolución Problema 3n+1

Estadísticas Resolución Problema 3n+1

Sin duda, un buen lugar para entrenarse si se quiere participar en el Google Code Jam.


Más información:
Página de Google Code Jam
Twitter: @googlecodejam
Facebook: googlecodejam
ACM Online Judge

Publicado por el 2 abril, 2012 en Tecnología | 4 comentarios

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 el 12 julio, 2011 en Tecnología | 4 comentarios