¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Acerca de...
Objetivos
Se pretende que el alumno adquiera:
- capacidad para comprender y describir el problema que resuelve un algoritmo (el “qué”) y diferenciarlo de la manera en que lo resuelve (el “cómo”),
- capacidad para analizar algoritmos, compararlos según su eficiencia en tiempo y en espacio,
- capacidad y hábito de identificar y describir abstracciones relevantes al abordar un problema,
- familiaridad con técnicas de diseño de algoritmos de uso frecuente,
- familiaridad con la programación (en el lenguaje c, entre otros) de algoritmos y estructuras de datos,
- familiaridad con la utilización de diversos niveles de abstracción y lenguajes de programación.
Programa
- Los contenidos se dividen en tres partes:
- Análisis de algoritmos: algoritmos de ordenación, orden de un algoritmo, recurrencias.
- Tipos abstractos de datos: tipos concretos versus tipos abstractos, contador, pila, cola, árboles.
- Técnicas de programación: algoritmos voraces, divide y vencerás, programación dinámica, backtracking.
- En Programa de la materia se encuentra una descripción detallada de los contenidos, como así también de los objetivos de la materia, modalidad de evaluación, etc.
Bibliografía
- Notas de Algoritmos y Estructuras de Datos II.
- Buscar en la wiki de años anteriores.
- Brassard and Bratley, Fundamentals of Algoritmics.
- Manber, Introduction to Algorithmics: A Creative Approach.
- Bibliografía Complementaria
- Cormen, Leiserson, Rivest y Stein, Introduction to Algorithms.
- Balcázar, Programación Metódica.
- Biggs, Matemática Discreta.
- Kaldewaij, Programming: the Derivation of Algorithms.
- Blanco, Smith y Barsotti, Cálculo de Programas.
- Tutoriales de lenguaje C
- Manual de referencia en inglés
This is a reference manual for the C programming language as implemented by the GNU Compiler Collection (GCC).
- Otros
Vínculos interesantes
- Visualizador de ejecución de programas
- Python tutor Permite visualizar la ejecución de programas en python, c, java entre otros lenguajes.
- Algoritmos de ordenación.
- Algunos visualizadores
- Algo-Ritmos
- Notación O
- Visualizador de funciones y su crecimiento
- TADs
Grupo de Correo
Instrucciones para agregarse al grupo de correo
Tenemos un googlegroup para los alumnos y los docentes en la siguiente dirección:
https://groups.google.com/forum/#!forum/ayed2-famaf
Para subscribirse, hacer click en “Accede para ver este grupo” (o “subscribe to this group”, o similar).
Por favor, además de la dirección de mail asegurarse de proporcionar su nombre y apellido. En caso contrario, no se accederá a la solicitud hasta tanto podamos identificarlo como alumno de la asignatura.
Por favor elegir una dirección de mail que lean todos los días y que no tenga restricciones de tamaño. No es obligatorio que sea un email de gmail. Las direcciones de hotmail/outlook están particularmente no recomendadas ya que suelen llenarse rápido y no les llegan los correos.
Una vez que solicitaron acceder al grupo, aguardar que llegue a su casilla de correo la aprobación de esa solicitud.
Instrucciones para mandar un mail a la lista de correo
Para mandar un mail a la lista de la materia, escribir a:
ayed2-famaf@googlegroups.com