programa analítico vicerrectoría de educación...

6
Programa Analítico Vicerrectoría de Educación Superior Revisión No. 1 21/01/2005 Formato para Programas Analíticos Pag. 1 de6 División de Ingeniería y Tecnología Departamento de Ciencias Computacionales Periodo : Primavera 2010 Nombre del curso: ESTRUCTURTAS DE DATOS Clave: SC1250 Seriación: 72 creditos Línea Curricular: Bases de datos HTS: 2 HPS: 1 THS: 3 Créditos: 6 HTS: HORAS TEÓRICAS SEMANALES HPS: HORAS PRÁCTICAS SEMANALES THS: TOTAL DE HORAS POR SEMANA Idioma(s) en que se imparte el curso: Español Tipo(s) de Curso: Presencial Objetivo y/o competencias generales del curso : Comprender y aplicar algoritmos y técnicas para representar y organizar la información dentro de un sistema computacional, así como para clasificarla, ordenarla y encontrarla eficientemente. Descripción de contenidos y calendarización: TIEMPO OBJETIVOS ESPECIFICOS TEMAS Y SUBTEMAS ACTIVIDADES Semana 1 Revisión de los conceptos básicos de Java necesarios para el curso. 1. Conceptos Generales. Mapa Conceptual del área de Estructuras de Datos. Tipos de Datos Básicos en Java y su relación con el diseño de clases en Java. 1. 2. Tarea sobre los tipos predefinidos de datos en Java: definición, rangos y forma de uso (sintaxis) con ejemplos. Semana 2 Conocer el concepto de ADT y analizar las ventajas de un diseño eficiente. Conocer y comprender los conceptos encapsulación y ocultamiento de información 2. Abstracción de Datos. La abstracción y su importancia ¿Qué es una estructura de datos? ¿Qué es un ADT? Especificación Lógica Niveles de abstracción Ejemplos. Especificar unos tipos de datos abstractos: su especificación lógica. Semana 3 Conocer, comprender y aplicar las estructuras basadas en arreglos y matrices de diferentes tipos para hacer un uso eficiente de la memoria. 3. Arreglos y matrices. Arreglos multidimensionales representados en arreglos unidimensionales. Matrices poco densas. Matrices cuadradas poco densas. Matriz triangular. Matrices simétricas y asimétricas. Resolver ejercicios del libro de texto sobre el tema.

Upload: vokhanh

Post on 02-Oct-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Programa Analítico

Vicerrectoría de Educación Superior

Revisión No. 1 21/01/2005 Formato para Programas Analíticos Pag. 1 de6

División de Ingeniería y Tecnología Departamento de Ciencias Computacionales Periodo : Primavera 2010 Nombre del curso: ESTRUCTURTAS DE DATOS Clave: SC1250 Seriación: 72

creditos Línea Curricular: Bases de datos HTS: 2 HPS: 1 THS: 3 Créditos: 6 HTS: HORAS TEÓRICAS SEMANALES HPS: HORAS PRÁCTICAS SEMANALES THS: TOTAL DE HORAS POR SEMANA Idioma(s) en que se imparte el curso: Español Tipo(s) de Curso: Presencial Objetivo y/o competencias generales del curso : Comprender y aplicar algoritmos y técnicas para representar y organizar la información dentro de un sistema computacional, así como para clasificarla, ordenarla y encontrarla eficientemente. Descripción de contenidos y calendarización:

TIEMPO OBJETIVOS ESPECIFICOS TEMAS Y SUBTEMAS ACTIVIDADES Semana 1

Revisión de los conceptos básicos de Java necesarios para el curso.

1. Conceptos Generales. Mapa Conceptual del área de

Estructuras de Datos. Tipos de Datos Básicos en Java

y su relación con el diseño de clases en Java.

1. 2.

Tarea sobre los tipos predefinidos de datos en Java: definición, rangos y forma de uso (sintaxis) con ejemplos.

Semana 2 Conocer el concepto de ADT y analizar las ventajas de un diseño eficiente. Conocer y comprender los conceptos encapsulación y ocultamiento de información

2. Abstracción de Datos. La abstracción y su importancia ¿Qué es una estructura de

datos? ¿Qué es un ADT? Especificación Lógica Niveles de abstracción Ejemplos.

Especificar unos tipos de datos abstractos: su especificación lógica.

Semana 3 Conocer, comprender y aplicar las estructuras basadas en arreglos y matrices de diferentes tipos para hacer un uso eficiente de la memoria.

3. Arreglos y matrices. Arreglos multidimensionales

representados en arreglos unidimensionales.

Matrices poco densas. Matrices cuadradas poco

densas. Matriz triangular. Matrices simétricas y

asimétricas.

Resolver ejercicios del libro de texto sobre el tema.

Programa Analítico

Vicerrectoría de Educación Superior

Revisión No. 1 21/01/2005 Formato para Programas Analíticos Pag. 2 de6

Semana 4 Semana 5

Conocer, comprender y dominar la programación recursiva.

