Skip to content
Programación de Computadoras

Estructura de Datos


Clase
Diego Santimateo
La inscripción para esta clase está actualmente cerrada.

Acerca de

Estructuras de datos con el lenguaje de programación C.

Este curso trata sobre las estructuras de datos, sus características, estrategias para construirlas y sus aplicaciones.

La solución de problemas utilizando un lenguaje de programación está fuertemente ligada con el algoritmo que se utiliza y con la o las estructuras de datos afectadas por el algoritmo. En consecuencia, es importante conocer las estructuras de datos que posee el lenguaje que se va a utilizar y su adecuación a la solución del problema que se presenta, así como también su incidencia en el algoritmo que se piensa aplicar.

Se espera que el estudiante alcance destrezas que le permitan crear modelos de solución de problemas, basados en estructuras de datos del lenguaje o que el lenguaje permita construir. Dado que no se concibe programación de computadoras sin el uso adecuado de estructuras de datos, se trata de una asignatura esencial para la formación de un informático, orientada a fortalecer competencias relativas a la creatividad, solución de problemas reales y dominio de la programación de computadoras.

Tenemos a su disposición referencias electrónicas (marcadores sociales) que se actualizan períodicamente y que le pueden ayudar en su aprendizaje.


COMPETENCIAS ESPECÍFICAS

  • Utiliza adecuadamente algoritmos para manejar los datos de las estructuras de datos y generar información.
  • Compara estructuras de datos y las operaciones que soportan para obtener soluciones óptimas a los problemas planteados.
  • Identifica las estructuras de datos adecuadas para solucionar eficientemente los problemas de funcionamiento de los sistemas en empresas o instituciones por medio de metodologías de análisis de sistemas.
  • Organiza y planifica los componentes de un programa modular, el rol de las estructuras de datos, la documentación de los usuarios y las pruebas de los programas.
  • Explica el funcionamiento detallado de los algoritmos sobre las estructuras de datos, la eficiencia y exactitud de la información generada.
  • Respeta las opiniones de los integrantes de los grupos de trabajo, además, colabora y coopera en la solución de los problemas planteados.

CONTENIDOS PROPUESTOS

 

Módulo No.1: Estructuras de Datos.

  • Concepto de estructura de datos.
  • Tipos de datos.
  • Clasificación de estructura de datos.
  • Estructuras de datos lineales
  • Algoritmos de ordenación

    §  Burbuja

    §  Selección

    §  Inserción directa

    §  Ordenación rápida(quicksort)
  • Algoritmos de búsqueda

    §  Hash

    §  Binaria

    §  Secuencial

Módulo No.2: Registros y Archivos.

  • Concepto de Registro o estructura.
    §  Representación según el lenguaje de programación

    §  Operaciones con registros o estructuras
  • Concepto de Archivo.

    §  Concepto

    §  Modos de apertura

    §  Manejo de archivo.

    §  Cierre de archivo

    §  Aplicaciones y/o usos

Módulo No.3: Pilas y Colas.

  • Concepto y utilidad.

  • Características y operaciones.

  • Alternativas de implementación según el lenguaje de programación

  • Aplicaciones o usos.

EVALUACIÓN PROPUESTA

El proceso de evaluación debe contribuir al logro de la comprensión y análisis de los algoritmos y de las estructuras de datos, tomando en cuenta su incidencia en la efectividad, eficiencia y exactitud de la solución esperada.

Las estrategias de aprendizaje deben garantizar el logro de experiencias en el uso de algoritmos con estructuras de datos estructuradas o complejas, así como de la validación de los resultados de programas escritos en lenguajes como C, Java, Scheme, Ruby, C# o Python.

 La calificación se realiza en atención a lo establecido en  los artículos No.280, 281 y 282, del Estatuto Universitario.

 

ActividadPorcentaje
Cuadro de Ponderación
Pruebas Parciales 35
Prácticas / Talleres / laboratorios / investigaciones / presentaciones/ tareas 30
Prueba Semestral 35

 



REFERENCIAS BIBLIOGRÁFICAS


  1. BARNETT, Granville., DEL TONGO, Luca. Data Structures and Algorithms: Annotated Reference with Examples. Disponible en:    http://dotnetslackers.com/Community/files/folders/data-structures-and-algorithms/entry30283.aspx 1ª Edición Internet. 2008.
  2. STEVEN F. Lott.  Building Skills in Python: A Programmer's Introduction to Python. Disponible en: http://www.linuxtopia.org/online_books/programming_books/python_programming/index.html Edición Internet. Abril 2010.
  3. KUHLMAN, Dave. A Python Book: Beginning Python, Advanced Python, and Python Exercises. Disponible en: http://www.rexx.com/~dkuhlman/python_book_01.html. Edición Internet Enero 2011.
  4. MARZAL, Andrés, GRACIA, Isabel. Introducción a la Programación con Python. Disponible en: http://marmota.act.uji.es/mtp/pdf/python.pdf Edición Internet. 2008.
  5. LUTZ, Mark. Learning Python. 3ª Edición. Editorial O'Reilly Media. Octubre 2007.
  6. SCHILDT, Herbert. Manual de Referencia de C. McGraw-Hill. 2001.
  7. CAIRÓ, Osvaldo. GUARDATI, Silvia. Estructuras de Datos. 1ª Edición. McGraw-Hill México. 1993.
  8. JOYANES AGUILAR, Luis. ZAHONERO, Ignacio. Estructura de datos. Algoritmos, abstracción y objetos. McGraw-Hill España. 1998.
  9. JOYANES AGUILAR, Luis. ZAHONERO, Ignacio. Estructura de datos en Java. McGraw-Hill España.2008.
  10. BUDD, Timothy. Classic Data Structure in Java. Addison-Wesley. USA. 2001.

 

De atrás hacia delante