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

Los problemas son divertidos

A través de Gaussianos, me he podido enterar que este mes de marzo se celebró en Pamplona una nueva Edición de la Olimpiada Matemática Española.

Esta competición, está orientada a alumnos de bachillerato, y consiste básicamente en la resolución de una serie de problemas con los conocimientos matemáticos que cada participante quiera aplicar.

Además, los primeros clasificados en esta prueba nacional, compiten posteriormente en la Olimpiada Matemática Internacional, competición que se celebró hace 3 años en Madrid; no siempre va a perder Madrid en su candidatura como sede Olímpica.

Yo participé en una ocasión en la Olimpiada Matemática, y aunque me quedé en la fase previa, tengo un buen recuerdo de la experiencia que supuso ese fin de semana intentando resolver problemas. Años después, descubrí una página en la que tienen los problemas propuestos en las últimas Olimpiadas Españolas, y entonces pude resarcirme de aquel problema de los triángulos que recordaba con rencor. Debo confesar que de vez en cuando, entro en esta página para buscar algún problema de estos, y pasar un buen rato entretenido intentando buscar la solución.

Pero si se busca un poco la gracia que proporciona la “competición”, y ante la imposibilidad de volver a participar en la Olimpiada Matemática, tenemos otras alternativas. Una de ellas, es el concurso semanal que está organizando El País, donde se propone cada semana un problema, y se tiene hasta el lunes para mandar la solución.

Otra de las alternativas, aunque ya más orientada a la programación y a la algorítmica, es el Google Code Jam. En este concurso de Google, que se suele celebrar cada año, se proponen distintos problemas en cada fase, que son eliminatorias. El objetivo es resolver una serie de problemas, pero esta vez hay que programar una solución capaz de resolver estos problemas en el menor tiempo posible. También he participado los últimos años, sin ninguna aspiración de nada, solo de intentar resolver algún problema y pasar alguna ronda. Al ser un concurso a nivel mundial, se puede observar el nivel en algunos países, y así ver como en la edición de 2010, entre los 10 primeros había 5 paticipantes rusos, 2 de Japón, 2 de Polonía y uno de China.

Una de las gracias de este concurso de google, es que una vez que finalizan las pruebas, quedan disponibles todas las soluciones aportadas por cada participante, por lo que puedes descargarte el código fuente que empleo cada concursante para resolver cada problema.

Así que el que esté interesado en participar en la próxima edición de este concurso, a partir de la próxima semana comienzan las inscripciones. Yo me apuntaré.

Publicado por el 2 abril, 2011 en Sin categoría, Tecnología | 4 comentarios

Estadísticas de la venta de libros sobre tecnologías/lenguajes

En el siguiente gráfico se muestra un reparto de tecnologías/lenguajes en función de la venta de libros de Manning Publications.

Gráfica del reparto de tecnologías/lenguajes en función de la venta de libros de Manning Publications

Tomando como punto de partida este gráfico vamos a divagar y a ver las diferentes conclusiones que se podrían extraer de él.

Existe algo que merece la pena tener en cuenta, y es el auge de la programación para terminales móviles (iPhone y Android). Sin duda cada vez es más común ver en manos de cualquier viandante un smartphone utilizando una de las miles de aplicaciones existentes. Actualmente existen dos colosos en cuanto a número de aplicaciones disponibles: iPhone y Android.

Estadísticas del número de aplicaciones disponibles por sistema operativo para smarthpone

Si bien en número de aplicaciones iphone domina con claridad, hay un hecho relevante que explica la gran evolución que Android está teniendo, sobre todo en Europa. El caso es que el número de aplicaciones gratuitas es práctiamente el mismo, incluso superior a favor de Android, y eso es algo a valorar.

Lee más de esta entrada »

Publicado por el 21 marzo, 2011 en Tecnología | Se el primero en comentar