Programa de ingenieria de sistemas asignatura: estructura de datos I



Descargar 33.25 Kb.
Fecha de conversión07.07.2017
Tamaño33.25 Kb.

Universidad del Cauca

Facultad de Ingeniería Electrónica y Telecomunicaciones





UNIVERSIDAD DEL CAUCA

FACULTAD DE INGENIERIA ELECTRÓNICA Y TELECOMUNICACIONES

PROGRAMA DE INGENIERIA DE SISTEMAS


ASIGNATURA: ESTRUCTURA DE DATOS I

CODIGO: SIS 301

MODALIDAD: PRESENCIAL TEÓRICA

INTENSIDAD: 4 HORAS TEÓRICAS / SEMANA.

PREREQUISITOS: PROGR ORIENTADA A OBJETOS, LAB DE PROGR ORIENTADA A OBJETOS

CO-REQUISITOS: LABORATORIO DE ESTRUCTURAS DE DATOS I

CREDITOS: 3

AREA: INGENIERIA APLICADA

DOCENTE: ING. ROBERTO CARLOS NARANJO

OFICINA: 444 – FIET

PÁGINA WEB: http://www.unicauca.edu.co/~rnaranjo

OBJETIVO GENERAL
Estudiar los conceptos de análisis y diseño de tipos abstractos de datos, haciendo especial énfasis en las estructuras de datos lineales como son las listas, pilas y colas. Además, estudiar los conceptos de la programación orientada a objetos y aplicarlos en un lenguaje altamente utilizado.
OBJETIVOS ESPECIFICOS
El estudiante al final del curso estará en capacidad de:


  1. Considerar la complejidad de una solución algorítmica de un problema como un factor de relevancia en la elección de la solución al problema planteado.

  2. Utilizar los métodos más apropiados de ordenamiento y búsqueda de información.

  3. Entender, diseñar e implementar tipos abstractos de datos.

  4. Aplicar los tipos abstractos de datos en la solución de problemas que hacen uso del computador.

  5. Aplicar los conceptos de programación orientada a objetos en la implementación de aplicaciones que hagan uso del computador.

  6. Definir los alcances de una herramienta de programación orientada a objetos.


METODOLOGIA
La asignatura se desarrollará mediante clases magistrales orientadas por el profesor. Los estudiantes realizan las prácticas fuera de clase utilizando diferentes herramientas de software donde apliquen los conceptos teóricos vistos. Así, mismo los alumnos deberán profundizar sus conocimientos con temas complementarios desarrollando talleres prácticos y trabajos de investigación.


  1. COMPLEJIDAD COMPUTACIONAL

    1. Concepto de Complejidad.

    2. Preliminares Matemáticos

      1. Sumatorias, series y logaritmos.

      2. Funciones Piso/Techo.

      3. Inducción Matemática.

    3. Notación Asintótica

      1. Crecimiento Asintótico.

      2. Notación O.

      3. Notación Ω.

      4. Notación θ.

    4. Relaciones Recurrencia

      1. Recursividad.

      2. Solución de recurrencias por sustitución y árbol de recurrencias.

      3. Solución de recurrencias por método Maestro.

      4. Ecuación característica.


2.   ALGORITMOS DE BÚSQUEDA EN VECTORES

2.1. Introducción.

2.2. Búsqueda lineal.

2.3. Búsqueda binaria.

2.4. Búsqueda de Hash.
3.   ALGORITMOS DE ORDENAMIENTO EN VECTORES

3.1. Burbuja.

3.2. Inserción.

3.3. Inserción binaria.

3.4. Selección.

3.5. Pares y nones.

3.6. Shell.

3.7. Quicksort.

3.8. Intercalación de vectores.

3.9. Mergesort.


4.    TADS

4.1. Introducción.

4.2. Definición y concepto.

4.3. Representación de un objeto.

4.4. Invariante de un TAD.

4.5. Especificación de un TAD.

4.6. Clasificación de las operaciones.

4.7. Manejo de error.

4.8. Metodología de diseño de TAD.
5.    ESTRUCTURAS DINÁMICAS DE DATOS -EDD

5.1. Comparación entre estructuras de datos lineales (estáticas) – dinámicas.

5.2. Definiciones y conceptos de las EDD.

5.3. Listas enlazadas.

5.3.1.  TAD de Listas enlazadas.

5.4. Listas doblemente enlazadas.

5.4.1.  TAD de listas doblemente enlazadas.

5.5. Listas circulares.

5.5.1.  TAD de listas circulares.

5.6. Otras implementaciones de Listas.

5.7. Pilas

5.7.1.  Definiciones y conceptos.

5.7.2.  TAD de pila.

5.7.3.  Evaluación de expresiones.

5.7.3.1. Expresiones infijas a postfijas.

5.7.3.2. Expresiones infijas a prefijas.

5.8. Colas.

5.8.1.  Definiciones y conceptos.

5.8.2.  TAD de colas.

5.8.3.  Colas de prioridad.

5.8.4.  Doble colas.

6.    ARCHIVOS

6.1. Conceptos.

6.2. Estructuras.

6.3. Tipos de archivos.

6.3.1. Secuenciales.

6.3.2. Directos.

6.3.3. Indexados.

6.4. Operaciones sobre archivos.

6.5. Hashing.

EVALUACIONES
Se realizarán tres (3) evaluaciones de la siguiente forma:


NUMERO

%

COMPONENTES

Primer Parcial

35%

Parcial 70%

Talleres, Quices y Laboratorios 30%



Segundo Parcial

35%

Parcial 70%

Talleres, Quices y Laboratorios 30%



Tercer Parcial

30%

Parcial 70%

Talleres, Quices y Laboratorios 30%


Los proyectos, talleres y laboratorios en grupo serán evaluados individualmente y deben estar debidamente documentados. Todo Proyecto NO sustentado pierde validez. Las sustentaciones serán programadas con anterioridad definiendo fecha y hora para cada alumno.



BIBLIOGRAFÍA


  • Gregory L. Heileman. Estructuras de datos, Algoritmos y Programación orientada a objetos. McGraw -Hill.

  • Luis Joyanes Aguilar, Ignacio Zahonero. Algoritmos y Estructuras de Datos, una perspectiva en C. McGraw -Hill.

  • J. Villalobos. TADS: Un enfoque desde tipos abstractos de datos. Ediciones Uniandes.

  • Luis Joyanes Aguilar. Fundamentos de Programación. McGraw - Hill.

  • Hebert Schildt. Turbo C/C++. McGraw -Hill.

  • Yedidyah Langsam, Moshe J. Augenstein y Aaron M. Estructura de datos con C y C++. Tanenbaum. Prentice Hall, Segunda edición, 1997.

  • Grassmann, W. y Tremblay, J.P. Matemática discreta y lógica. Una perspectiva desde la Ciencia de la Computación. Prentice Hall, Madrid, 1996 ISBN:84-89660-04-2

  • Osvaldo Cairo. Estructuras de Datos. Mc Graw – Hill.

  • Aaron Tanenbaum. Estructura de datos en C. Prentice Hall.

  • M.Folk. Estructuras de Archivos. Addison Wesley.



_______________________________


/
2005-09-25 - Programa de Ingeniería de Sistemas





La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal