Anda di halaman 1dari 7

UNIVERSIDAD TECNOLGICA DE PEREIRA FACULTAD DE INGENIERAS MAESTRA EN INGENIERA DE SISTEMAS Y COMPUTACIN CURSO NIVELATORIO EN ALGORITMIA OBJETIVO GENERAL Este

curso trata sobre la creacin de algoritmos y el anlisis de su eficiencia. Tras introducir las bases matemticas de la complejidad computacional, el curso cubre algunos de los mtodos algortmicos ms importantes: La tcnica divide y vencers El mtodo de la vuelta atrs y la variante conocida como ramificacin y poda La programacin dinmica como optimizacin en tiempo a costa de un gasto en memoria Los algoritmos voraces Tcnicas de escalada Algoritmos basados en probabilidades

El objetivo del curso es mostrar cmo aplicar de forma metdica diferentes tcnicas en algoritmos de creacin propia de forma que estos sean ms eficientes. Adems de tratar los diferentes mtodos algortmicos de forma general, tambin se estudiarn en profundidad algunos algoritmos famosos que apliquen dichos mtodos. Asimismo, se plantean una serie de ejercicios clsicos y se aportan soluciones en pseudocdigo de los mismos con el fin de poder autoevaluar los conocimientos adquiridos. En esencia, al finalizar el curso el estudiante comprender las principales tcnicas para resolver problemas, adems comprender como evaluar la eficiencia y la velocidad de los algoritmos. CONTENIDO MDULO 1.- INTRODUCCIN AL ANLISIS Y DISEO DE ALGORITMOS

Objetivo Particular: El alumno conocer los conceptos bsicos de la materia para poder entender los conceptos generales en los que se basa esta materia los cuales sern vistos en los siguientes mdulos. 1.1 Etapas en la resolucin computacional de un problema 1.2 Pseudolenguajes y refinamiento por pasos 1.3 Tipos de datos, estructuras de datos abstractos MDULO 2.- COMPLEJIDAD ALGORTMICA Objetivo Particular: El estudiante comprender los principales conceptos matemticos relacionados con el anlisis y diseo de algoritmos, para poder hacer el anlisis de los algoritmos, conociendo las distintas notaciones, en especial, la asinttica. 2.1 Tiempo de ejecucin de un programa 2.2 Notacin o grande y omega grande 2.3 Complejidad y tamao del problema 2.4 Clculo de la complejidad del problema 2.5 Sugerencia para el diseo y realizacin de algoritmos 2.6 Resolucin de ecuaciones recurrentes 2.7 Ordenacin MDULO 3.- ALGORITMOS SOBRE GRAFOS Objetivo Particular: El alumno comprender como utilizar grafos en la resolucin de problemas, para poder aplicar algoritmos en los cuales se usan los grafos, retomando lo comprendido en matemticas discretas. Tema Subtema Contenido 3.1 Caminos de longitud mnima 3.2 rboles parciales extremos 3.3 Grafos isomorfos 3.4 Conexidad fuerte MODULO 4.- TCNICAS PARA EL ANLISIS DE ALGORITMOS

Objetivo Particular: El alumno comprender la forma de evaluar la eficiencia y la velocidad de los algoritmos, para poder aplicar esto en cualquier algoritmo, analizando distintos algoritmos. 4.1 Eficiencia de algoritmos 4.2 Anlisis de programas recursivos MDULO 5.- TCNICAS PARA EL DISEO DE ALGORITMOS Objetivo Particular: El alumno comprender las principales tcnicas para resolver problemas computacionales para que pueda categorizar y aplicar las tcnicas de diseo en los algoritmos, esto se har revisando cada tcnica segn sus caractersticas y con ejemplos. 5.1 Algoritmos voraces 5.2 Divide y vencers 5.3 Programacin dinmica 5.4 Algoritmos probabilsticos 5.5 Vuelta atrs 5.6 Algoritmos Paralelos MDULO 6.- INTRODUCCIN A LA NP-COMPLETITUD Objetivo Particular: El alumno conocer los principales conceptos de la NPCompletitud, para que conozca la problemtica a la que se enfrenta la computacin, y esto se har revisando en general la NP-Completitud y los principales problemas que plantea. 6.1 Las clsicas de P y de NP 6.2 Reducciones polinmicas 6.3 Problemas NP Completos 6.4 Algunas demostraciones de NP-Completitud 6.5 Problemas de NP-difciles 6.6 Algoritmos no determinados COMPETENCIAS COMPETENCIAS TRANSVERSALES / GENRICAS: Aprendizaje autnomo Capacidad de anlisis y sntesis Capacidad de aplicar los conocimientos a la prctica Resolucin de problemas Trabajo individual y por parejas Comunicacin oral y escrita

COMPETENCIAS ESPECFICAS: - Cognitivas (Saber): - Idioma

