Programa

## PROGRAMA DE ESTUDIO POR COMPETENCIAS (ESTRUCTURAS DE DATOS)

I. IDENTIFICACIÓN DEL CURSO
II. PRESENTACIÓN
III. LINEAMIENTOS DE LA UNIDAD DE APRENDIZAJE
IV. PROPÓSITO DE LA UNIDAD DE APRENDIZAJE
V. COMPETENCIAS GENÉRICAS
VI. ÁMBITOS DE DESEMPEÑO PROFESIONAL
VII. ESCENARIOS DE APRENDIZAJE
VIII. ESTRUCTURA DE LA UNIDAD DE APRENDIZAJE
IX. DESARROLLO DE LA UNIDAD DE APRENDIZAJE
X. EVALUACIÓN Y ACREDITACIÓN
XI. REFERENCIAS
XII. MAPA CURRICULAR

### I. IDENTIFICACIÓN DEL CURSO

- ESPACIO EDUCATIVO: Facultad de Ingeniería
- LICENCIATURA: Ingeniería en Computación
- ÁREA DE DOCENCIA: Programación e Ingeniería de Software
- PROGRAMA ACTUALIZADO POR: Mtro. Eduardo Trujillo Flores Mtra. Mireya Salgado Gallegos
- PROGRAMA REVISADO POR: Integrantes de la Academia de Programación e Ingeniería de Software, Centro Universitario Valle de Chalco.
- FECHA DE ELABORACIÓN : Mayo de 2018
- FECHA DE REVISIÓN : Noviembre 2018
- CLAVE: L41054
- HORAS DE TEORÍA: 3
- HORAS DE PRÁCTICA: 2
- TOTAL DE HORAS CRÉDITOS: 5
- TIPO DE CURSO: Curso
- NÚCLEO DE FORMACIÓN: Sustantivo
- UNIDAD DE APRENDIZAJE ANTECEDENTE: Ninguna
- UNIDAD DE APRENDIZAJE CONSECUENTE: Organización de Archivos
- PROGRAMAS EDUCATIVOS O ESPACIOS ACADÉMICOS EN LOS QUE SE IMPARTE: Licenciatura en Ingeniería en Computación (Facultad. de Ingeniería, Centros Universitarios: Atlacomulco, Ecatepec, Texcoco, Valle de Chalco, Valle de México, Valle de Teotihuacán, Zumpango).
  Volver al Inicio

  ### II. PRESENTACIÓN

  El estudio de las estructuras de datos, sin duda es uno de los más importantes dentro de las carreras relacionadas con la computación, ya que el conocimiento eficiente de las estructuras de datos suele ser imprescindible en la formación de los alumnos debido a la trascendencia que un aprendizaje teórico-práctico de las mismas supondrá para su carrera.
  Una de las aplicaciones más interesantes y potentes de los apuntadores son las estructuras dinámicas de datos. Las estructuras básicas disponibles tienen una importante limitación: no pueden cambiar de tamaño durante la ejecución.
  En muchas ocasiones se necesitan estructuras que puedan cambiar de tamaño durante la ejecución del programa. Por supuesto, se pueden usar arreglos dinámicos, pero una vez creados, su tamaño también será fijo, y para hacer que crezcan o disminuyan de tamaño, deberán reconstruirse desde el principio.
  Las estructuras dinámicas permiten crear estructuras de datos que se adapten a las necesidades reales a las que suelen enfrentarse los programas.
  Pero no sólo eso, también permitirá crear estructuras de datos muy flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre los elementos que las componen.
  El estudio de las estructuras de datos se hará desde diversos puntos de vista: diseño de estructuras en respuesta a necesidades especificas, encapsulamiento de los tipos de datos usándolos en base a su especificación (propiedades funcionales) y no a su implementación y estudio de los principales tipos, tanto elementales como no elementales, dividiendo éstos últimos en estructuras lineales (listas, pilas, colas) y no lineales (árboles, grafos), analizándolos primero desde el punto de vista teórico pero sin perder de vista sus aplicaciones prácticas.
  Volver al Inicio

  ### III. LINEAMIENTOS DE LA UNIDAD DE APRENDIZAJE

  DEL DOCENTE
  • Cumplir en tiempo y contenido el programa de la unidad de aprendizaje
  • Establecer tolerancia para el inicio de clases
  • Proponer y respetar formas de evaluación
  • Generar en sus alumnos una visión integradora de la unidad de aprendizaje
  • Respetar número de horas teóricas y prácticas de la unidad de aprendizaje
  • Cada sesión deberá concluir con una serie de ejercicios de repaso que permitirán reafirmar los conocimientos del curso.
  • Preferentemente las fechas de exámenes y entrega del proyecto final deberán establecerse desde el principio
  DEL DISCENTE
  • Contar con el 80% de asistencia para presentar examen ordinario
  • Contar con el 60% de asistencia para presentar examen extraordinario
  • Contar con el 30% de asistencia para presentar examen a título de suficiencia
  • Utilizar un lenguaje estructurado para la elaboración de programas
  • Tener sentido de responsabilidad en los trabajos clase y extraclase
  • Entregar en tiempo y forma los trabajos clase y extraclase
  • Tener sentido de integración y participación dentro del salón de clases.
  • El alumno deberá entregar todas y cada una de las series de ejercicios
  Volver al Inicio

  ### IV. PROPÓSITO DE LA UNIDAD DE APRENDIZAJE

  Conocer, analizar y aplicar estructuras de datos estáticas y dinámicas mediante programas para la solución de problemas informáticos.
  Volver al Inicio

  ### V. COMPETENCIAS GENÉRICAS

  Desarrollar programas analizando y diseñando soluciones a problemas reales del entorno a través del uso de herramientas lógicas.
  Volver al Inicio

  ### VI. ÁMBITOS DE DESEMPEÑO PROFESIONAL

  Empresas públicas y privadas de los sectores industrial, educativo, comercial y de servicios.
  Volver al Inicio

  ### VII. ESCENARIOS DE APRENDIZAJE

  Aula y sala de cómputo.
  Volver al Inicio

  ### VIII. ESTRUCTURA DE LA UNIDAD DE APRENDIZAJE

  1. Desarrollar programas con el uso de variables dinámicas (apuntadores).
  2. Desarrollar programas que implementen las principales estructuras de datos lineales.
  3. Aplicar la estructura de datos árbol en el desarrollo de soluciones a problemas informáticos.
  4. Aplicar la estructura de datos grafo en el desarrollo de soluciones a problemas informáticos.
  Volver al Inicio

  ### IX. DESARROLLO DE LA UNIDAD DE APRENDIZAJE

  UNIDAD DE COMPETENCIA I
  Desarrollar programas con el uso de variables dinámicas (apuntadores).
