1. INFORMACIÓN GENERAL
2. SUMILLA
Análisis de la eficiencia de los algoritmos. Métodos de evaluación de algoritmos. Análisis del
comportamiento. Complejidad algorítmica, notaciones asintóticas. Algoritmos de tiempo
polinomial. Algoritmos de tiempo exponencial. Métodos de clasificación, búsqueda,
dispersión. Algoritmos voraces. Programación dinámica. Algoritmos de retroceso.
Ramificación y poda. Algoritmos aleatorios. Criptografía. Algoritmos paralelos. Complejidad
computacional.
3. COMPETENCIA GENERAL
El estudiante al concluir la asignatura, estará capacitado en los niveles de competencia para para
formular y analizar la eficiencia de algoritmos y elegir el algoritmo más eficiente o el más adecuado
según el contexto del problema a resolver.
Asimismo estará en la capacidad de resolver diferentes tipos de problemas tales como los de
ordenamiento, búsqueda, optimización, etc. aplicando en la medida de lo posible algoritmos eficientes
con la técnica adecuada como por ejemplo algoritmos divide y vencerás, voraces, programación
dinámica, etc.
1
4. PROGRAMACIÓN
UNIDAD 01: ANÁLISIS DE ALGORITMOS
COMPETENCIAS ESPECÍFICAS: Definir y calcular la eficiencia de los algoritmos para el análisis
de la eficiencia de algoritmos construyendo algoritmos utilizando pseudocódigo y midiendo la eficiencia
de los algoritmos elaborados usando para esto las capacidades matemáticas de notaciones asintóticas.
Implementar los algoritmos diseñados usando un lenguaje de programación orientado a objetos.
ESTRATEGIAS
SEM CONTENIDOS ACTIVIDADES EVALUACIÓN
DIDÁCTICAS
1 a 2 Especificación e implementación Criterios: Lógico Desarrollo de Laboratorio
de algoritmos. deductivo. ejercicios, Práctica Calificada,
Análisis de algoritmos. Técnicas: Expositiva prácticas, Examen Parcial
Algoritmia. Factores de la participativa, estudio laboratorio
algoritmia. Complejidad dirigido, problemas.
algorítmica. Notaciones
asintóticas.
Análisis de estructuras de control.
Análisis de las estructuras de
datos.
3 Taller de ejercicios. Análisis de Criterios: Lógico Desarrollo de Laboratorio
tiempo de ejecución. Ejemplos de deductivo. ejercicios, Práctica Calificada,
aplicación. Técnicas: Expositiva prácticas, Examen Parcial
-participativa, estudio laboratorio
dirigido, problemas.
ESTRATEGIAS
SEM CONTENIDOS ACTIVIDADES EVALUACIÓN
DIDÁCTICAS
4 Divide y Vencerás. Criterios: Lógico Desarrollo de Laboratorio
Recursividad. Análisis de los deductivo. ejercicios, Práctica Calificada,
algoritmos de divide y vencerás. Técnicas: Expositiva prácticas, Examen Parcial
Resolución de Recurrencias. participativa, estudio laboratorio
dirigido, problemas.
5 Métodos de ordenamiento: Criterios: Lógico Desarrollo de Laboratorio
Burbuja, Shell, QuickSort, deductivo. ejercicios, Práctica Calificada,
ordenación por montón, Técnicas: Expositiva prácticas, Examen Parcial
ordenación por árbol binario. -participativa, estudio laboratorio
dirigido, problemas.
6 Búsqueda interna: Secuencial, Criterios: Lógico Desarrollo de Laboratorio
secuencial por bloques, binaria, deductivo. ejercicios, Práctica Calificada,
Técnicas: Expositiva prácticas, Examen Parcial
2
indexada -participativa, estudio laboratorio
dirigido, problemas.
Búsqueda Externa
ESTRATEGIAS
SEM CONTENIDOS ACTIVIDADES EVALUACIÓN
DIDÁCTICAS
9 Programación dinámica: Criterios: Lógico Desarrollo de Laboratorio
Método General. Análisis de los deductivo. ejercicios, Práctica Calificada,
tiempos de ejecución. Ejemplos Técnicas: Expositiva prácticas, Examen Final
de Aplicación. participativa, estudio laboratorio
dirigido, problemas.
10 Algoritmos voraces: Proceso de Criterios: Lógico Desarrollo de Laboratorio
los Algoritmos Voraces. deductivo. ejercicios, Práctica Calificada,
Funciones Genéricas. Análisis de Técnicas: Expositiva prácticas, Examen Final
tiempo de ejecución. Ejemplos de -participativa, estudio laboratorio
Aplicación. dirigido, problemas.
11 Algoritmos de retroceso: Criterios: Lógico Desarrollo de Laboratorio
Árboles de Retroceso. Análisis de deductivo. ejercicios, Práctica Calificada,
los Tiempos de Ejecución. Técnicas: Expositiva prácticas, Examen Final
Ejemplos de Aplicación. -participativa, estudio laboratorio
dirigido, problemas.
12 Taller de ejercicios. Algoritmos Criterios: Lógico Desarrollo de Laboratorio
de retroceso, voraces y deductivo. ejercicios, Práctica Calificada,
programación dinámica. Técnicas: Expositiva prácticas, Examen Final
Ejemplos de aplicación. -participativa, estudio laboratorio
dirigido, problemas.
13 Algoritmos matemáticos. Criterios: Lógico Desarrollo de Laboratorio
Algoritmos geométricos: deductivo. ejercicios, Práctica Calificada,
Algoritmos probabilísticos. Técnicas: Expositiva prácticas, Examen Final
Programación paralela -participativa, estudio laboratorio
Método General. Análisis de los dirigido, problemas.
tiempos de ejecución. Ejemplos
de Aplicación.
3
14 Taller de ejercicios. Algoritmos Criterios: Lógico Desarrollo de Laboratorio
matemáticos, algoritmos deductivo. ejercicios, Práctica Calificada,
geométricos, algoritmos Técnicas: Expositiva prácticas, Examen Final
probabilísticas y programación -participativa, estudio laboratorio
paralela. Ejemplos de aplicación. dirigido, problemas.
15 Presentación y exposición del proyecto final
16 Examen final
17 Examen sustitutorio
5. ESTRATEGIA DIDÁCTICA
Por parte del docente desarrollará su asignatura utilizando la metodología siguiendo los conceptos
inductivos, flexibles, participativos y constructivos con la participación del alumno. En este sentido se
utilizará las técnicas de participativas, laboratorios guiados, prácticas domiciliarias y desarrollo de
proyectos.
Por parte del estudiante éste participará activamente a través de la aplicación de los conceptos y técnicas
adecuadas en la solución de problemas de acuerdo a su contexto y características particulares mediante la
elaboración de pseudocódigos e implementación en un lenguaje de programación orientado a objetos. Se
utilizará instrumentos como ejercicios y exámenes individuales calificados, laboratorios, prácticas
domiciliarias, desarrollo de temas de investigación y elaboración de proyectos en grupo.
Se espera que el documento de presentación del proyecto tenga un nivel universitario y con calidad
monográfica. Todas las referencias bibliográficas deberán estar especificadas de manera explícita,
incluyendo las fuentes en Internet. Cualquier intento de atribución inválida de autoría de contenido será
considerado plagio y se penalizará con la calificación de cero (0). Los temas tratados en el trabajo de
investigación aplicado pueden ser materia de evaluación. Los requisitos para que el proyecto aspire a una
calificación aprobatoria son la funcionalidad completa y la calidad del producto, así como un
conocimiento sustentado de sus componentes por parte de los autores. Cualquier detección de plagio será
penalizada con la calificación de cero (0).
4
Sistema de calificación del proyecto
IMPORTANTE: Se recuerda a los alumnos que, los profesores de ayudantía solo asesoran en el
correcto desenvolvimiento de las clases de laboratorio y supervisan las evaluaciones de laboratorio. Más
no están con la prerrogativa de evaluar y calificar a ningún alumno.
7. REFERENCIAS BIBLIOGRAFICAS
7.1. BÁSICA
1. ALEN WEISS, Mark
“Estructura de Datos en Java”. Addison Wesley. 2003
2. BRASSARD, G. / BRATLEY, T.
“Fundamentos de Algoritmia”. Prentice Hall. 2001
3. CAIRÓ, Osvaldo.
“Estructuras de Datos”. McGraw-Hill. 2006.
4. CORTEZ VÁSQUEZ, Augusto
“Estructura de datos y algoritmos”. 2002
5. CORTEZ VÁSQUEZ, Augusto
“Algoritmia”. 2010
6. JOYANES AGUILAR, Luis
“Estructura de Datos en Java”. McGraw-Hill. 2008.
7. LEE, R.C.T., TSENG, S.S., CHANG, R.C., TSAI, Y.T.
“Introducción al diseño y análisis de algoritmos”. McGraw Hill. 2007.
8. PELÁEZ SÁNCHEZ, José I.
“Análisis y diseño de algoritmos: Un enfoque teórico práctico”. Universidad de Málaga. 2006
9. DROZDEK, Adam
“Estructura de Datos y Algoritmos con Java”. Editorial Thomson. México 2007
10. ZIVIANi, Nivio
“Diseño de Algoritmos con Implementaciones en C y Pascal”. Thomson Editores –Paraninfo. 2007
7.2. COMPLEMENTARIA
1. AHO, Alfred V.
“Estructura de Datos y algoritmos” Addison Wesley. 1988.
2. ALLEN WEISS, Mark
“Estructura de Datos y Algoritmos”. Addison Wesley. 1995.
3. CEVALLOS, Francisco
“JAVA 2 Curso de programación” Alfa y Omega. 2004
4. DEITEL Y DEITEL
“Como programar en JAVA”. Prentice Hall. 2004.
5. HEILEMAN, Gregory L.
5
“Estructura de Datos, Algoritmos y Programación Orientada a Objetos”. McGraw-Hill. 1998.
6. JOYANES AGUILAR, Luis
“Estructura de Datos – Teoría y Libro de Problemas”. McGraw-Hill. 1999.
7. KRUSE, Robert L.
“Estructura de Datos y Diseño de Programas”. Prentice Hall. 1988.
8. LIPSCHUTZ, Seymur Ph.D.
“Estructura de Datos”. Serie SCHAUM. McGraw-Hill. 1987