Este es el tercer curso de programación en la carrera de Ingeniería
de Sistemas. Se enfatiza en estructuras de datos, que permitan
organizar en memoria principal conjuntos de datos, de tal manera de
manejarlos efectiva y eficientemente según el problema que se
trate. Del mismo modo, en este curso se enseñan las técnicas básicas
de diseño y análisis de algoritmos.
- Instructor: Leandro Rabindranat Leon -
lrleon punto ula punto ve
- Preparador: Erik Velasquez - velasquezerik at ula punto ve
- Delegado: Freddy Marrero - fredmarrerosvp at hotmail punto com
Reuniones de proyecto: gerentes, ayudante docente y profesor: los
viernes de 5-6 pm en CEMISID. Asistencia obligatoria
Foro de discusión para el
proyecto
Para el curso se emplea la biblioteca Aleph. La versión fuente más reciente puede descargarse
de aquí.
Últimas noticias
- 27/09/2011: Notas
definitivas aquí.
- 30/6/2011: Notas 1er parcial
- 13/4/2011: forma para el
proyecto aquí. Cada grupo debe
llenarla y firmarla.
- 12/4/2011: personas que no tengan grupo deben consignar
cuestionario lleno e
impreso. Pulse aquí
para descargarlo
- 6/4/1011: Reunión gerentes proyecto: viernes 15 de abril.
Evaluación
Las evaluaciones, con sus porcentajes sobre la nota definitiva entre
paréntesis, son las siguientes:
- Tres exámenes parciales (50%): se elimina la peor
calificación
- Proyecto de programación (20%) bajo las siguientes condiciones:
- Grupos de máximo 6 personas. Cada grupo debe designar un
"gerente" del proyecto, quien será el interlocutor y vocero del
grupo
- Sistema operativo Linux, compilador GNU gcc, biblioteca
Aleph
- Interfaz gráfica con biblioteca QT
- Fecha de entrega: jueves 19 de mayo de 2011
- Corrección proyecto:
- No compila o no cumple ningún requerimiento ==> cero de
calificación
- Cumplimiento de requerimientos: 50%
- Manual del usuario: 10%
- Documento de diseño: 5%
- Estilo de codificación: 10%
- Interfaz usuario: 10%
- Nota apreciativa: 10%
- Pulse aquí para leer mis
consideraciones sobre la importancia de hacer un proyecto y su
evaluación
- Evaluación general de laboratorio (15%)
- Nota apreciativa (15%)
Programa
- Abstracción y programación: tipos dabstractos de datos, clases,
herencia, polimorfismo, programación genérica
- Secuencias: arreglos, listas enlazadas, pilas, colas y recursión
- Análisis de algoritmos
- Notación O:
- Métodos de ordenamiento: selección, inserción, rápido
(quicksort), mezcla (mergesort)
- Algoritmos dividir conquistar
- Árboles
- Definiciones
generales: árbol, representaciones en memoria, árbol binario,
recorridos, correspondencia entre árboles y árboles binarios.
- Algoritmos básicos
- Conceptos matemáticos
- Árboles binarios de búsqueda
- Árboles binarios con rango
- Heaps
- Treaps
- Árboles binarios de búsqueda aleatorizados
- Tablas Hash
- Conceptos generales
- Estrategias de manejo de colisiones
- Diseño de funciones hash
- Tablas hash lineales
Bibliografía
- Tejiendo Algoritmos -
Leandro Rabindranath Leon
- Estructura de datos y algoritmos - Alfred V. Aho, John
E. Hopcroft, Jefrey D. Ullman - Addison-Wesley.
Iberoamericana: Sistemas Técnicos de Edición, 1988. ISBN
968-6048-19-7
- Programming Pearls - Jon Bentley. Addison-Wesley
Professional. ISBN-10: 0201657880
Todas las estructuras de datos y algoritmos enseñados en este curso
están disponibles en la biblioteca
Aleph.
Otros
- Horarios: lunes y miércoles de 10 AM a 12 PM
- Laboratorio: sábados de 8 - 10 AM
- Lista de clase