- Matemticas - Nuevas tecnologas TIC - Conocimientos de informtica - Procedimentales / Instrumentales (Saber hacer): - Redaccin en interpretacin de documentacin tcnica - Estimacin y programacin del trabajo - Planificacin, organizacin y estrategia. - Actitudinales (Ser): - Calidad - Toma de decisin - Capacidad de iniciativa y participacin TCNICAS DOCENTES Las tcnicas docentes que se van a utilizar son: - Clases de teora - Exposiciones sobre trabajos de casos prcticos. - Tutoras colectivas de teora - Clases de prcticas - Correccin de las prcticas - Tutoras colectivas de prcticas - Tutoras individualizadas DESARROLLO Y JUSTIFICACIN: Clases de teora: - Se har una resea inicial del contenido de cada tema y se indicar su relacin con los otros temas. - Al comenzar la explicacin de una seccin de un tema, se indicarn las relaciones que posee con otras secciones del mismo tema o de temas diferentes. - Se explicar detenidamente cada seccin de cada tema terico. Exposiciones: - El profesor propondr los trabajos sobre trabajos de casos prcticos, que los estudiantes debern preparar y exponer a lo largo del curso. - Los trabajos podrn hacerse individualmente o en parejas. Acerca de las prcticas: Las prcticas y tutoras se realizarn por grupos en el laboratorio con base en la gua del curso. Tutoras colectivas de teora o prcticas Es una actividad desarrollada dentro de las horas de clase

- El profesor responder a las preguntas que les planteen los estudiantes procurando que ellos intenten deducir las repuestas correctas. - Se procurar que las preguntas que se planteen no sean dudas particulares de un estudiante, sino dudas generales que puedan tener la mayora de los estudiantes. Las dudas particulares se deben plantear en las tutoras individuales. - El profesor tambin podr plantear preguntas a los estudiantes para comprobar si han aprendido correctamente los conceptos fundamentales de la asignatura. Tutoras individualizadas: Segn es reglamento estudiantil vigente, en su articulo 60.(ARTCULO 60o.: El estudiante de la Universidad tiene derecho a:Ser asistido, asesorado y odo por quienes tienen la responsabilidad administrativa y docente.. Subrayado nuestro), estas tutoras estn enmarcadas dentro de la actividad docente y los horarios debern ser concertados con todos los estudiantes o con la mayora cuando con todos no sea posible. - Los estudiantes con el fin de poder organizar y garantizar que la atencin sea individual, deber solicitar con anticipacin cita con el profesor. - Los estudiantes deben utilizar estas tutoras a lo largo de todo el curso y no slo antes de la fecha del examen. - El profesor intentar resolver las dudas particulares que pueda tener cada estudiante en relacin con los temas de teora, los trabajos de las exposiciones, las prcticas, etc. - Aunque las dudas ms simples puedan plantearse mediante correo electrnico, es preferible que haya una reunin del profesor y el estudiante para resolver las dudas ms complejas. - La Universidad podr disponer como recurso adicional un asistente de ctedra o monitor, que podr ser un estudiante de semestres superiores, segn el reglamento que sobre este particular maneje la Universidad. MECANISMOS DE CONTROL Y SEGUIMIENTO El profesor podr comprobar el grado de seguimiento de la asignatura mediante: - La asistencia a las clases de teora y prcticas - Las exposiciones de temas de teora. - La correccin de las prcticas. - Las tutoras personales - Los parciales - Los exmenes de corta duracin (Quiz). EVALUACIN

Taller 1 Examen Corto 1 Taller 2 Examen Corto 2 Trabajo Final Examen Final

20% 20% 30% 30%.

Los porcentajes estn sujetos a ser negociados con los alumnos por parte del docente, exceptuando el porcentaje del examen final que nunca deber ser inferior al 30%. BIBLIOGRAFA T. Cormen, C Leiserson & R. Rivest, "Introduction to Algorithms", The MIT Press, 2nd. Edition 2001 G. Brassard & P. Bratley, "Fundamentos de Algoritmia", Prentice Hall, 1997. S. Skiena & M. Revilla, "Programming Challenges: The Programming Contest Training Manual", Springer-Verlag, New York, 2003 (til para las prcticas)) NUEVA Traduccin al Espaol: S. Skiena & M. Revilla, "Concursos Internacionales de Programacin", Publicaciones de la Universidad de Valladolid, 2006. Knuth, D.E. "El Arte de Programar Ordenadores. Vol. I, II y III". Reverte. 1988, 89 y 92. M. Atallah (ed.), "Algorithms and Theory of Computation Handbook", CRC Press, 1998. M. Garey & D. Johnson, "Computers and Intractability: A Guide to the Theory of NP-Completeness", New York: Freeman, 1979. C. Papadimitriou, "Computational Complexity", Addison-Wesley, 1994. J. L. Balczar, J. Daz & J. Gabarr, "Structural Complexity, Vols. I y II". Springer, 1988, 90.

Anda mungkin juga menyukai