Академический Документы
Профессиональный Документы
Культура Документы
2. Objetivos especficos:
Revisar conceptos de abstraccin de datos y P.O.O. e introducir su implementacin en
JAVA.
Presentar las estructuras de datos avanzadas (listas, pilas, colas, colas con dos extremos,
mapas, conjuntos), y utilizarlas desde una librera concreta: Collections de JAVA.
Presentar las nociones bsicas de complejidad de algoritmos y evaluar la misma en forma
prctica.
Reutilizar intensivamente- software desarrollado por otros programadores en la solucin a
problemas conocidos.
Conocer y utilizar recursos especficamente desarrollados para aumentar la productividad
de los programadores competitivos.
Introducir tcnicas de programacin especficas como backtracking y programacin
dinmica.
Presentar las estructuras de datos y algoritmos bsicos utilizados para el manejo de
grafos.
Introducir algoritmos avanzados sobre grafos: rboles de cobertura mnimos, caminos mas
cortos, flujo en redes.
Revisar conceptos de matemticas (combinatoria, teora de nmeros, probabilidad, etc.)
FACULTAD REGIONAL RESISTENCIA - DEPARTAMENTO DE INGENIERA EN SISTEMAS DE INFORMACIN
3. Programa Analtico:
CONTENIDOS
UNIDAD 5: Grafos:
Aprender sobre los diferentes usos de un grafo en problemas competitivos. Diferenciarlos de las
listas y demas estructuras de datos complejas.
3. Bibliografa
Bsica:
o Halim, Steven Halim, Flix. Competitive Programming 3. 2013 www.lulu.com
o Mark Weiss. Data Structures and Problem solving with C++. Addisson Wesley. ISBN
0321205006. 2nd. Edition. 2003
o Informacin disponible en www.spoj.com. Fecha ltimo acceso: 01/10/2015
o Informacin disponible en www.urionlinejudge.com.br. Fecha ltimo acceso: 01/10/2015
Complementaria:
o Comern, Lesiserson-Rivest, Strein. Introduction to Algorithm. MIT Press.
ISBN 0262039237. Edicin 2001.
o Informacin disponible en uva.onlinejudge.org. Fecha ltimo acceso: 01/10/2015
4. Fundamentacin de la asignatura
Durante los ltimos aos han tomado creciente importancia las competencias de programacin.
Suelen tener modalidades y niveles muy diferentes pero todas apuntan a desarrollar y fortalecer
actitudes y procedimientos deseables en los estudiantes de ISI. A modo de ejemplo:
- Anlisis, comprensin y bsqueda de soluciones a problemas.
- Seleccin y diseo de estructuras de datos y algoritmos adecuados con restricciones de contexto.
- Predisposicin para trabajar en equipo.
- Habilidad para clasificar problemas segn reas de conocimiento y poder resolverlos en un
tiempo mnimo.
- Facilidad para el reuso de libreras de software ya implementadas.
- Conocimiento y uso adecuado de las herramientas de debugging que brindan los compiladores, y
generacin de casos de prueba representativos para el testeo del programa desarrollado.
Los resultados de competencias como la ACM/ICPC, son tomados como una medida de la calidad
en el desarrollo de software de los participantes una vez egresados.
5. Metodologa
Estrategias de enseanza:
Se desarrolla 1 clase semanal (intercaladas: una de teora, una de prctica) de acuerdo a los
temas del programa y al avance de los trabajos propuestos.
Durante las clases:
- Se realizan presentaciones explicativas de los distintos puntos del temario.
- Se trabaja en la solucin a problemas reales de competencias de programacin que afiancen los
conceptos y estrategias explicadas.
- Se hace uso de los sitios web de jueces en lnea.
- Se orienta para la realizacin de los trabajos prcticos.
- Se realizan talleres en laboratorio.
- Se realizan instancias de evaluacin: parciales y coloquios.
- Se realizan seminarios que aportan a la formacin integral en el uso de la librera Collections.
- La modalidad de trabajo es de amplia interaccin entre docentes y alumnos, con planteo de
inquietudes que llevan al tratamiento de temas de inters. Se pondr nfasis en el afianzamiento
de procedimientos y actitudes fundamentales para la programacin competitiva.
Modalidad de agrupamientos:
En las clases y actividades de seguimiento se trabajar en pequeos grupos, conformados de
acuerdo a los fines de cada actividad.
Los trabajos prcticos son realizados por grupos de tres alumnos, en forma colaborativa,
combinando actividades de comprensin de problemas, clasificacin, bsqueda y anlisis de
soluciones, codificacin de algoritmos, debugging y testeo de los programas.
Consultas:
El profesor y el auxiliar tienen un espacio de consulta semanal de una hora prefijada, en el Grupo
de Programacin Competitiva; adems de la atencin de consultas va e-mail y foro de la ctedra
en el Campus Virtual.
Organizacin de espacios dentro y fuera del mbito universitario (aulas, talleres, laboratorios,
visitas, empresas, otros):
Se realizan actividades en el Grupo de Programacin donde se resuelven problemas de
competencias anteriores de ACM, en lenguaje JAVA, C y C++, haciendo uso de la librera
Collections y STL respectivamente.