4. Recursividad. (2 semanas) Concepto Identificación de problemas que

pueden resolverse con recursividad.

Funcionamiento del paso de parámetros.

Requisitos para la recursividad. Condición de salida. Uso de parámetros y su

incremento /decremento en la llamada al método.

Relación entre los parámetros y la condición de salida.

Sugerencias al programar utilizando algoritmos recursivos.

2 tareas sobre la recursividad, que incluyen ejemplos de aplicación de recursividad y resolución de algunos problemas utilizando la recursividad y generar los programas correspondientes y aplicarlos en la computadora.

Semana 6 Semana 7

Conocer, comprender y aplicar las estructuras basadas en filas.

5. Filas. (2 semanas) Funcionamiento básico y

estudio del ADT Fila Inserción. Eliminación. Recorridos. Fila con nodo de inicio. Fila con nodo de inicio / fin. Fila encadenada simple. Fila encadenada doble. Fila circular. Terminación de una lista. Aplicaciones.

Investigar ejemplos dónde se aplica el concepto de fila. Programar diferentes tipos de filas y probarlos en el laboratorio y en las tareas.

Semana 8 Semana 9

Conocer, comprender y aplicar las estructuras basadas en pilas. Ver algunas aplicaciones de la pilas.

6. Pilas. (2 semanas) Funcionamiento básico:

diferencias entre fila, pila y lista. Implementación de una pila

utilizando el ADT Pila. Uso: Notación Polaca. Sin manejo de paréntesis. Con manejo de paréntesis. Otras aplicaciones.

Aplicar el concepto de la pila para convertir una expresión en notación polaca (postorden). Codificar problemas que se resuelven utilizando pilas.

Semana 10

Conocer, comprender y aplicar las estructuras basadas en listas.

7. Listas. Diferencias entre filas y listas. Listas ordenadas simples. Listas ordenadas doblemente

encadenadas. Operación Agregar. Operación Quitar: concepto y

aplicaciones. Recorridos en anchura y

profundidad.

Comparar el concepto de lista con pila y fila. Programar diferentes ejemplos que utilizan listas con diferentes técnicas.

Semana 11 Semana 12

Conocer, comprender y aplicar las estructuras basadas en árboles.

8. Árboles. (3 semanas) Conceptos básicos: raíz, nivel,

subárbol, padre, hijo, hoja. Árboles binarios. Recorridos en inorden, preorden

y postorden. ABB.

o Búsquedas.

Investigar sobre los diferentes tipos de árboles y sus aplicaciones. Varias tareas sobre la creación, los recorridos y eliminación en los árboles binarios y su relación con la notación polaca.

Programa Analítico

Vicerrectoría de Educación Superior

Revisión No. 1 21/01/2005 Formato para Programas Analíticos Pag. 3 de6

Semana 13

o Ventajas y desventajas. Árboles de expresión. Árboles de prioridad (Heaps).

o Conceptos Generales. o Conversión a lista. o Inserción. o Eliminación

Tarea sobre la creación, agregación y eliminación de elementos en un AVL. Tarea sobre la creación, agregación y eliminación de elementos en un heap.

Semana 14 Semana 15

Conocer el concepto de grafo y estudiar las estructuras con las que puede almacenarse.

9. Grafos. (2 semanas) Clasificación de grafos:

Conexos y No-Conexos, Dirigidos y No Dirigidos, Ponderados y No Ponderados.

Matriz de Adyacencias. Lista de Adyacencias. Lista de arcos.

Tarea sobre los recorridos de los grafos en profundidad u en anchura.

Semana 16 Analizar las ventajas y desventajas de las estructuras estudiadas y comprender en qué casos se aplican las estructuras mencionadas.

10. Diseño de estructuras. 3.Para casos prácticos, diseñar

estructuras simples y compuestas para la resolución de problemas.

4.Crítica a estructuras existentes en base a eficiencia y rapidez.

Tarea de investigación sobre casos prácticos y evaluación de diferentes estructuras que se pueden usar en la solución de un problema y su codificación.

Método Pedagógico empleado : Exposición de todos los temas por parte del profesor. Apoyado por el libro de texto, presentaciones de diapositivas y programas de demostración. El aprentizaje es fortalecido con los ejercicios que realizan los alumnos en la computadora del salón de clases y el laboratorio. Recursos Didácticos Gran parte del procesamiento de la información será apoyada y direccionada por el profesor, usando de acuerdo a la necesidad los recursos como: Libros en la biblioteca, proyección en Power Point, e Internet WebCt. Los alumnos desarrollaran sus prácticas individualmente o en equipo y utilizaran el laboratorio para la implementación de los soluciones. Fechas de exámenes: Primer parcial: Viernes 12 de Febrero

Segundo Parcial: Viernes 19 de Marzo

Tercer Parcial: Viernes 23 de Abril

Final: Miércoles 19 de Mayo

Políticas del curso

Programa Analítico

Vicerrectoría de Educación Superior

Revisión No. 1 21/01/2005 Formato para Programas Analíticos Pag. 4 de6

