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.
Régimen de aprobación, promoción y regularidad
Para aprobar esta materia deben aprobarse independientemente las dos partes: teórico/práctico y laboratorio.
Promoción: El teo/pra, y por ende la materia en sí, no tiene promoción. El laboratorio sí. Les informaremos la modalidad de promoción del laboratorio dentro de unas semanas, cuando se estabilice la cantidad de gente que asiste a la materia.
Regularidad: Se pedirán dos o tres trabajos obligatorios en el teo/pra y también algunos trabajos en el laboratorio. No habrá exámenes parciales.
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