- Estructuras de datos: Definición, Tipos.
- Abstracción: Definición. TAD.
- Variables Dinámicas: Apuntadores. Operaciones básicas.
  UNIDAD DE COMPETENCIA II
  Desarrollar programas que incorporen las principales estructuras de datos lineales.
- Pilas: Representación. Operaciones (Inserción, Eliminación, Pila Llena, Pila Vacía). Tratamiento de expresiones aritméticas (Notación Infija, Prefija, Postfija). Aplicaciones.
- Colas: Representación. Operaciones (Inserción, Eliminación, Cola Llena, Cola Vacía). Cola circular. Aplicaciones.
- Listas: Representación. Operaciones (Inserción, Eliminación, Recorrido, Búsqueda). Listas doblemente ligadas. Aplicaciones.
  Volver al Inicio

  ### X. EVALUACIÓN Y ACREDITACIÓN

  Ordinaria:
  La calificación ordinaria se obtiene como la suma del Trabajo semestral y el Proyecto final.
  Para tener derecho a presentar el Proyecto final se debe obtener un promedio mínimo de 6.0/10.0 en el trabajo semestral.
  Trabajo semestral:
- Programas producto y actividades clase y extra clase 30%
- Exámenes parciales escritos 20% = 50%
- Proyecto final 50%
  Se podrá exentar el Proyecto final siempre y cuando se tenga un mínimo de 80% de asistencias, se aprueben los exámenes parciales y el promedio del Trabajo semestral sea de al menos 8.0/10.0
  Extraordinaria y a Título de Suficiencia:
- Examen escrito 60%
- Proyecto 40%
  Volver al Inicio

  ### XI. REFERENCIAS

  BIBLIOGRAFÍA BÁSICA
- Cairó, Osvaldo y Guardati, Silvia. (2006). Estructuras de datos (3a. Edición). McGraw-Hill.
- Criado, Ma. Asunción. (2006). Programación en lenguajes estructurados. AlfaOmega Ra-Ma.
- Joyanes, Luis. (2008). Fundamentos de programación (4ª Edición). McGraw-Hill.
- López, Leobardo. (2004). Programación estructurada. Un enfoque algorítmico (2ª. Edición). AlfaOmega.
  BIBLIOGRAFÍA COMPLEMENTARIA
- Drozdeck, Adam. (2007). Estructuras de datos y algoritmos en Java (2ª Edición). Thomson.
- Joyanes, Luis. M. Fernández, L: Sánchez, I. Zahonero. (2005). Estructuras de datos en C. McGraw-Hill. Schaum.
- Koffman, Elliot y Wolfgang, Paul. (2008). Estructura de datos con C++. Objetos, abstracciones y diseño. McGraw-Hill.
- Nyhoff, Larry. (2006). TADs, Estructuras de datos y resolución de problemas con C++. Pearson - Prentice Hall.
  Volver al Inicio
  XII. MAPA CURRICULAR
  Volver al Inicio