Pontificia Universidad Católica Argentina “SANTA MARÍA DE LOS BUENOS AIRES” Facultad de Ciencias Fisicomatemáticas e Ingeniería Programa de Algoritmia y Logica Computacional 2010 Carrera: Ingenieria Informatica Ubicación en el Plan de Estudios : 4to. cuatrimestral Carga Horaria : 6 horas/semana (15 o 16 clases) Objetivos de la materia : Proporcionar al alumno herramientas matematicas y computacionales que permitan el desarrollo y la implementacion de una gran variedad de algoritmos enfatizando la velocidad de convergencia a la solucion de los mismos. Contenidos de la materia : Unidad 1: Funciones generadoras y representaciones asintoticas 1.1. Revision del concepto de funciones generadoras, operaciones. 1.2. Numeros armonicos, propiedades. Estimacion y constante de Euler. 1.3. Representaciones asintoticas. Ordenes. Propiedades y teoremas relativos. Unidad 2: Algoritmos recursivos . 2.1 Introduccion, ejemplos, propiedades y teoremas relativos. 2.2. Estructuracion, analisis e implementacion de algoritmos para calculo de factoriales, reordenamiento de arreglos, multiplicación rapida de matrices y transformada rapida de Fourier. 2.3. Algoritmos semi-numericos: analisis e implementacion del algoritmo de la division de enteros y del maximo comun divisor. Teoremas relativos. Analisis de algoritmos de clasificacion recursiva. Ejemplos. 2.4 Revision del concepto de relaciones de recurrencia. Tecnicas de calculo. Relaciones de division y conquista. 2.5. Teoria de grafos y algoritmos: definiciones, arcos, ramas o ejes, matriz de adyacencias. Caminos simples y compuestos, orientación. Cadenas. Redes. Definiciones, propiedades y ejemplos de arboles. Arboles con raiz. Matrices asociadas y triangulacion inferior. Teoremas relativos. 2.6. Modelos matematicos y algoritmos: analisis e implementacion de algoritmos para la optimizacion de la programación en redes, maximo flujo-minimo corte y de descomposición. 2.7. Analisis e implementacion de los algoritmos de Kruskal y de Prim. Unidad 3 : Logica Computacional. 3.1. Lenguaje de la logica computacional. Sentencias validas y tablas de verdad. Pontificia Universidad Católica Argentina “SANTA MARÍA DE LOS BUENOS AIRES” Facultad de Ciencias Fisicomatemáticas e Ingeniería 3.2. Estructuras: estructuras deductivas. Sistemas de Kleene. Deduccion. Metodos de deduccion y de demostración. 3.3. Calculo de predicados: logica de predicados y lenguaje de predicados. Reglas semánticas. Teoremas. Modelos y deduccion, equivalencia y resolucion. 3.4. Calculo Lambda: introduccion y sintaxis. Términos lambda y conversion. Sustitucion. Reduccion. Funciones recursivas. 3.5. Semântica denotacional, la funcion EVAL. La correctitud de lãs reglas de conversion, igualdad y convertibilidad. 3.6. Transcripcion de um lenguaje funcional de alo nível al Calculo Lambda. Bibliografía General: 1. Albertson, M and Hotchinson, J.P. “Discret Mathematics with algorithms”. John Wiley, 1988. 2. Caputti, T. “Curso teorico-practico de Matematica Discreta”, Universidad Catolica Argentina, 2007. 3. Graham, Knuth and Patashnik “Concrete Mathematics” Addison Wesley, 1994. 4. Grimaldi, R.P.. “Matematicas discreta y combinatorial” Addison Wesley 1989. 5. Knuth, D. “The arto f programming”. Volumne II, Addison Wesley 6. Martin, J.C. “Introduction to languages and the theory of computation”, Mc Graw Hill, 1991. 7. Ben-Ari, M. “Mathematical Logic for Computer Science”. Prentice Hall International, 1993. 8. Zohar, Manna and Waldinger, R. “The deductive foundations of computer programming”. Addison Wesley, 1993. 9. Caputti, T. “Introduccion al Calculo Lambda”. Universidad Catolica Argentina, 2007. . Metodología de Enseñanza y Evaluación: El proceso de Enseñanza – Aprendizaje se desarrollará a través de los siguientes métodos: - Clases teórico - prácticas en las que se fomentará la participación activa de los alumnos. - Desarrollo de Trabajos Prácticos en forma grupal. La metodología de evaluación para aprobar la cursada de la materia y estar habilitado para rendir examen final consistirá en cumplir con la asistencia exigida por la Universidad, aprobar el examen parcial en la fecha convenida y cumplimentar las implementaciones Pontificia Universidad Católica Argentina “SANTA MARÍA DE LOS BUENOS AIRES” Facultad de Ciencias Fisicomatemáticas e Ingeniería computacionales de los algoritmos con el correspondiente analisis de complejidad que se exijan. La evaluación de todas las actividades enunciadas precedentemente se ponderará con el resultado del parcial correspondiente.