UAM Azcapotzalco


1151042 Algoritmos y Estructuras de Datos
Trimestre 2025 Otoño

Profesor: Dr. Francisco Javier Zaragoza Martínez.
Inicio y fin del curso: miércoles 1 de octubre a viernes 12 de diciembre de 2025.
Grupo: CPRO81 (lunes, miércoles y viernes de 14:30 a 16:00).
Asesorías: de 9:30 a 17:30 en el G211 o por correo electrónico a través de cuentas institucionales.
Lugar: E309.
Cupo: 32.

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 global

Habrá al menos once tareas semanales (valor máximo de 100 puntos cada una) y cuatro exámenes en clase (valor máximo de 300 puntos cada uno). Todas estas evaluaciones serán programas en C, C++ o Java, que sean de tu propia autoría y titularidad, y que se enviarán a omegaUp. Para acreditar el curso se requieren al menos:
Para el alumnado que participa en el PROREC habrá evaluaciones adicionales obligatorias. Se deben registrar en los cursos de Introducción a algoritmos parte I y parte II. Allí, deberán llevar a cabo las prácticas en el orden en que aparezcan listadas en el calendario de actividades. Cada práctica completa valdrá 100 puntos.

Consideraré la entrega de cualquier evaluación (ya sea programa o no) que no sea de tu propia autoría y titularidad 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. No uses herramientas de inteligencia artificial.

Recuerda que, de acuerdo al Reglamento del Alumnado de la UAM, es falta del alumnado en contra de la Institución: el suplantar o permitir ser suplantado en la realización de actividades académicas, el presentar como propios trabajos u obra intelectual que sean de la autoría o titularidad de otra persona y el engañar a una persona o aprovecharse del error en que ésta se encuentra para obtener ilícitamente un bien o para alcanzar un beneficio indebido (Artículo 8). Se impondrá desde amonestación escrita hasta expulsión de la universidad (Artículos 16, 17 y 18) según sea el caso.

Calendario

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

Preparativos: 17 de septiembre a 30 de septiembre

  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 (tutorial) 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.
  4. Envía un correo a mi ayudante Eduardo Suárez (yesc@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 2025 Otoño 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.

Semana 1: 1 de octubre a 3 de octubre

Esta semana cubriremos el Tema 2: Recursividad y eficiencia.

Semana 2: 6 de octubre a 10 de octubre

Esta semana cubriremos el Tema 6: Búsqueda interna e iniciaremos el Tema 7: Ordenamiento interno.

Semana 3: 13 de octubre a 17 de octubre

Esta semana terminaremos el Tema 7: Ordenamiento interno.

Semana 4: 20 de octubre a 24 de octubre

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

Semana 5: 27 de octubre a 31 de octubre

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

Semana 6: 3 de noviembre a 7 de noviembre

Esta semana iniciaremos el Tema 3: Estructuras para listas.

Semana 7: 10 de noviembre a 14 de noviembre

Esta semana terminaremos el Tema 3: Estructuras para listas e iniciaremos el Tema 4: Estructuras para árboles.

Semana 8: 17 de noviembre a 21 de noviembre

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

Semana 9: 24 de noviembre a 28 de noviembre

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

Semana 10: 1 de diciembre a 5 de diciembre

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

Semana 11: 8 de diciembre a 12 de diciembre

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

Entrega de actas y evaluación de recuperación: 15 de diciembre a 12 de enero

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

Bibliografía

  1. Castro Campos. Algoritmos y estructuras de datos. UAM Azcapotzalco.
  2. Kernighan y Ritchie. El lenguaje de programación C. Pearson.
  3. Llana, et al. Ejercicios de programación creativos y recreativos en C++. Prentice Hall.
  4. Morin. Open Data Structures in C++. Athabasca University Press.
  5. Parlante. Stanford CS Education Library.
  6. Sedgewick y Wayne. Algorithms. Pearson.
  7. Sedgewick y Wayne. Computer Science: An Interdisciplinary Approach. Pearson.
  8. Standard C++ Library Reference. Cplusplus.com.