Estructuras de Datos y Algoritmos

Semestre 2021-20

   

Nombre del curso: Estructuras de Datos y Algoritmos
Créditos: 3
Versión PDF  Click Aquí

Descripción

Este curso tiene como propósito analizar alternativas de diseño y construcción de estructuras de datos, que permitan el almacenamiento y búsqueda de información, mediante la implementación de algoritmos que cumplan con restricciones espacio temporales

Secciones

 

Sección: 1
Profesor: Arturo Henao
Clases: Ma & Ju – 06:30 am a 07:45 am
Laboratorio: Vi – 06:30 am a 07:45 am
Sección: 2
Profesor: Dario Ernesto Correal Torres
Clases: Lu & Ma – 08:00 am a 09:15 am
Laboratorio: Ju – 08:00 am a 09:15 am

 

Sección: 3
Profesor: Fernando de la Rosa
Clases: Lu & Ju – 09:30 am a 10:45 am
Laboratorio: Vi – 09:30 am a 10:45 am
Sección: 4
Profesor: Christian Aparicio
Clases: Lu & Ju – 11:00 am a 12:15 pm
Laboratorio: Vi – 11:00 am a 12:15 pm

 

Sección: 5
Profesor: Luis Esteban Florez Salamanca
Clases: Lu & Ma – 12:30 pm a 01:45 pm
Laboratorio: Vi – 12:30 pm a 01:45 pm
Sección: 6
Profesor: Carlos Andrés Lozano Garzón
Clases: Lu & Mi – 02:00 pm a 03:15 pm
Laboratorio: Ju – 02:00 pm a 03:15 pm

 

Sección: 7
Profesor: Mario Fernando De La Rosa Rosero
Clases: Lu & Mi – 03:30 pm a 04:45 pm
Laboratorio: Ju – 03:30 pm a 04:45 pm

Objetivos de Aprendizaje

Al final del curso el estudiante estará en capacidad de:

  • Analizar problemas que requieren el procesamiento de datos e identificar sus restricciones en términos de tiempo y espacio
  • Diseñar soluciones basadas en tipos abstractos de datos y estructuras de datos complejas que respondan a restricciones espaciotemporales
  • Seleccionar y aplicar algoritmos de manipulación de estructuras de datos para la solución de un problema
  • Implementar en un lenguaje de programación algoritmos y estructuras de datos complejas
  • Construir algoritmos eficientes en tiempo y/o espacio para solucionar problemas haciendo uso de estructuras y abstracción de datos
  • Construir pruebas y experimentos para comprobar el correcto funcionamiento de la solución y el cumplimiento de sus restricciones espaciotemporales
  • Demostrar dominio del lenguaje de programación Python

Metodología

  • Este curso aplicara el modelo de aula invertida, los estudiantes deben preparar los contenidos asignados para cada tema de clase con anterioridad. Por lo que antes de cada clase, encontrarán videos, ejemplos y material de lectura del libro guía del curso.
  • El curso gira en torno a cuatro grandes retos. Cada reto introduce conceptos de análisis, diseño, algorítmica, programación y tecnología, necesarios para solucionar problemas de almacenamiento y búsqueda de información de manera eficiente en memoria principal.
  • Cada reto les permitirá a los equipos integrar la información teórica del curso y realizar los avances en el proyecto iterando sobre las estructuras de datos vistas.
  • En el aula de Bloque Neón Unificada se encuentran las instrucciones y materiales requeridos para realizar las actividades antes de las clases presenciales y laboratorios. Igualmente se encuentra la ruta de avance del proyecto y los criterios de evaluación.
  • La asistencia a las clases y laboratorios (en modalidad virtual) es obligatoria ya que es el espacio donde se desarrollará gran parte del trabajo en equipo.

Generalidades y Funcionamiento

  • Los encuentros sincrónicos se dedicarán a la resolución de dudas y aplicación de los conceptos revisados de forma individual y con anterioridad por los estudiantes.
  • El curso consiste en 3 horas semanales de clase presencial con el profesor, 1½ horas de trabajo supervisado en el laboratorio con los monitores y asistente y 4½ horas de trabajo individual por fuera de clase.
  • El estudiante que no asista al menos al 80% de las clases y sesiones de trabajo supervisado no podrá aprobar el curso, de acuerdo con el artículo 42 y 43 del Reglamento General de Estudiantes de Pregrado.
  • Los canales oficiales de comunicación del curso son el correo electrónico Uniandes, la lista de correo del curso y el sistema de apoyo a la docencia Bloque Neón (https://uniandes.brightspace.com/)

Evaluaciones

La evaluación del curso consiste en:

  • Tres exámenes en el que se evalúan conceptos y habilidades adquiridas en el curso. Cada examen tiene un porcentaje de 16% en la nota del curso.
  • Retos y Laboratorios. Las actividades prácticas tienen un porcentaje del 52% de la nota del curso.
    • Las reglas de juego para cada uno de los retos y laboratorios son definidas con el enunciado correspondiente. Pueden incluir pre-entregas o puntos de bono por desarrollos o actividades complementarios.
    • La evaluación de los retos y laboratorios puede ser grupal y/o individual. Se tiene en cuenta tanto el producto entregado como el proceso con el cual se logró. Esa evaluación se realiza a partir de la entrega del software, la documentación solicitada en el enunciado y sustentación.

La distribución de los porcentajes de notas se presenta a continuación:

 Evaluación Porcentaje en Nota del Curso
Examen 1

16%

Examen 2

16%

Examen 3

16%

Reto 1 y Laboratorios asociados

10%

Reto 2 y Laboratorios asociados

12%

Reto 3 y Laboratorios asociados

14%

Reto 4 y Laboratorios asociados

16%

Notas finales

La nota final se calculará como la Nota Ponderada de las evaluaciones realizadas por su porcentaje respectivo, expresada con sus dos primeros decimales.

Caso Especial 1: NO hay aproximación a 3.00 con una nota ponderada inferior a 3.00. En particular, las notas ponderadas en el rango [2.90, 2.99] No se aproximan a 3.00 y se mantiene la nota ponderada como nota final.

Caso Especial 2: En caso de que la Asistencia sea inferior al 80%, si la nota ponderada es aprobatoria (mayor o igual a 3.00), la nota final se cambia a 2.99. El curso se pierde por Asistencia.