1151041 - Almacenamiento y Estructuras de Archivos
Institución: Universidad Autónoma Metropolitana, Azcapotzalco.
Instructor: Rodrigo Alexander Castro Campos.
Trimestre: 2024-P.
Grupo: CSI02.
Horario: Lunes, miércoles y viernes de 13:00 a 14:30.
Salón: E306.
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 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.
Calendario: El calendario es tentativo y podrá cambiar. Pueden consultar programas de ejemplo de los temas del curso.
- 15/07: Presentación del curso. Introducción a omegaUp 1, 2. Prueba diagnóstica.
- 17/07: La brecha entre el procesador y la memoria.
- 19/07: Almacenamiento primario, niveles de caché y líneas de coherencia. Tarea 1 para el 29/07 (nota). Envíos aceptados
- 22/07: Conjuntos no ordenados. Funciones de dispersión y tablas de dispersión.
- 24/07: Tablas de dispersión, funciones de dispersión y colisiones.
- 26/07: Tablas de dispersión con encadenamiento separado y direccionamiento abierto. Tarea 2 para el 05/08 (nota). Envíos aceptados
- 29/07: Archivos lógicos y físicos. Flujos estándar.
- 31/07: Entrada y salida con formato.
- 02/08: Entrada y salida sin formato. Tarea 3 para el 12/08. Envíos aceptados.
- 05/08: Apertura de archivos persistentes.
- 07/08: Búferes de la biblioteca estándar y del sistema de archivos.
- 09/08: Búferes y bloques. Posicionamiento en archivos. Tarea 4 para el 21/08. Envíos aceptados.
- 12/08: Posicionamiento en archivos. Tarea 5 para el 28/08. Envíos aceptados.
- 14/08: Bloques del sistema de archivos y fragmentación.
- 16/08: Almacenamiento secundario: discos magnéticos y de estado sólido.
- 19/08: Almacenamiento terciario: discos ópticos y cintas magnéticas.
- 21/08: Ordenamiento externo sin archivos temporales. Tarea 6 para el 02/09. Envíos aceptados.
- 23/08: Ordenamiento externo con archivos temporales.
- 26/08: Búsqueda lineal y búsqueda binaria en archivos.
- 28/08: Alfabetos y representación de cadenas.
- 30/08: Compresión de cadenas sin pérdida. Operadores de manipulación de bits. Tarea 7 para el 13/09. Envíos aceptados.
- 02/09: Compresión de cadenas sin pérdida mediante tablas de decodificación. Compresión con pérdida.
- 04/09: Ordenamiento de cadenas.
- 06/09: Árboles de prefijos. Tarea 8 para el 18/09. Envíos aceptados.
- 09/09: Búsqueda de subcadenas.
- 11/09: No hubo clase debido al paro estudiantil.
- 13/09: Serialización de registros de longitud fija y variable.
- 16/09: Día de descanso obligatorio.
- 18/09: Mantenimiento de registros y compactación. Tarea 9 para el 03/10. Envíos aceptados.
- 20/09: Mantenimiento de registros.
- 23/09: Encabezados de archivos. Indices primarios y secundarios.
- 25/09: Árboles B. Tarea 10 para el 03/10. Envíos aceptados.
- 27/09: Á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 (se irán actualizando conforme avance el trimestre).
- 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: