image
La Universidad del SABES e INNOVA te invitan a la presente

Convocatoria

La Universidad del SABES Centro Irapuato, te invita a participar en el primer concurso de programación algorítmica ``DevCodJam`` en donde distintas Universidades estarán escribiendo código para solucionar problemas algorítmicos en el menor tiempo posible.

¿Te únes al reto?

1 día intenso de código para solución de problemas

En equipo

60 equipos universitarios compitiendo

Más de $10k en premios

Participa por premios

+ de 10 Universidades

Representa a tu universidad!

Objetivo

El objetivo de este ``JAM`` será el de descubrir futuros talentos en el ámbito de la informática e ingeniería especializados en el desarrollo y algoritmia para fomentar el estudio, inclusión y fortalecimiento del cómputo científico, inteligencia artificial y mentefactura.

image

¿Qué es y por qué un ``JAM``?

El estado de Guanajuato, cuenta con estudiantes altamente competitivos en distintas disciplinas que pueden ofrecerle a la sociedad y al mundo su talento, en donde el desarrollo de algoritmos para las nuevas tecnologías ya no es una opción, es una necesidad.

Con la alta demanda de profesionales en desarrollo y programadores orientados a las nuevas tecnologías, la Universidad del SABES en conjunto con AEI INNOVA estrechan las manos para llevar a cabo este “JAM 1.0”, en un esfuerzo para facilitar la transición a la mentefactura, hacer frente a una economía basada en manufactura y buscar promover el futuro y crecimiento apoyado en el conocimiento y en lo intangible, transformándolo en innovación para generar beneficio económico y social.

Un “JAM” es una competencia de programación en el cual se evalúan diferentes tipos de criterios en el desarrollo de algoritmos y procesos lógicos.

Con el compromiso de generar profesionales destacados en esta industria, te invitamos a participar en este “JAM” el cual será un sólo día intenso de código que acompañado de tu equipo estarán participando por interesantes premios.

¿Estás preparado para este challenge? Pues no se diga más…

“TALK IS CHEAP, SHOW ME THE CODE!”
– Linus Torvalds

Organizadores

Únete a la comunidad

Instituciones participantes

Preguntas frecuentes

01 ¿Qué tipos de fuente de información puedo usar?

Puedes usar cualquier tipo de información en internet, sin embarbo, consultar o hablar acerca de los problemas con otros equipos no está permitido, también puedes usar papel y lapiz como apoyo para la solución de tus problemas.

02 ¿Qué pasa con los problemas con números reales (float,double)?

Cada problema especificará un limite válido para alguna respuesta de este tipo, por ejemplo si la salida de un problema debe de ser: 2.25, una respuesta de 2.250000009 es aceptada como válida.

03 ¿Qué tipos de salida deben arrojar mis problemas?

Todo esto se llevará a cabo a través de consola, la entrada y salida serán en modo texto.

04 ¿Cómo me preparo para el concurso?

Primeramente, familiarízate con el lenguaje de programación C, sugerimos que practiques y desarrolles habilidades para solución de problemas algorítmicos, por ejemplo: que utilicen estructuras de datos como: colas, pistas, listas o matrices, trabajo a nivel de bits, secuencias y cadenas de texto.

Deberías tener un buen entendimiento de métodos de ordenamiento y búsqueda, estructuras de control, bucles y tipos de datos.

La validación de datos de entrada es un punto a considerar, conocimiento en tópicos como: Integer OverFlow, Stack OverFlow, punteros, valores por referencia y recursividad también son áreas de oportunidad para el concurso.

La plataforma OmegaUp contiene muchos problemas los cuales pueden ayudar a prepararte para el concurso, sin embargo, los problemas del torneo son elaborados por expertos y subidos exclusivamente para la competencia, y no estarán visibles en ésta sino hasta el día del challenge, así que no esperes encontrar algún problema similar.

05 ¿Hay algún descanso durante el torneo?

Durante el torneo pueden pasar a comer un refrigerio, sin hacer uso de dispositivos móviles o cualquier medio electrónico, o discutir sobre los problemas de la competencia con alguién ajeno al equipo, aunque esta persona no sea parte del evento, hacerlo podría descalificar a ti y a tu equipo.

06 ¿Debo resolver los problemas en un orden en particular?

No, cada problema tiene una puntuación distinta y es allí donde usarás tu criterio para saber cual de éstos te puede llevar más pronto a ocupar la primera posición del torneo. Por lo general los problemas sencillos tienen una puntuación menor.

07 ¿Cómo puedo probar mi código antes de enviarlo?

Debes estar 100% seguro del código que escribirás antes de subirlo a la plataforma, la plataforma te mencionará los errores que tienes en tu código en caso de que los tengas, o bien simplemente no ha pasado la puntuación en la memoria, tiempo u otros recursos, de ocurrir esto te contará como un intento de envío y podría haber alguna penalización. Por ello te recomendamos hacer el test de tu código en IDE’s Online autorizados para esta competencia.

08 ¿Puede haber más de una solución para un problema?

En definitiva, puede haberla, pero por ejemplo algunas usarán menor cantidad de memoria y otras se ejecutarán en el menor tiempo posible.

09 ¿Cómo debe de leer mi problema la entrada y la salida?

Tu programa debe leer las entradas de forma estándar “scanf” y la salida debe ser a través de “printf”, por ejemplo para leer un arreglo de datos podrías usar el siguiente código:

 

for(int i=0;i<N;++i) scanf(“%i”, &c);

10 ¿La plataforma muestra ayuda para escribir código (Intellisense)?

No, la plataforma solamente permite escribir tu código como texto plano, es por ello que necesitas tener cierto grado de experiencia en el manejo del lenguaje C o bien apoyarte en el IDE Online que tiene IntelliSense.

11 Motivos de descalificación

Se considera como trampa o motivo de descalificación colaborar con alguien más que no sea parte de tu equipo para resolver los problemas.

12 ¿Qué información recibiré al subir un intento de solución?

Recibirás cualquiera de los siguientes mensajes por parte de la plataforma:

  • Error de compilación: Se produce al haber errores en tu código o bien, si la salida de este no es 0.
  • Tiempo Límite de compilación excedido: Se produce cuando tu tiempo sobrepasa el tiempo límite para ser compilado por la plataforma.
  • Límite de memoria de compilación excedida: Se produce cuando tu programa hace uso excesivo de la memoria al ser compilado.
  • Error de ejecución: Cuando ocurre algún error al momento de correr tu programa, por ejemplo, al intentar acceder a alguna posición de memoria no válida de algún puntero.
  • Tiempo límite excedido: Cuando tu código sobrepasa el límite de tiempo de ejecución para el problema.
  • Memoria excedida: Mismo caso que el anterior, pero con la memoria.
  • Respuesta incorrecta: La salida de tu problema no es válida, no cumple con el formato o bien reporta algún dato distinto al esperado.