1151041 - Almacenamiento y Estructuras de Archivos
Institución: Universidad Autónoma Metropolitana, Azcapotzalco.
Instructor: Rodrigo Alexander Castro Campos.
Trimestre: 2024-O.
Grupo: CSI01.
Horario: Lunes, miércoles y viernes de 7:00 a 8:30.
Salón: E-306.
Contenido oficial del curso:
- Algoritmos de procesamiento de cadenas.
- Operaciones fundamentales de archivos.
- Sistemas de archivos.
- Organización de datos.
- Almacenamiento secundario y terciario.
- Compresión y compactación de archivos.
- Ordenamiento externo.
- Índices.
- Árboles B y B+.
- Dispersión y dispersión extendida.
Calificación:
Habrá diez tareas con un valor de 10 puntos cada una. Las tareas consistirán en escribir programas para la plataforma omegaUp que resuelvan al 100% el problema de programación indicado para la evaluación. Sus datos de registro deberán enviarse mediante este formulario antes de la entrega de la primera tarea. No 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. No habrá evaluación terminal. El curso se impartirá en el lenguaje C++.
La calificación final se obtiene de sumar los puntos provenientes de las tareas. 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. Los alumnos que incurran en esta falta, o que envíen programas cuya escritura haya sido asistida mediante herramientas de inteligencia artificial generativa, no tendrán derecho a aprobar el curso.
Pueden consultar esta lista de problemas de "Programación Estructurada" para que practiquen.
Pueden consultar esta lista de problemas de "Algoritmos y Estructuras de Datos" para que practiquen.
Pueden consultar esta lista de problemas de "Almacenamiento y Estructuras de Archivos" para que practiquen.
¡¡¡ Participa en el XXI Concurso de Programación de la UAM "Luis Erick González Moreno" !!!
Calendario: El calendario es tentativo y podrá cambiar. Pueden consultar programas de ejemplo de los temas del curso.
- 21/10: Presentación del curso. Introducción a omegaUp 1, 2. Prueba diagnóstica.
- 23/10: La brecha entre el procesador y la memoria.
- 25/10: Almacenamiento primario, niveles de caché y líneas de coherencia. Tarea 1 para el 04/11 (nota). Envíos aceptados.
- 28/10: Conjuntos no ordenados. Funciones de dispersión y tablas de dispersión.
- 30/10: Tablas de dispersión, funciones de dispersión y colisiones.
- 01/11: Día de descanso obligatorio.
- 04/11: Tablas de dispersión con encadenamiento separado y direccionamiento abierto. Tarea 2 para el 13/11. Envíos aceptados.
- 06/11: Archivos lógicos y físicos. Flujos estándar.
- 08/11: Acompañaré al equipo de la UAM-A a la final nacional del Concurso de Programación ICPC.
- 11/11: Entrada y salida con formato.
- 13/11: Entrada y salida sin formato. Tarea 3 para el 25/11. Envíos aceptados.
- 15/11: Apertura de archivos persistentes.
- 18/11: Búferes de la biblioteca estándar y del sistema de archivos.
- 20/11: Día de descanso obligatorio.
- 22/11: Búferes y bloques. Posicionamiento en archivos.
- 25/11: Posicionamiento en archivos. Tarea 4 para el 09/12. Envíos aceptados.
- 27/11: Bloques del sistema de archivos y fragmentación.
- 29/11: Almacenamiento secundario y terciario. Tarea 5 para el 11/12. Envíos aceptados.
- 02/12: Ordenamiento externo sin archivos temporales.
- 04/12: Ordenamiento externo con archivos temporales. Tarea 6 para el 20/12. Envíos aceptados.
- 06/12: Búsqueda lineal y búsqueda binaria en archivos.
- 09/12: Alfabetos y representación de cadenas.
- 11/12: Compresión de cadenas sin pérdida.
- 13/12: Operadores de manipulación de bits. Tarea 7 para el 10/01. Casos de ejemplo. Envíos aceptados.
- 16/12: Compresión de cadenas sin pérdida mediante tablas de decodificación. Compresión con pérdida.
- 18/12: Ordenamiento de cadenas.
- 20/12: Árboles de prefijos.
- 06/01: Búsqueda de subcadenas. Tarea 8 para entrega el 23/01. Envíos aceptados.
- 08/01: Serialización de registros.
- 10/01: Serialización de secuencias de longitud fija y variable. Tarea 9 para entrega el 23/01. Envíos aceptados.
- 13/01: Mantenimiento de registros, encabezados y compactación.
- 15/01: Indices primarios y secundarios. Árboles B. Tarea 10 para entrega el 23/01. Envíos aceptados.
- 17/01: Árboles B+. Dispersión extendida.
- Calificaciones finales.
Entornos de programación que pueden usar localmente:
Entornos de programación que pueden usar en línea:
Bibliografía:
- Castro Campos. Notas de curso.
- Folk, Zoellick y Riccardi. File Structures: An Object-oriented Approach with C++. Addison Wesley.
- Knuth. The Art of Computer Programming: Vol. 3 Sorting and Searching. Addison Wesley.
- Pate. UNIX File Systems: Evolution, Design, and Implementation. Wiley.
- Salomon. A Concise Introduction to Data Compression. Springer.
- Sedgewick. Algoritmos en C++. Pearson.
- Tharp. File Organization and Processing. Wiley.
Enlaces de interés: