Maratones de Programación (Extra Curricular!)

Descripción del Curso

Una maraón de programación es un espacio creado para que estudiantes compitan unos contra otros y muestren a si mismos el nivel de sus habilidades en programación. El objetivo es congregar a estudiantes de pregrado para que resuelvan problemas desafiantes en un corto periodo de tiempo, bajo presión y en distintos niveles de dificultad.

Información Básica

  • Profesor: Andrés Felipe Barco Santa (Coach), Víctor Alfonso Rivera Zuñiga.
  • Horario de reunión: Acordado previamente para cada reunión.
  • Horas de Clase: 3 / semana
  • Horas de trabajo independiente: Depende de la voluntad del estudiante!
  • Prerequisitos: Conocimiento básico de C, C++ o Java

Maratones de Programación

Una maraón de programacón es un espacio creado para que estudiantes compitan unos contra otros y muestren a si mismos el nivel de sus habilidades en programacón. El objetivo es congregar a estudiantes de pregrado para que resuelvan problemas desafiantes en un corto periodo de tiempo, bajo presón y en distintos niveles de dificultad.

Para un efectivo ejercicio los estudiantes de las maratones deben entrenar con miras a los eventos más importantes en este ámbito. Se definen 4 tipos de competencias.

Institucional

La maratón institucional es aquella que se lleva a cabo para entrenamiento de los estudiantes y definir los equipos de acuerdo a sus habilidades. Este tipo de actividad sirve de motivación, filtro y constitución de los grupos que participaran en las maratones externas.

InterUniversitaria

Esta clase de maratón se organiza con diferentes (dos o más) instituciones de educación superior. La idea es que los estudiantes de las universidades se encuentren en diferentes espacios universitarios y desafíen sus destrezas no solo con compañeros de clase sino con estudiantes de otros currículos. Para esta actividad se debe organizar una logística mayor dadas las condiciones del evento.

Nacional

La maratón de programación nacional es un encuentro de diversas universidades de Colombia para definir los mejores grupos a nivel nacional. Esta competencia es realizada generalmente por la Asociación Colombiana de Ingenieros de Sistemas (ACIS) y tiene por objetivo la selección de grupos para la participación en la maratón internacional de la ACM.

Internacional

Las maratones internacionales tiene por objetivo desafiar a los estudiantes a que enfrenten problemas computacionalmente difíciles de resolver. Una de las maratones, y la primera internacional, es la maratón realizada por Association for Computing Machinery (ACM) en colaboración con la ACIS. Para estas competencias internacionales se tiene 1 filtro que consiste en competencias en algunos países de nuestro continente (típicamente: Argentina, Bolivia, Brasil, Colombia, Chile, Cuba, México, Perú y Venezuela). Esta consiste en la competencia por grupos de 3 estudiantes en la que participan universidades de los países inscritos. Al pasar este filtro los grupos tienen derecho de participar en la maratón de programación mundial llevada a cabo por la ACM en algún país del mundo.

Objetivos Instruccionales

En el curso de las actividades el estudiante aprenderá a:

  • Utilizar apropiadamente las herramientas disponibles en las maratones de programación organizadas por la ACIS y la ACM.
  • Utilizar técnicas eficientes para resolver problemas típicos de las maratones de programación.
  • Resolver problemas típicos de las maratones.
  • Conocer cual es la metodología a seguir en una actividad de maratón.
  • Profundizar en un lenguaje específico (C,C++ o Java) acerca de las buenas y malas prácticas de su uso.
  • Utilizar el depuradores para la corrección del código.

Competencias que se Desarrollan

  • Resolución de problemas minimizando tiempo de programación y ejecución haciendo uso de diversas técnicas computacionales.
  • Profundización en un lenguaje de programación particular (posibilidades: C,C++,Java).
  • Uso del depurador gdb.
  • Uso de plataforma PC^2 (herramienta de las maratones).

Metodología

El curso es presencial y con alta dosis de participación y trabajo en clase y fuera de ella. Para algunas sesiones de clase se asignarán investigaciones, ejercicios y lecturas. Durante la sesión se expondrán las técnicas computacionales acompañadas de ejemplos, se fomentará la participación de los estudiantes y se realizarán, cuando se requiera, prácticas en sala de cómputo.

Contenido

Temas Sesión
Introducción a las maratones 18 Febrero
Estructuras de datos 2 Marzo
Ténicas entrada/salida 18 Marzo
Algoritmos de Ordenamiento
Simulacro de Maratón
Algoritmos Voraces
Programación Dinámica
Algoritmos de Búsqueda
Simulacro de Maratón

Bibliografia

 [1] Ahmed Shamsul Arefin, Steven Halim, Dr. M. Lutfar Rahman, Shahriar Manzoor, and Professor
   Miguel A. Revilla. Art of programming contest, 2006.
 [2] Steven S. Skiena and Miguel Revilla. Programming Challenges: The Programming Contest
  Training Manual. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2003.

Material de este semestre

 
maratones.txt · Última modificación: 2011/03/22 12:27 por abarco
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki