Ir al contenido (saltar navegación)

Algoritmia para concursos y entrevistas de trabajo

Para más información:

El objetivo principal del curso es obtener la capacitación necesaria para poder resolver problemas de programación con una fuerte componente algorítmica o de estructuras de datos. En el curso se refuerzan, por ejemplo, las habilidades en la resolución de problemas, trabajo bajo presión y capacidad de afrontar retos nuevos.

Los contenidos del curso son adecuados para afrontar concursos de programación como los organizados por ACM (como el ICPC y sus clasificatorios regionales SWERC) y entrevistas de trabajo de empresas punteras como Google, Facebook, Amazon o IBM que incluyen contenidos cubiertos por el curso.

La duración del curso es de 15 días (en tres semanas). La distribución de los contenido por días es aproximadamente la siguiente:

  • Día 1: Filosofía de programación en concursos. Problemas ad-hoc.
  • Día 2: Estructuras de datos y uso de las STL.
  • Día 3: Algoritmos voraces, vuelta atrás y divide y vencerás.
  • Día 4: Programación dinámica básica.
  • Día 5: Programación dinámica avanzada.
  • Día 6: Introducción a grafos.
  • Día 7: Caminos mínimos sobre grafos.
  • Día 8: Emparejamiento sobre grafos.
  • Día 9: Network flows.
  • Día 10: Problemas matemáticos.
  • Día 11: Procesamiento de cadenas.
  • Día 12: Geometría computacional.
  • Día 13: Resolución de problemas que requieren combinar varias técnicas.
  • Día 14: Algoritmos y estructuras poco usuales.
  • Día 15: Competición/concurso y cierre del curso.

Cada día se hará una pequeña revisión de los conceptos correspondientes al programa de ese día. A continuación se pasarán a analizar problemas que pongan en práctica esos conceptos para que los alumnos los resuelvan.

Los problemas serán escogidos entre los disponibles en distintos jueces en línea como Acepta el reto o el de la Universidad de Valladolid.

El último día se cerrará el curso con un pequeño concurso de programación.

El curso está dirigido a estudiantes universitarios o graduados/licenciados en Informática o en otras titulaciones donde se adquieran conocimientos de programación (telecomunicaciones, ingeniería electrónica, matemáticas, físicas, ...)

El curso no es un curso de programación. Se supone un nivel básico de programación, preferiblemente en C++, e idealmente conocimientos básicos de estructuras de datos.

El curso también puede resultar intersante para profesores interesados en entrenar a sus estudiantes para que participen en concursos de programación.

El curso está gestionado por la Escuela Complutense de Verano y tiene el código b01.

La inscripción se realiza on-line.

Si piensas inscribirte, aquí hay algunas razones para hacer la inscripción cuanto antes:

  • El número de plazas está limitado a 20, y se cubren por orden de llegada.
  • La escuela complutense da ayudas a alumnos NO UCM que suponen un 30% del precio de la matrícula. Se conceden ayuda a las primeras 750 inscripciones de todos los cursos.
  • La normativa de la Escuela Complutense hace que en distintas fechas (en los meses de Abril, Mayo y Junio) si el número de alumnos inscritos no supera un umbral el curso se cierra por falta de alumnos. Por lo tanto, aunque un curso tenga mucha demanada, si las inscripciones no llegan hasta el final del periodo de inscripción, el curso puede haberse cerrado. El resultado es que si tardas en inscribirte puede que te quedes sin plaza o se cierre el curso.

El curso será impartido por tres profesores de la Facultad de Informática de la Universidad Complutense de Madrid: Marco Antonio Gómez Martín, Pedro Pablo Gómez Martín y Alberto Verdejo.

Entre ellos acumulan experiencia demostrada que asegura un curso de calidad. A continuación se listan algunos ejemplos que lo demuestran:

  • Creadores del juez en línea de la Universidad Complutense de Madrid, Acepta el reto con más de 300 problemas. Todos los problemas han sido creados o revisados por al menos uno de los profesores del curso.
  • Promotores y organizadores de las primeras dos ediciones de AdaByron un concurso universitario de programación de la Comunidad de Madrid en donde, además de su labor de organización, han participado en la creación de los problemas y ejercido como jueces.
  • Creadores ProgramaMe, el concurso de programación para ciclos formativos que se desarrolla desde el año 2011. Jueces y autores de los problemas desde el inicio.
  • Creadores del concurso on-line las 12 UVas, que se celebra el último día del año.
  • Entrenadores desde 2011 de equipos de la Facultad de Informática de la Universidad Complutense para participar en el SWERC, el concurso regional de programación del sudoeste de Europa.
  • Profesores en la Facultad de Informática de distintas asignaturas de programación desde hace más de 15 años con asignaturas como Fundamentos de Programación, Estructuras de Datos y Algoritmos, Diseño de Algoritmos o Métodos Algorítmicos para la Resolución de Problemas. Autores de libros que aparecen como bibliografía básica en esas asignaturas.
  • Usuarios activos del juez en línea de la Universidad de Valladolid con una comunidad de más de 800.000 usuarios. Entre los tres acumulan más de 1200 problemas resueltos distintos en él y sus rankings oscilan entre el puesto 250 y el 500.