* Todos las tareas/trabajos/proyectos deberán realizarse en forma individual a menos que el maestro especifique lo contrario. * No hay reposición en exámenes parciales. * El lenguaje de programación Java es responsabilidad del alumno. * El límite de faltas es de seis. Los retardos se consideran faltas. * El maestro tendrá un horario de asesoría donde podrán resolverse dudas sobre el material de clase. No se revisarán códigos de los proyectos. * La copia en exámenes, proyectos o tareas causa la calificación de cero para las partes involucradas. * El trabajar conjuntamente en un trabajo individual significa que la calificación de dicho trabajo se divide entre los integrantes que hayan trabajado juntos. * Si una persona, por error, deja su proyecto grabado en máquinas o en medios electrónicos a los que sus compañeros tengan acceso y llegara a haber una copia, ambas partes se consideran responsables. Cada alumno es responsable de cuidar su trabajo. * Para trabajos/proyectos/tareas en equipo, todos los integrantes del equipo son responsables de todo el trabajo/proyecto/tarea. El maestro puede cuestionar al alumno de cualquier código que dicho alumno entregue. * Todas las tareas deberán entregarse por escrito y con portada impresa, a menos de que el maestro especifique lo contrario. Tareas no impresas no se recibirán. * Las fechas de entrega del proyecto son las especificadas durante la hora de clase. Entregas posteriores se penalizarán con 10 puntos diario. * Al faltar en fecha de examen rápido o laboratorio, el alumno obtendrá automáticamente un cero. Dicho examen no se repondrá a menos de que el maestro considere lo contrario. * El maestro tomará la lista de asistencia en cualquier momento de la clase. * No se permite ingresar al salón de clase después de la hora de inicio. * No se permite salir del salón de clase, el alumno que sale no puede regresar y se le considera una falta. * No se permite utilizar teléfonos celulares en el salón de clase, el timbre de un celular causa la expulsión del alumno del salón con una falta de asistencia. * No se permite consumir ningún tipo de alimentos o bebidas en el salón. Políticas de Evaluación del curso: NOTA: Deberán estar alineadas a las Políticas y Reglamentos de Evaluación de alumno de acuerdo al

nivel correspondiente, Profesional o Posgrado

Calificación Parcial Calificación Final Profesor Investigaciones

y/o tareas Prácticas y

exámenes rápidos Examen Parcial

Total (100%)

3 Parciales

Trabajo Final

Examen Final

Total (100%)

Ghassan Kahwati Jamal 30% 15% 55% 100% 50% 15% 35% 100%

Datos Generales del(de los) Profesor(es):

Nombre Teléfono Ubicación Correo E Hrs. de Asesoría

Ghassan Kahwati Jamal 81241431 Edificio 6, Piso 3 , 6307 [email protected] [email protected]

Martes y jueves de 16:00 a 18:00

Programa Analítico

Vicerrectoría de Educación Superior

Revisión No. 1 21/01/2005 Formato para Programas Analíticos Pag. 5 de6

Bibliografía básica y complementaria : Libro de texto (se recomienda fuertemente): Luis Joyanes Aguilar, Ignacio Zahonero Martínez, ESTRUCTURAS DE DATOS EN JAVA. McGraw Hill, 2008 Osvaldo Cairó, Silvia Guardati Estructuras de Datos, tercera edición McGraw Hill, 2006 Budd, Timothy Classic Data Structures in Java Addison-Wesley, 2001 Martínez, Román y Quiroga, Elda Estructura de Datos Thompson Learning, 2002 Jaime, Alberto Estructura de Datos y Algoritmos Prentice-Hall, 2002 Lafore, Robert Data Structures and Algorithms in Java, 2da edición SAMS, 2002 Hubbard, John Schaum's Outline of Data Structures with Java McGraw-Hill, 2000. Goodrich, Michael y Tamassia, Roberto Estructuras de Datos y Algoritmos en Java CECSA, 2da edición, 2002. Joyanes Luis y Zahonero Ignacio Estructuras de Datos, Algoritmos, abstracción y objetos McGraw-Hill, 2002. Drozdek, Adam Data structures and algorithms in Java Thomson Course Technology, c2005 Franch Gutiérrez, Xavier Estructuras de datos : especificación, diseño e implementación Alfaomega, c2002 Martínez, Román

Programa Analítico

Vicerrectoría de Educación Superior

Revisión No. 1 21/01/2005 Formato para Programas Analíticos Pag. 6 de6

Estructuras de datos : referencia práctica con orientación a objetos Thomson Learning, c2002 Lewis, John Estructuras de datos con Java : diseño de estructuras y algoritmos Pearson Educación, c2006 Weiss, Mark Allen Data structures and algorithm analysis in Java Peason Addison-Wesley, c2007 Drake, Peter Data structures and algorithms in Java Pearson/Prentice Hall, c2006 Goldman, Sally Ann A practical guide to data structures and algorithms using Jav Chapman & Hall/CRC, c2008

Firma de autorización