PROGRAMA DE LA ASIGNATURA: ANÁLISIS DISEÑO E IMPLANTACIÓN DE ALGORITMOS


Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "PROGRAMA DE LA ASIGNATURA: ANÁLISIS DISEÑO E IMPLANTACIÓN DE ALGORITMOS"

Transcripción

1 PROGRAMA DE LA ASIGNATURA: ANÁLISIS DISEÑO E IMPLANTACIÓN DE ALGORITMOS CLAVE: 1132 PLAN: 98 CRÉDITOS: 8 LICENCIATURA: INFORMÁTICA SEMESTRE: 1º. ÁREA: INFORMÁTICA HRS. CLASE: 2 REQUISITOS: NINGUNO HRS. POR SEMANA: 4 TIPO DE ASIGNATURA: OBLIGATORIA OPTATIVA: OBJETIVO GENERAL: AL FINALIZAR EL CURSO, EL ALUMNO CONOCERÁ LOS FUNDAMENTOS BÁSICOS DE LA COMPUTACIÓN Y PODRÁ UTILIZAR ESTRATEGIAS ALGORÍTMICAS PARA LA SOLUCIÓN DE PROBLEMAS. TEMAS: I. AUTÓMATAS Y LENGUAJES FORMALES. II. COMPUTABILIDAD. III. FUNCIONES RECURSIVAS. IV. DISEÑO DE ALGORITMOS PARA LA SOLUCIÓN DE PROBLEMAS. V. EVALUACIÓN DE ALGORITMOS. VI. ESTRATEGIAS DE PROGRAMACIÓN PARA LA IMPLANTACIÓN DE ALGORITMOS. EVALUACIÓN HORAS SUGERIDAS: TOTAL: 8

2 TEMAS: I. AUTÓMATAS Y LENGUAJES FORMALES. 1.-Definición de algoritmo. 1.1.Clasificación de algoritmos 2.-Autómatas Finitos 3.-Máquina deturing II. COMPUTABILIDAD. 1.-Definición de un problema desde el punto de vista computable. 2.-Definición de computabilidad. 3.-Definición de complejidad. 4.-Problemas computables y no computables. 4.1.Algoritmos de complejidad polinomial. 4.2.Problemas intratables. III. FUNCIONES RECURSIVAS. 1.-Definiciones Recursivas 2.-Análisis de programas recursivos 3.-Análisis de programas no recursivos 3.1.Fibonacci 3.2.Torres de Hanio 3.3.Series y Sucesiones IV. DISEÑO DE ALGORITMOS PARA LA SOLUCIÓN DE PROBLEMAS. 1. Análisis del problema. 1.1.Identificación y abstracción de las constantes, variables, parámetros y sus relaciones. 1.2.Especificaciones de entrada y salida. 1.3.Procesamiento interno. 2. Diseño de algoritmos. 2.1.Niveles de abstracción para la construcción de algoritmos Lenguaje natural Seudo-código Diagramación. 2.2.Estructuras básicas en un algoritmo Ciclos Contadores Acumuladores Condicional "SI...ENTONCES...DE OTRA FORMA" (IF THEN-ELSE) 2.2..Interruptores. 2.3.Rutinas recursivas. 2.4.Refinamiento progresivo. 2.5Procesamiento regresivo Backtracking

3 V. EVALUACIÓN DE ALGORITMOS. 1. Refinamiento progresivo. 2. Depuración y prueba. 2.1.Eficiencia y confiabilidad. 2.2.Verificación. 3. Documentación del programa. 3.1.Propósito de la documentación. 3.2.Herramientas para documentación. 4. Mantenimiento de programas. 4.1.Tipos. 4.2.Perfectivo. 4.3.Correctivo. 4.4.Adaptativo. 4.5.Estrategias para mantenimiento. VI. ESTRATEGIAS DE PROGRAMACIÓN PARA LA IMPLANTACIÓN DE ALGORITMOS. 1. El programa como una expresión computable del algoritmo. 2. Realización de rutinas para: 2.1.Ciclos. 2.2.Contadores. 2.3.Acumuladores. 2.4.Condicional SI...ENTONCES...DE OTRA FORMA" (IF-THEN-ELSE). 2..Interruptores. 2.7.Recursión. 3. Programación no estructurada. 4. Programación estructurada. 4.1.Concepto de modularidad. 4.2.Flujo de información y control entre módulos. 4.3.Enfoque arriba-abajo. (TOP-DOWN).- Enfoque abajo-arriba (BOTTOM-UP) 5. Divide y vencerás

4 BIBLIOGRAFÍA BÁSICA 1. ABELLANAS, M., Análisis de Algoritmos y Teoría de Grafos, México, Macrobit,. 2. ACM Turing Award Lectures: The First Twenty Years, , Addison-Wesley. 3. AHO, Alfred, Introducción a las Ciencias Computacionales, México, Grupo Editorial Iberoamérica,. 4. ANDERSON, John, Foundations of Computers Technology, Londres, Chapman & Hall,. 5. BRONSON Gary J., C++ para Ingeniería y ciencias, México, Thomson-Learning, 1999, 884 p.p.. BROOKSHEAR, Glenn, Introducción a las Ciencias de la Computación, México, Addison-Wesley, 1995, (4ª. ed.) 7. CAIRÓ BATTISTUTTI, Oswaldo, Metodología de la programación, Tomo I. Algoritmos, Diagramas de flujo y programas, México, Alfaomega, CEBALLOS, Francisco Javier, Programación orientada a objetos con C++,. España, Alfaomega-Rama, CEBALLOS, Francisco Javier, Curso de programación con C Microsoft.,. España, Alfaomega-Rama, CEBALLOS, Francisco Javier, Enciclopedia del lenguaje C, España, Alfaomega-Rama, COHEN, Daniel, Introduction to computer Theory, EEUU, Wiley, 12. HAREL, David, Algorithmics, the Spirit of Computing, EEUU, Addison-Wesley, JAMSA, Kris, Aprenda C++ Paso a paso, España, Alfaomega, JAMSA, Kris, C++ Programación exitosa, España, Alfaomega-Rama, MATEOS, Alfonso, Programación lineal y aplicaciones. Ejercicios resueltos,.españa, Alfaomega-Rama, 2001 BIBLIOGRAFÍA COMPLEMENTARIA 1. ALLEN, Weiss, Estructuras de datos y Algoritmos, EEUU, Addison-Weisley, GRAHAM, Ronald, Concrete Mathematics: A Foundation for Computer Science, EEUU,. 3. KELLEY, Dean, Teoría de Autómatas en Lenguajes Formales, España, Prentice-Hall, 1995.

5 TÉCNICAS DE ENSEÑANZA SUGERIDAS: Exposición oral Exposición audiovisual Ejercicios dentro de la clase Seminarios Lecturas obligatorias Trabajos de investigación Prácticas de taller o laboratorio Prácticas de campo otras ELEMENTOS DE EVALUACIÓN: Exámenes parciales Exámenes finales Trabajos y tareas fuera del aula Participación en clase Asistencia a prácticas otros