Ed - I - 8362 - Programa Analítico de Asignatura
Ed - I - 8362 - Programa Analítico de Asignatura
Ed - I - 8362 - Programa Analítico de Asignatura
1. IDENTIFICACIÓN DE LA ASIGNATURA.
2. DESCRIPCIÓN DE LA ASIGNATURA.
El curso de Estructura de Datos I (8362) está dividido en tres (2) módulos, agrupando cinco capítulos que orientan el procesamiento
de las estructuras de datos, partiendo de lo más simple a lo más complejo.
Módulo I: Estructuras de datos básicas y lineales. Se caracterizan las estructuras de datos primitivas,
simples y lineales utilizadas en la solución de problemas de programación y los algoritmos
funcionales utilizados en su implementación mediante lenguajes de programación.
Módulo II: Estructuras dinámicas de datos. Se internaliza el concepto de memoria dinámica y cómo las listas
enlazadas utilizan esta característica en su implementación y manejo eficiente de los recursos. Se
estudia, además, el concepto de recursividad aplicado a estructuras de datos lineales.
Este curso otorga al participante cuatro (4) créditos, y tiene una asignación de tres (3) horas de teoría y dos (2) horas de laboratorio
semanales. Se imparte en el primer semestre del segundo año de la carrera de Licenciatura en Ingeniería de Sistemas y
Computación. Tiene como pre-requisito que los socios y socias de aprendizaje hayan aprobado el curso de Herramientas de
Programación Aplicada I, que se ofrece durante el segundo semestre de esta carrera, y es pre-requisito para el curso de Estructura
de Datos II y para el curso de Inteligencia Artificial, ubicados en el segundo semestre de segundo año y primer semestre de tercer
año, respectivamente.
3. OBJETIVOS:
Generales:
1. Utilizar las estructuras de datos que resulten más adecuadas en la solución de problemas de programación,
aplicando los algoritmos apropiados para su procesamiento eficiente.
2. Identificar las estructuras de datos básicas y lineales utilizadas en la resolución de problemas de programación
y los algoritmos para su adecuada implementación mediante un lenguaje de programación.
3. Internalizar el concepto de programación dinámica y el procesamiento de las estructuras de datos que la
soportan, como las listas, árboles y grafos, los métodos o procedimientos para su implementación y la solución
de problemas afines.
Específicos
1. Distinguir las estructuras de datos primitivas y simples, caracterizándolas de acuerdo con su implementación en
al menos dos lenguajes de programación.
2. Construir programas con base en algoritmos de solución de problemas de programación, utilizando las
estructuras de datos primitivas y simples, que ejecuten de manera funcional.
3. Distinguir las estructuras de datos dinámicas y las estáticas, caracterizándolas de acuerdo con su
implementación y manejo de la memoria.
4. Construir programas eficientes que implementen los procedimientos para el manejo de las estructuras de datos
lineales estáticas y dinámicas (creación y borrado de la estructura; búsqueda, inserción, eliminación y
modificación de elementos específicos dentro de la estructura) utilizando lenguajes de programación conocidos.
5. Construir programas con base en algoritmos recursivos para la solución de problemas de programación
selectos, que ejecuten de manera funcional.
4. ESTRUCTURA PROGRAMÁTICA
Definir el concepto de II. ESTRUCTURAS DE DATOS Exposición Material didáctico 20 horas Evaluación Formativa:
estructura de datos LINEALES dialogada Diapositivas (Cinco horas por – Práctica en el aula
tipo pila. 2.1 Introducción Técnica de la Tablero blanco semana; cuatro de las estructuras de
2.2 Pilas demostración Marcadores semanas) datos lineales
Resolver problemas 2.2.1 Operaciones sobre pilas Prácticas en el Borrador
que utilicen los 2.2.2 Implementación de pilas aula Proyector Evaluación Sumativa:
algoritmos para el 2.2.3 Ejemplos Lluvia de ideas multimedios – Tareas
manejo de pilas.. 2.3 Colas Estrategia SQA Equipos – Laboratorios
2.3.1 Operaciones sobre colas Técnica del informáticos – Proyectos
Definir el concepto de 2.3.2 Implementación de colas interrogatorio Herramientas – Examen parcial
estructura de datos 2.3.3 Ejemplos Resolución informáticas.
tipo cola. estructurada de
problemas
Resolver problemas Orientación y
que utilicen los retroalimentación
algoritmos para el
manejo de colas.
OBJETIVO GENERAL DE LA ASIGNATURA / CURSO:
Utilizar las estructuras de datos que resulten más adecuadas en la solución de problemas de programación, aplicando los algoritmos apropiados para su
procesamiento eficiente.
TITULO DEL MÓDULO / UNIDAD: OBJETIVOS DEL MÓDULO / UNIDAD:
1. Internalizar el concepto de programación dinámica y el procesamiento de las estructuras de
MÓDULO II. ESTRUCTURAS DINÁMICAS DE DATOS datos que la soportan, como las listas, árboles y grafos, los métodos o procedimientos para
su implementación y la solución de problemas afines.
TITULO DE LA UNIDAD: OBJETIVOS DE LA UNIDAD:
1. Construir programas eficientes que implementen procedimientos recursivos para el manejo
CONCEPTO DE RECURSIVIDAD
de las estructuras lineales que ejecuten de manera funcional.
RESULTADOS DE
CONTENIDOS ESTRATEGIAS RECURSOS TIEMPO EVALUACIÒN
APRENDIZAJES
Definir el concepto de III. CONCEPTO DE RECURSIVIDAD Exposición Material didáctico 10 horas Evaluación Formativa:
recursividad desde el 4.1 Recursividad dialogada Diapositivas (Cinco horas por – Práctica de las
punto de vista de la 4.1.1 Introducción Técnica de la Tablero blanco semana; dos estructuras de datos
programación. 4.1.2 Programación recursiva demostración Marcadores semanas) dinámicas
Aplicar 4.1.3 Procedimiento recursivo Prácticas en el Borrador
procedimientos 4.1.4 Ejemplos aula Proyector Evaluación Sumativa:
recursivos en la Prácticas en el multimedios – Tareas
solución de problemas laboratorio Equipos – Laboratorios
de programación que Orientación y informáticos – Proyectos
utilicen estructuras retroalimentación Herramientas – Investigación
dinámicas de datos.. Lluvia de ideas informáticas. – Examen parcial
Estrategia SQA
Resolución
estructurada de
problemas
Contrastar el concepto IV. ESTRUCTURAS DE DATOS Exposición Material didáctico 20 horas Evaluación Formativa:
de estructura DINÁMICAS LINEALES dialogada Diapositivas (Cinco horas por – Práctica del
dinámica versus las 3.1 Variables punteros Técnica de la Tablero blanco semana; cuatro comportamiento de
estructuras estáticas 3.1.1 Asignación dinámica de demostración Marcadores semanas) las estructuras
memoria Prácticas en el Borrador dinámicas y el
Describir cómo 3.1.2 Utilización de variables aula Proyector manejo dinámico de
funciona la asignación puntero Prácticas en el multimedios la memoria
dinámica de memoria 3.1.3 Ejemplos laboratorio Equipos Evaluación Sumativa:
3.2 Listas enlazadas Orientación y informáticos – Tareas
Definir el concepto de 3.2.1 Introducción retroalimentación Herramientas – Laboratorios
lista enlazada. 3.2.2 Operaciones básicas Resolución informáticas. – Proyectos
3.2.3 Implementación estructurada de – Examen parcial
Explicar las variantes 3.2.4 Ejemplos problemas
de una lista enlazada, 3.3 Variantes de las listas enlazadas Lluvia de ideas
enumerando los 3.3.1 Listas circulares Estrategia SQA
componentes 3.3.2 Listas circulares con nodo
diferenciadores de cabecera
cada una. 1.3.3 Listas doblemente
enlazadas
1.3.4 Algoritmos y aplicaciones
5. CRITERIOS Y PORCENTAJES DE EVALUACIÓN
6. MÉTODO DE EVALUACIÓN
En el presente apartado se procede a exponer de manera más detallada los contenidos del programa sintético, la
bibliografía utilizada en la preparación de cada tema y que el alumno deberá consultar y utilizar para la ampliación de los
contenidos y/o la realización de trabajos.
TÉCNICA DIDÁCTICA:
Sesiones teóricas/expositivas/magistrales de carácter presencial para la presentación de los contenidos
teóricos de la asignatura y fundamentos básicos para el desarrollo adecuado del resto de actividades formativas.
Cubre las competencias específicas de conocimiento.
Sesiones Prácticas, organizadas en distintos grupos de trabajo con un número adecuado de alumnos para poder
desarrollar y aplicar a situaciones concretas los fundamentos y conceptos básicos presentados en las sesiones
teóricas. Cubre las competencias específicas de habilidad. Las sesiones prácticas se desarrollarán en la forma de:
– Discusión y resolución de casos prácticos.
– Presentación y argumentación de trabajos de investigación.
– Desarrollo de talleres y trabajos de campo individuales y grupales.
Sesiones de tutorización y seguimiento personalizado del alumno que permita su orientación en el
desarrollo de la asignatura y en la preparación de los trabajos individuales que fueron solicitados. Cubre todas las
competencias. Las sesiones de tutorización se desarrollarán de la siguiente forma:
– Tutorías de clases teóricas en aula.
– Tutorías de clases prácticas.
– Trabajos académicos dirigidos.
Trabajo del alumno relacionado con las sesiones teóricas/prácticas/tutorización de carácter no presencial.
Se evalúa con el desarrollo del portafolio. Cubre todas las competencias Este trabajo se desarrollará en la forma
de:
– Lectura de documentación/material de la asignatura.
– Búsqueda y lectura de documentación complementaria.
– Acceso y consulta a fuentes que recopilen información del curso.
– Realización de trabajos individuales y en grupo.
– Resolución de laboratorios y proyectos.
– Trabajo del alumno relacionado con la preparación y realización del examen final de la asignatura.
A continuación, desarrollaremos las técnicas docentes utilizadas en cada actividad, seleccionadas de acuerdo con el
diagnóstico previo de la situación, perfil de los alumnos, recursos disponibles y el número de estudiantes quienes
interactuarán en cada una de estas actividades.
PRESENTACIÓN DE LA ASIGNATURA:
La primera clase se destinará a la presentación de la asignatura, y se entregará a los alumnos, el programa analítico del
curso con su respectiva programación semestral.
Para los casos prácticos, talleres y trabajos de campo, se proporcionará el enunciado y la rúbrica de evaluación con el fin
de que los alumnos procedan a resolverlos. Además, para la realización del trabajo individual se les entregarán a los
estudiantes, los ejercicios o enunciados correspondientes, con sus respectivas fuentes de consulta y el procedimiento
que deben seguir para la resolución y las rúbricas de evaluación y presentación.
Asimismo, se les comentará el sistema de evaluación y la estructura organizativa de las clases presenciales, las cuales
requieren que el estudiante posea el conocimiento previo.
CLASES TEÓRICAS:
El método docente empleado en las clases teóricas se fundamentará en la técnica expositiva cuya finalidad es facilitar la
información a los alumnos, promover la comprensión de conocimientos y estimular su motivación. La aplicación de esta
técnica viene determinada por el número de alumnos que asistirán a ellas, aproximadamente 20 por grupo. Se
corresponderán con sesiones explicativas basadas en esquemas y resúmenes que permitan reducir el tiempo de
exposición.
Asimismo, con el fin de generar un mayor dinamismo, en determinadas sesiones se introducirán (a) debates con la
finalidad de que el alumno desarrolle aspectos meta cognitivos como la reflexión o el intercambio de puntos de vista y
conocimientos; (b) la realización de evaluaciones formativas que consistirán en responder preguntas sobre los
indicadores básicos del contenido y las competencias; o (c) en los minutos finales de las clase, se aplicarán herramientas
orientadas a evaluar el nivel de atención del alumno como El punto más confuso, Resumen en 12 palabras y el
parafraseo dirigido, donde el estudiante debe destacar los puntos principales que han sido tratados en un minuto de
tiempo, una frase o un párrafo.
Estos métodos y técnicas permitirán corregir las debilidades asignadas a las clases teóricas como son: la pasividad y
falta de participación del estudiante; la reflexión sobre el aprendizaje; el diferente ritmo docente/estudiante; el desinterés
del alumnado por la búsqueda de información; y la ausencia de responsabilidad del estudiante sobre su propio proceso
de formación.
CLASES PRÁCTICAS:
Permitirán guiar al alumno en la aplicación de los conocimientos adquiridos, lo que generará en el desarrollo de las
competencias relacionadas con su futura actividad profesional. En estas clases, los participantes podrán resolver las
dudas que les hayan surgido en el proceso de aprendizaje. Para ello, la mecánica empleada se fundamentará en la
ejecución de laboratorios y proyectos, a partir de las propuestas del docente, que permitan a los estudiantes aplicar los
conceptos teóricos en la práctica.
Esta estructuración facilitará, desde el punto de vista del estudiante, adquirir los conocimientos y destrezas para el
manejo adecuado de las diferentes estructuras de datos, así como determinar la estructura más apropiada para plantear
la solución de un problema; desde el punto de vista del profesorado, comprobar si los estudiantes han comprendido los
conceptos básicos y , en caso contrario, profundizar en aquellas cuestiones que demanden mayores explicaciones.
TUTORÍAS GRUPALES:
Como consecuencia del número de alumnos en nuestra especialidad, las tutorías se han concebido de carácter grupal,
entre 2 y 4 estudiantes. Estas tutorías están destinadas a orientar y evaluar el trabajo individual de los alumnos
relacionados con determinados conocimientos básicos de la comunicación.
Basados en la metodología adoptada, que fomenta el aprendizaje autónomo, el alumno debe resolver problemas
asociados a situaciones reales que le permitirán adquirir distintas destrezas; además, habilidades relacionadas con la
resolución creativa de problemas no estructurados en situaciones desconocidas. Asimismo, le proporciona medios para
desarrollar determinados conocimientos y habilidades sobre la complejidad del ámbito profesional lo que, posteriormente,
le facilitará el acceso al mundo laboral.
En las sesiones de laboratorios, se hará uso de lenguajes de programación como: C, C++ y Java, para implementar
los algoritmos estudiados en clases y plantear soluciones a problemas selectos propuestos por la docente.
11.REFERENCIAS BIBLIOGRÁFICAS
Joyanes Aguilar, Luis y Zahonero Martínez (1998). Estructura de datos. Algoritmos, abstracción y objetos (1ra ed.).
Madrid, España: McGraw-Hill Interamericana de España, S.A.
______________ (2000). Programación en algoritmos, estructuras de datos y objetos (1ra ed.). Madrid, España:
McGraw-Hill Interamericana de España, S.A.
Koffman, Elliot B. y Wolfgang, Paul A. T. (2008). Estructura de datos con C++. Objetos, abstracciones y diseño (1ra ed.).
Madrid, España: McGraw-Hill Interamericana Editores, S.A. de C. V.
Langsam, Yedidyah et al (1997). Estructura de datos con C y C++ (2a ed.). México: Prentice Hall.
Lipschutz, Seymour (1994). Estructura de Datos (2a reimpresión.). México: McGraw-Hill Interamericana de México, S.A.
Martí Oliet, Narciso et al (2004). Estructuras de datos y métodos algorítmicos. Ejercicios resueltos. España: Pearson-
Prentice Hall.
Nyhoff, Larry R. (2005). TADs, Estructura de datos y resolución de problemas con C++. España: Pearson-Prentice Hall.
Staugaard, Andrew C., Jr (1998). Técnicas estructuradas y orientadas a objetos. Una introducción utilizando C++ (2ª
ed.). México: Prentice-Hall Interamericana, S.A.