1
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
(Universidad del Perú, DECANA DE AMÉRICA)
FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
1. INFORMACIÓN GENERAL
1.1.
Nombre y código de la asignatura:
ALGORITMICA III - 203001
1.2.
Número de créditos
: 04
1.3.
Número de horas semanales
: Teoría: 02 horas, Práctica: 02 horas,
Laboratorio: 02 horas
1.4.
Ciclo de estudio
: III
1.5.
Periodo Académico
: 2017 - II
1.6.
Pre-requisitos
: 202001 - Algorítmica II
202008 – Estructura de Datos
1.7.
Profesores
: Robert Espinoza Domínguez (Coord.)
Augusto Cortez Vásquez
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.
2
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.
SEM CONTENIDOS ESTRATEGIAS
DIDÁCTICAS ACTIVIDADES EVALUACIÓN
1 a 2 Especificación e implementación de algoritmos. Análisis de algoritmos. Algoritmia. Factores de la algoritmia. Complejidad algorítmica. Notaciones asintóticas.
Análisis de estructuras de control. Análisis de las estructuras de datos. Criterios: Lógico deductivo. Técnicas: Expositiva participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Parcial
3 Taller de ejercicios. Análisis de tiempo de ejecución. Ejemplos de aplicación. Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Parcial
UNIDAD 02: ALGORITMOS DE DIVIDE Y VENCERÁS, BÚSQUEDA Y CLASIFICACIÓN COMPETENCIAS ESPECÍFICAS: Elaborar y evaluar algoritmos de divide y vencerás, búsqueda y ordenamiento para clasificar los más eficientes, construyendo los algoritmos en pseudocódigo y valorado su importancia en el momento de la selección del método adecuado para una solución de desarrollo.
SEM CONTENIDOS ESTRATEGIAS
DIDÁCTICAS ACTIVIDADES EVALUACIÓN
4 Divide y Vencerás.
Recursividad. Análisis de los algoritmos de divide y vencerás. Resolución de Recurrencias. Criterios: Lógico deductivo. Técnicas: Expositiva participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Parcial 5 Métodos de ordenamiento: Burbuja, Shell, QuickSort, ordenación por montón, ordenación por árbol binario.
Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Parcial
6 Búsqueda interna: Secuencial, secuencial por bloques, binaria,
Criterios: Lógico deductivo. Técnicas: Expositiva Desarrollo de ejercicios, prácticas, Laboratorio Práctica Calificada, Examen Parcial
3
indexada Búsqueda Externa -participativa, estudio dirigido, problemas. laboratorio 7 Métodos de Dispersión. Funciones de dispersión. Inserción por Dispersión. Búsqueda por Dispersión. Resolución de colisiones Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Parcial 8 Examen ParcialUNIDAD 03: TÉCNICAS ALGORÍTMICAS
COMPETENCIAS ESPECÍFICAS: Elaborar y aplicar técnicas algorítmicas de programación dinámica, voraces, retroceso, ramificación y poda para la solución de problemas, construyendo algoritmos en pseudocódigo y valorado su importancia en el momento de la selección del método adecuado para un problema particular.
SEM CONTENIDOS ESTRATEGIAS
DIDÁCTICAS ACTIVIDADES EVALUACIÓN
9 Programación dinámica:
Método General. Análisis de los tiempos de ejecución. Ejemplos de Aplicación. Criterios: Lógico deductivo. Técnicas: Expositiva participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Final
10 Algoritmos voraces: Proceso de los Algoritmos Voraces.
Funciones Genéricas. Análisis de tiempo de ejecución. Ejemplos de Aplicación. Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Final 11 Algoritmos de retroceso:
Árboles de Retroceso. Análisis de los Tiempos de Ejecución. Ejemplos de Aplicación. Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Final
12 Taller de ejercicios. Algoritmos de retroceso, voraces y programación dinámica. Ejemplos de aplicación. Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Final 13 Algoritmos matemáticos. Algoritmos geométricos: Algoritmos probabilísticos. Programación paralela
Método General. Análisis de los tiempos de ejecución. Ejemplos de Aplicación. Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Final
4
14 Taller de ejercicios. Algoritmosmatemáticos, algoritmos geométricos, algoritmos probabilísticas y programación paralela. Ejemplos de aplicación.
Criterios: Lógico deductivo. Técnicas: Expositiva -participativa, estudio dirigido, problemas. Desarrollo de ejercicios, prácticas, laboratorio Laboratorio Práctica Calificada, Examen Final
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.
6. EVALUACIÓN DEL APRENDIZAJE
Concepto Porcentaje Compuesto
Promedio de práctica 15% Trabajos, prácticas, laboratorios, etc.
Proyecto 15% 100% Trabajo Final
Examen Parcial 35% 100% examen
Examen Final 35% 100% examen
FALTA LA FÓRMULA PARA CALCULAR EL PROMEDIO FINAL (PF)
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).
5
Sistema de calificación del proyecto
Nota proyecto = (Entregable 1 + Entregable 2 + Exposición)/3
1. Entregable 1: Contiene el avance inicial de la solución del trabajo. 2. Entregable 2: Contiene la solución final del proyecto
3. Exposición final del trabajo
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.
6
“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.