SÍLABO
FACULTAD DE INGENIERÍA
SEPTIEMBRE 2021-FEBRERO 2022
NOMBRE DE LA ASIGNATURA CÓDIGO: 17952
PROGRAMACIÓN II: ESTRUCTURA DE DATOS Y ANÁLISIS DE ALGORITMOS - GRUPO: 1
CARRERA COMPUTACION REDISEÑO
CICLO O SEMESTRE TERCER NIVEL EJE DE FORMACIÓN BÁSICAS, PRAXIS PROFESIONAL
CRÉDITOS DE LA ASIGNATURA 4 MODALIDAD: PRESENCIAL
CARGA HORARIA
COMPONENTES DEL APRENDIZAJE Horas / Semana Horas / Periodo Académico
APRENDIZAJE EN CONTACTO CON EL DOCENTE (ACD) 4.0 64.0
APRENDIZAJE PRÁCTICO EXPERIMENTAL - ASIGNATURA (APE/A) 2.0 32.0
APRENDIZAJE AUTÓNOMO (AA) 6.0 96.0
Total Horas: 12.0 192.0
PROFESOR(ES) RESPONSABLE(S):
AVILA ORDOÑEZ ELINA MARIA - (E.A.) ( [Link]@[Link] ) PRINCIPAL
DESCRIPCIÓN DE LA ASIGNATURA:
Resumen descriptivo en torno al propósito, la estrategia metodológica y el contenido fundamental de la asignatura.
Programación 2 es una materia que explora las estructuras de datos como herramientas de desarrollo de software eficiente. Los estudiantes podrán
construir tipos de datos más complejos que facilitarán el diseño y la implementación de aplicativos. Además se estudian estrategias de diseño,
algoritmos de ordenamiento eficientes y se establece la necesidad de producir software eficiente para lo que se presentan los conceptos
fundamentales de la complejidad computacional. La materia emplea el lenguaje de programación C.
REQUISITOS DE LA ASIGNATURA
Esta asignatura no tiene co-requisitos
PRE-REQUISITOS
Asignatura Código
PROGRAMACIÓN I: ALGORITMOS, DATOS Y
17936
ESTRUCTURAS
OBJETIVO(S) DE LA ASIGNATURA:
Objetivos general y específicos de la asignatura en relación al Perfil de salida de la carrera.
Objetivo general: Adquirir conocimientos sobre estructuras de datos, algoritmos de ordenamiento y análisis de algoritmos; su concepto y utilidad para
la resolución de problemas. Aplicar estos conocimientos en el análisis, diseño e implementación de software.
Objetivos especificos:
1. Analizar, diseñar e implementar software empleando estructuras de datos estáticas y dinámicas
2. Conocer y emplear métodos de ordenamiento de datos eficientes
3. Desarrollar destrezas en herramientas de software para el desarrollo de aplicaciones
1
4. Aplicar estrategias de diseño para los algoritmos.
LOGRO DE LOS RESULTADOS DE APRENDIZAJE, INDICADOR(ES) Y ESTRATEGIA(S) DE EVALUACIÓN
Resultados o Logros de Aprendizaje (RdA's) de la Unidad de Organización Curricular (UOC) correspondiente, Indicadores y Estrategias de Evaluación de la
Asignatura, tomando como referencia el Perfil de salida (PdS) y la Organización Curricular (OC) del Proyecto de Carrera (PdC).
RESULTADOS O LOGROS DE
INDICADORES ESTRATEGIAS DE EVALUACIÓN
APRENDIZAJE
RdA1. Conoce los conceptos relacionados al • Diferencia los tipos de memoria • Crea variables en distintos lugares de la
manejo estático y dinámico de la memoria para memoria
el desarrollo de software eficiente. • Conoce las ventajas y desventajas de cada
tipo de memoria • Asigna, usa y libera los espacios de memoria
RdA2. Emplea las herramientas del lenguaje de • Conoce el tipo de dato Puntero y lo aplica • Crea estructuras dinámicas
programación para el uso de memoria en la para el manejo tanto de la pila como del heap
construcción de estructuras estáticas y de la memoria • Introduce, manipula, presenta y elimina datos
dinámicas. en una estructura de datos
• Declara variables y las aloja en la pila o en el
heap de la memoria según más convenga para
el ahorro de recursos y la eficiencia del
programa.
RdA3. Emplea los conceptos relacionados a • Conoce el elemento básico Nodo y su utilidad • Modela una situación empleando pilas, colas,
estructuras de datos dinámicas: listas ligadas, para crear estructuras más complejas. listas
colas y pilas para resolver un problema por
medio de un software. • Resuelve problemas usando las estructuras
• Conoce los conceptos sobre lista ligada y sus de datos
variantes y, reconoce su utilidad para la
resolución de situaciones
• Conoce los conceptos sobre pilas y colas y,
reconoce su utilidad para la resolución de
situaciones.
• Diferencia una pila, una cola y una lista ligada.
RdA4. Identifica las diferencias entre una • Diferencia estructuras de datos estáticas y • Manipula una variable o estructura
estructura de dato dinámica y una estática dinámicas dependiendo de si se trata de una estática o
durante la implementación y la ejecución de un una dinámica
programa. • Decide qué tipo de estructura se debe
emplear para mejorar el desempeño del • Decide qué tipo de variable (dinámica o
software que está elaborando. estática)es apropiada para el contexto
RdA5. Conoce y aplica estrategias de diseño de • El estudiante conoce los conceptos de • Emplea iteración o recursividad cuando más
software a la hora de diseñar e implementar recursión, divide y vencerás, algoritmos ávidos, convenga
soluciones de software. backtracking y branch and bound.
• Divide un problema en subproblemas para
• Identifica situaciones en las que el uso de facilitar su resolución
cierta estrategia es adecuada.
RdA6. Utiliza métodos de ordenamiento • Conoce las ventajas y desventajas de • Emplea y decide que método de
eficientes para la manipulación de datos en un métodos de ordenamiento eficientes ordenamiento eficiente usar en un momento
software. dado.
• Diseña, Implementa y emplea ordenamientos
eficientes
RdA7. Conoce y emplea estructuras de datos • Conoce los conceptos fundamentales sobre • Inserta, Modifica, Reporta y elimina datos
complejas como grafos y árboles para el manejo grafos y árboles y varios campos de aplica desde un árbol o grafo
dinámico de datos.
• Conoce sintaxis y semántica del lenguaje de
programación para la construcción de este tipo
de estructuras
• Resuelve problemas empleando árboles y
grafos
CONTENIDOS, SESIONES Y ACTIVIDADES DE APRENDIZAJE
Título de la Unidad, sub -unidades, nro. de sesión y actividades para los componentes de aprendizaje.
Nro. COMPONENTE DE
SUB-UNIDADES ACTIVIDADES DE APRENDIZAJE
SESIÓN APRENDIZAJE
1. INTRODUCCIÓN
2
Nro. COMPONENTE DE
SUB-UNIDADES ACTIVIDADES DE APRENDIZAJE
SESIÓN APRENDIZAJE
1. Indicaciones Generales 1 Presentación del curso. Revisión del 4 horas
APRENDIZAJE EN sílabo. Introducción a las estructuras
2. Presentación del Sílabo del curso CONTACTO CON EL de datos y al uso de memoria.
DOCENTE (ACD) Conformación grupos y representante.
3. Motivación para el empleo adecuado de los
recursos del computador APRENDIZAJE Exploración de herramientas útiles en 1 horas
PRÁCTICO el curso.
EXPERIMENTAL -
ASIGNATURA
(APE/A)
APRENDIZAJE Revisión plataforma virtual y material 1 horas
AUTÓNOMO (AA) ahí dispuesto.
2. MEMORIA Y PUNTEROS
1. Memoria del Computador 2 Memoria del computador. IDE DEV C 2 horas
2. Lenguajes de Programación y manejo de memoria
Clase C y la memoria 2 horas
3. Memorias: Estática, Stack y Heap APRENDIZAJE EN Clase Punteros 2 horas
CONTACTO CON EL
4. Punteros: teoría y práctica DOCENTE (ACD) Clase Más sobre punteros 2 horas
5. Diseñando software eficiente: complejidad Clase Punteros a Funciones en C. 2 horas
computacional Envio trabajo 1
Clase Punteros especiales 2 horas
APRENDIZAJE Ejercicios en C sobre punteros 1 horas
PRÁCTICO
EXPERIMENTAL - Clase de Preguntas y Respuestas. 2 horas
ASIGNATURA Consultas ejercicios propuestos
(APE/A)
Instalación IDE. Experimentación y 2 horas
exploración de la herramienta.
Revisión plataforma virtual y material 2 horas
APRENDIZAJE ahí dispuesto.
AUTÓNOMO (AA)
Desarrollo de Ejercicios Propuestos 4 horas
Desarrollo de ejercicios auto- 2 horas
propuestos.
3. ESTRUCTURAS DE DATOS ESTÁTICAS Y DINÁMICAS
3
Nro. COMPONENTE DE
SUB-UNIDADES ACTIVIDADES DE APRENDIZAJE
SESIÓN APRENDIZAJE
1. El concepto de estructuras de datos 3 Clase Estructuras de Datos e 2 horas
Introducción a Listas ligadas
2. Estructuras de datos estáticas y dinámicas
Clase Variantes de listas ligadas 2 horas
3. Listas Ligadas y sus variantes
Clase Operaciones de listas ligadas 2 horas
4. Pilas y Colas. Conceptos, operaciones y variantes
Clase de Retroalimentación trabajo . 2 horas
APRENDIZAJE EN
Selección de buenas soluciones para
CONTACTO CON EL
su análisis.
5. USO DE PILAS Y COLAS EN SITUACIONES DOCENTE (ACD)
REALES
Clase sobre Pilas 2 horas
Clase sobre Colas 2 horas
Clase sobre uso en situaciones reales 2 horas
de estructuras de datos dinámicas
Revisión/Sustentación Trabajo 1. 6 2 horas
Noviembre 2020
APRENDIZAJE
PRÁCTICO Ejercicio en C sobre listas ligadas 2 horas
EXPERIMENTAL -
ASIGNATURA Clase de Preguntas y Respuestas. 2 horas
(APE/A) Consultas de los estudiantes sobre
ejercicios propuestos como aprendizaje
autónomo.
Revisión plataforma virtual y material 2 horas
ahí dispuesto.
APRENDIZAJE
AUTÓNOMO (AA) Desarrollo de ejercicios propuestos 2 horas
Desarrollo de Trabajo 24 horas
4 APRENDIZAJE Desarrollo de ejercicios auto- 2 horas
AUTÓNOMO (AA) propuestos
4. RECURSIVIDAD
1. Dividir para conquistar 4 Introducción a las Estrategias de 2 horas
Diseño
2. Recursición e Iteración APRENDIZAJE EN Examen Interciclo 4 horas
CONTACTO CON EL
3. Recursividad aplicada a algoritmos DOCENTE (ACD) Clase sobre Recursividad 2 horas
Clase más sobre recursividad 2 horas
Taller 1: Listas, Pilas y Colas. Actividad 2 horas
Grupal. Cuestionario final para
seleccionar respuestas a los ejercicios
planteados.
Clase de Ejercicios Generales. 2 horas
APRENDIZAJE Actividad guiada de corte individual de
PRÁCTICO preparación para el examen interciclo.
EXPERIMENTAL -
ASIGNATURA
(APE/A) Ejercicios en C sobre Recursividad 2 horas
Clase de Preguntas y Respuestas. 2 horas
Consultas de los estudiantes sobre
ejercicios propuestos como aprendizaje
autónomo.
Revisión plataforma virtual y material 2 horas
ahí dispuesto.
APRENDIZAJE
AUTÓNOMO (AA) Desarrollo de ejercicios propuestos 2 horas
Preparación Examen Interciclo 6 horas
5. ARBOLES BINARIOS
4
Nro. COMPONENTE DE
SUB-UNIDADES ACTIVIDADES DE APRENDIZAJE
SESIÓN APRENDIZAJE
1. Introducción a estructuras de datos jerárquicas 5 Clase Introducción a estructuras 2 horas
jerárquicas
APRENDIZAJE EN
CONTACTO CON EL Clase Arboles y Arboles binarios 2 horas
2. Operaciones fundamentales: inserción, recorrido,
DOCENTE (ACD)
búsqueda, eliminación.
Clase Más sobre Árboles binarios 2 horas
3. arboles AVL
APRENDIZAJE Ejercicios en C sobre Árboles. 2 horas
PRÁCTICO
EXPERIMENTAL - Clase de Preguntas y Respuestas. 2 horas
ASIGNATURA Consultas de los estudiantes sobre
(APE/A) ejercicios propuestos como aprendizaje
autónomo.
Revisión plataforma virtual y material 2 horas
ahí dispuesto.
APRENDIZAJE
Desarrollo ejercicios propuestos 4 horas
AUTÓNOMO (AA)
Desarrollo de ejercicios auto- 4 horas
propuestos
6. GRAFOS
1. Revisión teórica sobre grafos 6 Clase Introducción y fundamento 2 horas
APRENDIZAJE EN teórico
CONTACTO CON EL
2. REPRESENTACION DIGITAL DE GRAFOS
DOCENTE (ACD) Clase Representación y Operaciones 2 horas
fundamentales. Envio trabajo 2
3. Operaciones Fundamentales sobre grafos
APRENDIZAJE Taller 2: Arboles y Grafos. 2 horas
PRÁCTICO
EXPERIMENTAL - Clase de Preguntas y Respuestas. 2 horas
ASIGNATURA Consultas de los estudiantes sobre
(APE/A) ejercicios propuestos como aprendizaje
autónomo.
Revisión plataforma virtual y material 2 horas
ahí dispuesto.
APRENDIZAJE
AUTÓNOMO (AA) Desarrollo ejercicios propuestos 4 horas
Desarrollo Trabajo 2 16 horas
7. ORDENAMIENTOS EFICIENTES
1. Introducción a los ordenamientos eficientes 7 Clase Introducción a los ordenamientos 2 horas
2. Ordenamientos Eficientes: Merge Sort, Quick Sort,
Clase Merge Sorte, Quick Sorte y 3 horas
Radix Sort
APRENDIZAJE EN Radix Sort
3. Otros ordenamientos eficientes CONTACTO CON EL
DOCENTE (ACD) Clase Otros Ordenamientos 3 horas
4. análisis de algoritmos de ordenamiento EXamen final 4 horas
Retroalimentación Examen Final 2 horas
Clase de Preguntas y Respuestas. 2 horas
Consultas de los estudiantes sobre
APRENDIZAJE ejercicios propuestos como aprendizaje
PRÁCTICO autónomo.
EXPERIMENTAL -
Revisión y Sustentación Trabajo 2. 27 2 horas
ASIGNATURA
Enero
(APE/A)
ejercicios generales de preparación 2 horas
para evaluación final.
Revisión plataforma virtual y material 1 horas
ahí dispuesto.
APRENDIZAJE
AUTÓNOMO (AA) Desarrollo ejercicios propuestos 4 horas
Preparación Examen Final 8 horas
APRENDIZAJE EN
CONTACTO CON EL 64 horas
DOCENTE (ACD)
5
APRENDIZAJE
PRÁCTICO 32 horas
EXPERIMENTAL -
ASIGNATURA (APE/A)
APRENDIZAJE
AUTÓNOMO (AA) 96 horas
Total Planificación: 192 horas
RECURSOS O MEDIOS PARA EL APRENDIZAJE
Equipos, materiales, instrumentos tecnológicos, reactivos, entre otros, que serán utilizados durante el desarrollo de la asignatura.
• Clases Virtuales de exposición de conceptos básicos
• Ejercicios propuestos para aprendizaje autónomo
• Curso Virtual y sus contenidos de aprendizaje virtual
• Libros
• Talleres y Sesiones de Consultas presenciales y virtuales
• Videos de temas relevantes
CRITERIOS PARA LA ACREDITACIÓN DE LA ASIGNATURA
Parámetros de acreditación, tomando como referencia los Resultados de Aprendizaje (RdA's), indicadores y criterios de evaluación planteados y en base a
la normativa de evaluación y calificaciones vigente en la Universidad de Cuenca y Consejo de Educación Superior (CES).
CRITERIO GENERAL DE ACREDITACIÓN PUNTAJE
PRUEBAS 5
EXAMENES 50
TRABAJOS 25
TALLERES 20
TOTAL: 100
DETALLE DE CRITERIOS DE
PUNTAJE / CRITERIO GENERAL
ACREDITACIÓN
APROVECHAMIENTO I
Prueba teórica 5 PRUEBAS
C94
Taller 1 10 TALLERES
Trabajo 1 10 TRABAJOS
INTERCICLO
C95
Interciclo Teórico-Práctico 20 EXAMENES
APROVECHAMIENTO II
Taller 2 10 TALLERES
C96
Trabajo 2 15 TRABAJOS
FINAL
C97
Examen Final Práctico. 30 EXAMENES
SUSPENSIÓN
C98
Total: 100
TEXTOS U OTRAS REFERENCIAS REQUERIDAS PARA EL APRENDIZAJE DE LA ASIGNATURA
Libros, revistas, bases digitales, periódicos, direcciones de Internet y demás fuentes de información, pertinentes y actuales.
BÁSICA
1. Joyanes L. et al. C. Algoritmos, programación y estructuras de datos. McGraw Hill 2005.
6
2. Barnett, Granville, and Luca Del Tongo. "Data structures and algorithms: annotated reference with examples." (2021)
COMPLEMENTARIA
1. Mark A. Weiss, Data structures and algorithm analysis in C++, 4th Edition 2013
2. Karthikeyan, E. A TEXTBOOK ON C: Fundamentals, Data Structures and Problem Solving. PHI Learning Pvt. Ltd., 2008.
Docente: AVILA ORDOÑEZ ELINA MARIA Director: VEINTIMILLA REYES JAIME EDUARDO
Finalizado: 23/9/2021 Publicado: 28/9/2021