Download sílabo - Cybertesis URP
Document related concepts
no text concepts found
Transcript
UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA INFORMÁTICA SÍLABO AÑO ACADÉMICO 2008-I PLAN DE SESIÓN DE APRENDIZAJE I. DATOS GENERALES Nombre del curso Código del curso Créditos Naturaleza del curso Número de horas de teoría Número de horas de práctica Número de horas de laboratorio Requisitos Profesores : : : : : : : : : Estructura de Datos y Algorítmica IF 0405 3 Teórico - práctico 2 2 3 II0306 - II0303 Augusto Vega, Vera Virginia, Tamayo Carlos, Zamora Oswaldo, Guzmán Amancio II. SUMILLA El curso de Estructuras de Datos y Algorítmica corresponde al IV ciclo de formación de la Escuela Académico Profesional de Ingeniería Informática. El curso es de naturaleza teórico-práctica y brinda a los participantes los conocimientos y habilidades para la resolución de problemas complejos mediante programas de computador utilizando eficazmente estructuras de datos y algoritmos. Las unidades de aprendizaje son: análisis de algoritmos y abstracción de datos; recursividad; los TDA lista, pila y cola; tablas de dispersión de tipo abierta, el TDA conjunto, árboles binarios, árboles n-arios y grafos. III. COMPETENCIAS DE LA CARRERA Desarrolla y mantiene sistemas de software confiables y eficientes y que sea económico desarrollarlos y mantenerlos y que satisfagan los requisitos definidos por los clientes. IV. COMPETENCIA DEL CURSO 1. Emplea el análisis de algoritmos y la abstracción de datos para solucionar problemas eficazmente. 2. Diseña e implementa algoritmos para la solución de problemas utilizando recursividad. 3. Diseña e implementa TDAs listas y listas específicas (pilas y colas) para la solución de problemas. 4. Diseña e implementa tablas de dispersión para la solución de problemas. 5. Diseña e implementa TDAs conjuntos para la solución de problemas. 6. Diseña e implementa algoritmos para la solución de problemas que proceden sobre árboles, ya sean binarios o n-arios. 7. Diseña e implementa grafos para la solución de problemas. . V. RED DE APRENDIZAJE Análisis de algoritmos y Abstracción de Datos aplica aplica aplica Árboles Listas, Pilas y Colas Recursividad aplica usa Tablas de Dispersión usa usa usa usa Conjuntos usa usa Grafos VI. UNIDADES DE APRENDIZAJE Unidad de aprendizaje 1: Análisis de Algoritmos y Abstracción de Datos Competencia: Emplea el análisis de algoritmos y la abstracción de datos para solucionar problemas eficazmente. Sesión / Temas Actividades Análisis de algoritmos y abstracción de datos: Problemas y programas de computador. Algoritmos y el proceso de la obtención de la solución de Exposición del los problemas. profesor. Ejercicios Tipos de datos primitivos, tipos de datos abstractos simples de ejemplo. (TDA) y estructuras de datos. Fecha / Semana 1 Análisis de algoritmos y abstracción de datos: Medición del tiempo de ejecución de un programa. Notación O mayúscula. Velocidad de crecimiento de los programas. Cálculo del tiempo de ejecución de un programa. Exposición del profesor. Ejercicios simples de ejemplo. 2 Unidad de aprendizaje 2: Recursividad Competencia: Diseña e implementa algoritmos para la solución de problemas utilizando recursividad. Sesión / Temas Recursividad: Concepto de recursividad. Problemas recursivos y soluciones recursivas. Condiciones de terminación de la recursión. La recursión frente a la iteración y los problemas de la recursión. La recursión de cola. Eliminación de la recursión de cola. Recursión directa e indirecta. Uso de funciones auxiliares en la resolución de funciones recursivas. Resolución de problemas recursivos de mediana complejidad. Recursividad: Resolución de problemas recursivos de mediana y alta complejidad. Recursividad: Resolución de problemas recursivos de alta complejidad. Actividades Fecha / Semana Exposición y discusión con el profesor. Ejercicios en Java y seudo código. 3 Exposición y discusión con el profesor. Ejercicios en Java y seudo código. Exposición y discusión con el profesor. Ejercicios en Java y seudo código. 4 5 Unidad de aprendizaje 3: El TDA Lista y listas específicas Competencia: Diseña e implementa TDAs listas y listas específicas (pilas y colas) para la solución de problemas. Sesión / Temas El TDA Lista: Definición del TDA Lista. Implementación de listas mediante arreglos. Implementación de listas mediante nodos enlazados. El TDA Lista: Listas circulares simplemente enlazadas. Actividades Exposición y discusión con el profesor. Ejercicios en Java y seudo código. Exposición y discusión con el profesor. Ejercicios en Java y seudo código. Fecha / Semana 6 7 EXAMEN PARCIAL 8 Exposición y discusión Listas específicas: con el profesor. Pilas y colas: Definición e implementación a partir de la Ejercicios en Java y reutilización de listas circulares. seudo código. 9 Unidad de aprendizaje 4: Tablas de dispersión Competencia: Diseña e implementa tablas de dispersión para la solución de problemas. Sesión / Temas Actividades Fecha / Semana Tablas de dispersión: Definición de la estructura de datos Tabla de Dispersión (TD). Tabla de dispersión de tipo abierta. Implementación de tablas de dispersión de tipo abierta con el uso de claves. Exposición y discusión con el profesor. Ejercicios en Java y seudo código. 10 Unidad de aprendizaje 5: Conjuntos Competencia: Diseña e implementa TDAs conjuntos para la solución de problemas. Sesión / Temas Actividades Exposición y discusión El TDA Conjunto: Definición del TDA Conjunto. con el profesor. Implementación de conjuntos a través de la reutilización de Ejercicios en Java y tablas de dispersión. seudo código. Fecha / Semana 11 Unidad de aprendizaje 6: Árboles Competencia: Diseña e implementa algoritmos para la solución de problemas que proceden sobre árboles, ya sean binarios o n-ários. Sesión / Temas Actividades Árboles binarios: Definición. Creación y recorrido. Resolución de problemas que proceden sobre árboles binarios. Árboles n-arios: Definición. Creación y recorrido. Resolución de problemas que proceden sobre árboles narios. Exposición y discusión con el profesor. Ejercicios en Java y seudo código. Exposición y discusión con el profesor. Ejercicios en Java y seudo código. Fecha / Semana 12 13 Unidad de aprendizaje 7: Grafos Competencia: Diseña e implementa grafos para la solución de problemas. Sesión / Temas Grafos: Grafos. Definición e implementación del TDA Grafo. Operaciones sobre grafos. Representación matricial de grafos. Grafos: Actividades Fecha / Semana Exposición y discusión con el profesor. Ejercicios en Java y seudo código. 14 Exposición y discusión Representación enlazada de grafos. con el profesor. Operaciones sobre grafos representados de manera Ejercicios en Java y seudo código. enlazada. EXAMEN FINAL 15 16 EXAMEN SUSTITUTORIO 17 VII. METODOLOGÍA La metodología del curso está estrictamente orientada a la adquisición de conocimientos básicos y, sobre todo, de habilidades, por lo cual los temas teóricos son reforzados en gran medida por ejercicios resueltos en la misma clase y en el laboratorio. El profesor expondrá inicialmente los temas teóricos y proseguirá con el desarrollo de ejercicios, los cuales irán progresivamente incrementando su dificultad. VIII. EVALUACIÓN Los criterios que se usarán para la evaluación de los alumnos: o Habilidades adquiridas y demostradas en el laboratorio para la aplicación de los temas del curso. o Nivel de aprendizaje en el laboratorio. La nota final será la resultante de la siguiente fórmula: PF = ((EP + EF)/2)*0.70 + ((PL1+PL2+PL3+PL4+PL5+PL6+PL7)/6)*0.30 EP = examen parcial EF = examen final PLi = i-ésimo laboratorio calificado IX. Bibliografía. Análisis de algoritmos “Data Structures & Algorithms in Java” Robert Lafore ISBN: 1571690956 Ed. Sams 1998, “Estructuras de datos y algoritmos”, Alfred V. Aho, John E. Hopcroft & Jeffrey D. Ullman, ED. Addisson-Wesley Iberoamericana, 1988 “Curso de Pascal”, Augusto Vega P. ED. Fondo Editorial P.U.C.P, 1998 “Tutor de Java, Tipo ‘links’, v1.0”, Augusto Vega P. ED. 2004 http://www.netbeans.org Recursividad Listas Tablas de dispersión X X X X X X Conjuntos X X X X X X X X X X Árboles Grafos X X X X X X M.secundaria X X X X