1151042 Algoritmos y Estructuras de Datos
Trimestre 2024 Otoño
Profesor: Dr. Francisco Javier Zaragoza Martínez.
Inicio y fin del curso:
lunes 21 de octubre de 2024 a viernes 17 de enero de 2025.
Grupo: CSI81 (lunes,
miércoles y viernes de 16:00 a 17:30).
Asesorías: por correo
electrónico a través de cuentas institucionales.
Lugar: G206.
Cupo: 36.
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.
- Tipos de datos abstractos y estructuras dinámicas.
- Recursividad y eficiencia.
- Estructuras para listas.
- Estructuras para árboles.
- Estructuras para gráficas.
- Algoritmos de búsqueda interna.
- 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 (presenciales, valor máximo de 300
puntos cada uno). Todas estas evaluaciones serán programas en C que
se enviarán a omegaUp. Para acreditar el curso se
requieren al menos:
- 700 puntos en la tareas y 700 puntos en los exámenes para
obtener S,
- 800 puntos en la tareas y 800 puntos en los exámenes para
obtener B y
- 900 puntos en la tareas y 900 puntos en los exámenes 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. No uses
herramientas de inteligencia artificial.
Recuerden 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
(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: 14 de octubre a 20 de octubre
- 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).
- Usaremos exclusivamente el correo institucional. Si
no tienes el tuyo, actívalo
con la Coordinación de Servicios de Cómputo (CSC).
- Usaremos la plataforma 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.
- 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 2024 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: 21 de octubre a 25 de octubre
Esta semana cubriremos el Tema 2: Recursividad y eficiencia e
iniciaremos el Tema 6: Búsqueda interna.
Semana 2: 28 de octubre a 1 de noviembre
Esta semana terminaremos el Tema 6: Búsqueda interna e
iniciaremos el Tema 7: Ordenamiento interno.
Semana 3: 4 de noviembre a 8 de noviembre
Esta semana terminaremos el Tema 7: Ordenamiento interno.
Semana 4: 11 de noviembre a 15 de noviembre
Esta semana iniciaremos el Tema 1: Tipos de datos abstractos y
estructuras dinámicas.
Semana 5: 18 de noviembre a 22 de noviembre
Esta semana terminaremos el Tema 1: Tipos de datos abstractos y
estructuras dinámicas.
Semana 6: 25 de noviembre a 29 de noviembre
Esta semana iniciaremos el Tema 3: Estructuras para listas.
Semana 7: 2 de diciembre a 6 de diciembre
Esta semana terminaremos el Tema 3: Estructuras para listas.
Semana 8: 9 de diciembre a 13 de diciembre
Esta semana iniciaremos el Tema 4: Estructuras para árboles.
Semana 9: 16 de diciembre a 20 de diciembre
Esta semana terminaremos el Tema 4: Estructuras para árboles.
- 16 de diciembre: Árboles rojinegros.
- 18 de diciembre: Ordenamiento por montículo.
- 20 de diciembre: Tercer examen parcial (Temas 3 y 4).
- Material de consulta (en inglés): Árboles
balanceados. Montículos.
- Tarea 8 (Tema 4, 100 puntos): Del 15 de diciembre a las 16:00
al 22 de diciembre a las 16:00.
- Tarea 9 (Tema 4, 100 puntos): Del 20 de diciembre a las 16:00
al 5 de enero a las 16:00
Semana 10: 6 de enero a 10 de enero
Esta semana iniciaremos el Tema 5: Estructuras para gráficas.
Semana 11: 13 de enero a 17 de enero
Esta semana terminaremos el Tema 5: Estructuras para gráficas.
Entrega de actas y evaluación de recuperación: 20 de enero a 3
de febrero
Estos días ocurrirán las evaluaciones de recuperación.
- 20 de enero a 24 de enero: Entrega de actas de evaluación
global.
- 27 de enero: Inscripción a evaluación de recuperación.
- 29 a 31 de enero: Evaluación de recuperación.
- 30 de enero a 3 de febrero: Entrega de actas de evaluación de
recuperación.
Bibliografía
- Castro Campos. Algoritmos y estructuras de datos.
UAM Azcapotzalco.
- Kernighan y Ritchie. El lenguaje de programación C. Pearson.
- Llana, et al. Ejercicios
de programación creativos y recreativos en C++. Prentice
Hall.
- Morin. Open
Data Structures in C++. Athabasca University Press.
- Parlante. Stanford
CS Education Library.
- Sedgewick y Wayne. Algorithms.
Pearson.
- Sedgewick y Wayne. Computer
Science: An Interdisciplinary Approach. Pearson.
- Standard C++
Library Reference. Cplusplus.com.