1151064 Taller de Análisis y Diseño de Algoritmos
Trimestre 2022 Invierno
Profesor: Dr. Francisco Javier Zaragoza
Martínez.
Inicio y fin del curso:
lunes 28 de febrero de 2022 a jueves 19 de mayo de 2022.
Grupo: CMIXT81 (martes de
14:30 a 17:30).
Asesorías: Por correo
electrónico a través de cuentas institucionales.
Lugar: G208 y Google Meet (PROTEMM).
Cupo: 30. Cancelado.
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.
- Aplicaciones de ordenamiento y búsqueda.
- Algoritmos para problemas de cadenas.
- Algoritmos para problemas aritméticos.
- Algoritmos para problemas combinatorios.
- Algoritmos para problemas de gráficas.
- Algoritmos para problemas geométricos.
Evaluación
De la primera 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, C++ o cualquier otro lenguaje aceptado por omegaUp. Considerando un máximo de 100
puntos, se requieren al menos 60 puntos para obtener S, al menos 73
puntos para obtener B y al menos 87 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
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: 11 a 25 de febrero
Las instrucciones generales para
el alumnado aparecieron en el sitio Casa Abierta de la UAM
Azcapotzalco. Abajo aclaro algunas de ellas.
- Asegúrate de tener disponible una computadora con internet en
la que puedas editar, compilar y ejecutar programas en C, C++ o
cualquier otro lenguaje aceptado por omegaUp. 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).
- 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. Mira el tutorial de omegaUp.
- Envía un correo a mi ayudante Octavio Ramírez
(octarr@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 TADA 2022 Invierno 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 cuando usemos
Google Meet son: Aceptar la invitación. Ingresar desde su cuenta
institucional. No grabar la sesión. Usar el chat o el micrófono
para participar o hacer preguntas. El resto del tiempo mantener
apagados el micrófono y la cámara. Leer el material de estudio
antes de la clase.
Semana 1: 28 de febrero a 4 de marzo
Tarea 1 del 1 de marzo a las 14:30 al 5 de marzo a las 14:30.
Presentación del curso el 1 de marzo a las 14:30.
Semana 2: 7 de marzo a 11 de marzo
Tarea 2 del 8 de marzo a las 14:30 al 12 de marzo a las 14:30.
Semana 3: 14 de marzo a 18 de marzo
Tarea 3 del 15 de marzo a las 14:30 al 19 de marzo a las 14:30.
Semana 4: 21 de marzo a 25 de marzo
Tarea 4 del 22 de marzo a las 14:30 al 26 de marzo a las 14:30.
Semana 5: 28 de marzo a 1 de abril
Tarea 5 del 29 de marzo a las 14:30 al 2 de abril a las 14:30.
Semana 6: 4 de abril a 8 de abril
Tarea 6 del 5 de abril a las 14:30 al 9 de abril a las 14:30.
Semana 7: 11 de abril a 15 de abril
Tarea 7 del 12 de abril a las 14:30 al 16 de abril a las 14:30.
Semana 8: 18 de abril a 22 de abril
Tarea 8 del 19 de abril a las 14:30 al 23 de abril a las 14:30.
Semana 9: 25 de abril a 29 de abril
Tarea 9 del 26 de abril a las 14:30 al 30 de abrl a las 14:30.
Semana 10: 2 de mayo a 6 de mayo
Tarea 10 del 3 de mayo a las 14:30 al 7 de mayo a las 14:30.
Semana 11: 9 de mayo a 13 de mayo
Tarea 11 del 10 de mayo a las 14:30 al 14 de mayo a las 14:30.
Bibliografía
- Castro Campos. Algoritmos y estructuras de datos.
UAM Azcapotzalco.
-
Cormen, Leiserson, Rivest y Stein. Introduction
to Algorithms. MIT Press.
-
Knuth. The
Art of Computer Programming. Addison-Wesley.
- Llana, et al. Ejercicios
de programación creativos y recreativos en C++. Prentice
Hall.
- Morin. Open
Data Structures in C++. Athabasca University Press.
-
Parberry y Gasarch. Problems on
Algorithms. Prentice Hall.
- Sedgewick y Wayne. Algorithms.
Pearson.
- Skiena. The Algorithm
Design Manual. Springer.
-
Skiena y Revilla. Programming
Challenges. Springer.