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

Primeros pasos en programación con C-jump

Este viernes proponemos un regalo un tanto “freak” o friki, como ustedes prefieran.

Imaginen que están en casa y que un anuncio de teletienda les llama la atención… supongan que empieza una musiquilla y una voz en off les dice:

” ¿Eres uno de esos padres, tíos, abuelos, etc. que son amantes de la programación y que tienen algún hijo, sobrino, nieto, etc. al que no saben qué regalar? ¿o tal vez eres un treintañero de los que sigue Big Bang Theory y que entre sus vicios está la programación informática? pues para todos ellos y muchos más llega: C-jump. Un entretenido juego de mesa con el que introducirse, bajo su total y absoluta responsabilidad, en el mundo de la programación al estilo de lenguajes como C, C++ o Java

Juego de mesa c-jump

Juego de mesa c-jump

El concepto es el mismo que en los juegos tradicionales como la Oca, una carrera en la que hay que ser el primero en llegar a la meta. Los distintos jugadores se convierten en esquiadores que han de descender la ladera de la montaña lo antes posible. Con cada bajada, los jugadores han de seguir las instrucciones que se les imponen en forma de código fuente. Los participantes qué caminos les conviene elegir, cuales están libres para ellos y decidir cual es la mejor opción para ser los primeros en llegar a la meta. La clave está en descubrir los caminos que se encuentran abiertos. A través del mismo se aprenden las sentencias básicas (if, else, while…) y es un modo lúdico de adentrarse en este mundo.

Los creadores del juego indican varios puntos:

  • Este juego no es sólo para enseñar y aprender: es diversión y entretenimiento para toda la familia.
  • Esquí y snowboard son una analogía perfecta de programación.
  • C-jump es un juego ideal para la educación en el hogar.
  • El juego está basado en el código de un programa de ordenador real.
Detalle del tablero de C-jump

Detalle del tablero de C-jump

El juego fue ideado por Igor Kholodov, al que podemos ver en posando con el juego.

Con C-jump la diversión está garantizada a la vez que aprendes los fundamentos  básicos de la programación.

Por el irrisorio precio de $24.95.

Todos estos factores hacen que C-jump sea una alternativa diferente a los juegos de mesa tradicionales.

¿A qué estás esperando? Hazte con el tuyo ¡ya!

Publicado por el 15 julio, 2011 en Por fin es viernes | Lee el primer comentario

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