Trimestres anteriores‎ > ‎2019-I‎ > ‎

1151040 - Análisis y Diseño de Algoritmos

Instructor: Rodrigo Alexander Castro Campos.
Trimestre: 2019-I.

Grupo: CSI01.
Horario: Lunes, miércoles y viernes de 8:30 a 10:00.
Salón: G-208.

Contenido oficial del curso:
  • Análisis de correctitud y complejidad.
  • Recursividad y ecuaciones de recurrencia.
  • Algoritmos de divide y vencerás.
  • Algoritmos de búsqueda con retroceso.
  • Algoritmos de programación dinámica.
  • Algoritmos de búsqueda local.
  • Algoritmos glotones.
  • Problemas NP completos.
Calificación:

Habrán ocho tareas con un valor de 10 puntos cada una y cuatro exámenes con un valor máximo de 5 puntos cada uno. No habrá evaluación terminal. El curso se impartirá en los lenguajes C y C++.

Las evaluaciones que consistan en la escritura de programas deberán presentarse en la plataforma OmegaUp y deberán resolver al 100% el problema de programación indicado; el resto de las evaluaciones serán escritas. Su matrícula y nombre de usuario en OmegaUp deberán ser enviados a mi correo electrónico en la primera semana de clasesNo se calificarán programas de ninguna otra forma. Cada tarea estará disponible con al menos una semana de anticipación con respecto a la fecha de entrega. Los exámenes se realizarán de manera presencial en horario de clase y tendrán una duración máxima de 90 minutos. La fecha de cada examen se anunciará con al menos una clase de anticipación.

Es requisito para aprobar el curso obtener al menos 12 puntos provenientes de exámenes. Cumpliendo eso, la calificación final se obtiene de la suma de los puntajes asignados a las evaluaciones. La escala de calificación en acta es:
  • Al menos 60 puntos para acreditar con S.
  • Al menos 73 puntos para acreditar con B.
  • Al menos 87 puntos para acreditar con MB.

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 y se impondrá desde amonestación escrita hasta suspensión por dos trimestres. Adicionalmente, los alumnos que incurran en esta falta no tendrán derecho a aprobar el curso.

Calendario: El siguiente calendario es tentativo y podrá cambiar a lo largo del curso.

Cuando exista más de una versión para una tarea, basta con que resuelvan una de ellas. No se otorgarán puntos adicionales por resolver varias versiones.


Cuando exista más de una versión para un examen, su calificación vendrá de la versión que resuelvan y que otorgue más puntos. No se otorgarán puntos adicionales por resolver varias versiones.
    Pueden consultar esta lista de problemas de programación para que practiquen.
    Bibliografía:
    • Baase y Van Gelder. Algoritmos computacionales: Introducción al análisis y diseño. Addison Wesley.
    • Dasgupta, Papadimitriou, Vazirani. Algorithms. Mc Graw Hill.
    • Kernighan y Ritchie. El lenguaje de programación C. Pearson.
    • Kleinberg y Tardos. Algorithm Design. Addison Wesley.
    • Knuth. The Art of Computer Programming: Vol. 3 Sorting and Searching. Addison Wesley.
    • Parberry. Problems on Algorithms. Prentice Hall.
    • Roberts. Thinking Recursively. Wiley.
    • Sedgewick. Algoritmos en C++. Pearson.