UAM


1151042 Algoritmos y Estructuras de Datos
Trimestre 2020 Primavera


Instructor
: Dr. Francisco Javier Zaragoza Martínez.PEER
Inicio y fin del curso: lunes 31 de agosto a viernes 13 de noviembre de 2020.
Grupos: CSI81 y CSAI81 (lunes, miércoles y viernes de 15:00 a 16:00).
Asesorías: lunes, miércoles y viernes de 16:00 a 17:00 y por correo electrónico a través de cuentas institucionales.
Lugar: Google Meet (PEER).
Cupo: 50+25 alumnos.

Contenido

Se cubrirá el contenido oficial del curso (el cual se detalla abajo). Es posible que el temario se cubra en un orden distinto al allí mencionado.
  1. Tipos de datos abstractos y estructuras dinámicas.
  2. Recursividad y eficiencia.
  3. Estructuras para listas.
  4. Estructuras para árboles.
  5. Estructuras para gráficas.
  6. Algoritmos de búsqueda interna.
  7. Algoritmos de ordenamiento interno.

Evaluación

La primera semana habrá una evaluación diagnóstico de programación estructurada. De la segunda a la última semana habrá una evaluación semanal (valor máximo de 10 puntos cada una). Todas estas evaluaciones serán programas en C que se enviarán a omegaUp. Considerando un máximo de 100 puntos, se requieren al menos 70 puntos para obtener S, al menos 80 puntos para obtener B y al menos 90 puntos para obtener MB.

Consideraré cualquier copia o plagio de cualquier evaluación (ya sea programa o no) de forma automática como NA para todos los involucrados. Reportaré los casos que se presenten a las autoridades correspondientes. No copies. No pases la tarea. No plagies.

Recuerden que, de acuerdo al Reglamento de Alumnos de la UAM, es falta de los alumnos en contra de la Institución el suplantar o permitir ser suplantado en la realización de actividades académicas (Artículo 9) y se impondrá desde amonestación escrita hasta suspensión por dos trimestres (Artículo 13).

Calendario

El calendario que muestro abajo es tentativo e irá apareciendo paulatinamente. Allí colocaré el material de estudio y de consulta.

Preparativos: 13 de julio a 30 de agosto

Las instrucciones generales para todos los alumnos aparecieron en el sitio de contingencia de la UAM Azcapotzalco. Abajo aclaro algunas de ellas.

  1. Asegúrate de tener disponible una computadora con internet en la que puedas editar, compilar y ejecutar programas en C. Si tienes alguna distribución de Linux es probable que ya tengas gcc y algún editor de texto instalado. Otra posibilidad es instalar Code::Blocks. En Windows instala la versión 17.12 para 32 bits o la 20.03 para 32 o 64 bits o bien instala Dev-C++. Para Mac OS X la versión más reciente de Code::Blocks es la 13.12 o instala Xcode. En Android instala Coding C y en iOS instala Mobile C. Como último recurso, existen compiladores de C en línea (repl.it, tio.run y onlinegdb).
  2. Usaremos exclusivamente el correo institucional. Si no tienes el tuyo, actívalo con la Coordinación de Servicios de Cómputo (CSC).
  3. Usaremos la plataforma omegaUp de forma extensiva. Crea una cuenta usando tu correo institucional, tu usuario deberá ser tu nombre y los cuatro últimos dígitos de tu matrícula (ejemplo: FranciscoZaragoza1234). En tu perfil debes anotar tu nombre completo y como escuela UAM Azcapotzalco. Mira el tutorial de omegaUp.
  4. Envía un correo a mi ayudante Rodrigo Gutiérrez (al2132002112@azc.uam.mx) desde tu correo institucional con esta información: tu nombre completo, tu número de matrícula, tu carrera y tu usuario de omegaUp. Una vez que le envíes este correo, él te registrará en el curso AED 2020 Primavera de omegaUp.

Si tienes alguna duda acerca de estos preparativos, envía un correo a mi ayudante desde tu correo institucional. No lo dejes para el último momento. Las reglas de cortesía para Google Meet son: Aceptar la invitación. Ingresar desde su cuenta institucional. Mantener apagados el micrófono y la cámara. No grabar la sesión. Usar el chat para participar o hacer preguntas. Leer el material de estudio antes de la clase.

Semana 1: 31 de agosto a 4 de septiembre

Esta semana iniciaremos el Tema 1: Tipos de datos abstractos y estructuras dinámicas.

Semana 2: 7 de septiembre a 11 de septiembre

Esta semana terminaremos el Tema 1: Tipos de datos abstractos y estructuras dinámicas.

Semana 3: 14 de septiembre a 18 de septiembre

Esta semana cubriremos el Tema 2: Recursividad y eficiencia.

Semana 4: 21 de septiembre a 25 de septiembre

Esta semana cubriremos el Tema 6: Algoritmos de búsqueda interna y comenzaremos el Tema 7: Algoritmos de ordenamiento interno.

Semana 5: 28 de septiembre a 2 de octubre

Esta semana terminaremos el Tema 7: Algoritmos de ordenamiento interno e iniciaremos el Tema 3: Estructuras para listas.

Semana 6: 5 de octubre a 9 de octubre

Esta semana continuaremos con el Tema 3: Estructuras para listas.

Semana 7: 12 de octubre a 16 de octubre

Esta semana terminaremos el Tema 3: Estructuras para listas.

Semana 8: 19 de octubre a 23 de octubre

Esta semana iniciaremos el Tema 4: Estructuras para árboles.

Semana 9: 26 de octubre a 30 de octubre

Esta semana terminaremos el Tema 4: Estructuras para árboles e iniciaremos el Tema 5: Estructuras para gráficas.

Semana 10: 2 de noviembre a 6 de noviembre:

Esta semana continuaremos con el Tema 5: Estructuras para gráficas.

Semana 11: 9 de noviembre a 13 de noviembre

Esta semana terminaremos el Tema 5: Estructuras para gráficas.

Evaluaciones globales y entrega de actas: 16 de noviembre a 23 de noviembre

Estos días habrá una evaluación semanal adicional.

Evaluaciones de recuperación: 27 de noviembre a 1 de diciembre

Estos días ocurrirán las evaluaciones de recuperación.

Bibliografía

  1. Kernighan y Ritchie. El lenguaje de programación C. Pearson.
  2. Llana, et al. Ejercicios de programación creativos y recreativos en C++. Prentice Hall.
  3. Morin. Open Data Structures in C++. Athabasca University Press.
  4. Parlante. Stanford CS Education Library.
  5. Sedgewick y Wayne. Algorithms. Pearson.
  6. Sedgewick y Wayne. Computer Science: An Interdisciplinary Approach. Pearson.