Rodrigo A. Castro Campos‎ > ‎

1151041 - Almacenamiento y Estructuras de Archivos

Institución: Universidad Autónoma Metropolitana, Azcapotzalco.
Instructor: Rodrigo Alexander Castro Campos.
Trimestre: 2023-O.

Grupo: CSI01.
Horario: Lunes, miércoles y viernes de 7:00 a 8:30.
Salón: E309.

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án 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 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.

Cuando exista más de una versión para una tarea, basta con que resuelvan una de ellas; no se otorgarán puntos adicionales por resolver varias versiones.

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.

¡¡¡ Participa en el XIX Concurso de Programación de la UAM "Luis Erick González Moreno" !!!

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.

  • 13/11: Presentación del curso. Introducción a omegaUp 1, 2. Prueba diagnóstica.
  • 15/11: La brecha entre el procesador y la memoria.
  • 17/11: Almacenamiento primario, niveles de caché y líneas de coherencia. Tarea 1 para el 01/12. Envíos aceptados.
  • 20/11: Día de descanso obligatorio.
  • 22/11: Conjuntos no ordenados. Funciones de dispersión y tablas de dispersión.
  • 24/11: Tablas de dispersión, funciones de dispersión y colisiones. Tarea 2 para el 06/12. Envíos aceptados.
  • 27/11: Tablas de dispersión con encadenamiento separado y direccionamiento abierto.
  • 29/11: Archivos lógicos y físicos. Flujos estándar.
  • 01/12: Entrada y salida con formato.
  • 04/12: Entrada y salida sin formato. Tarea 3 para el 13/12. Envíos aceptados.
  • 06/12: Apertura de archivos persistentes.
  • 08/12: Búferes de la biblioteca estándar y del sistema de archivos.
  • 11/12: Búferes del sistema de archivos.
  • 13/12: Posicionamiento en archivos. Tarea 4 para el 22/12. Envíos aceptados.
  • 15/12: Bloques del sistema de archivos y fragmentación. Tarea 5 para el 10/01. Envíos aceptados.
  • 18/12: Almacenamiento secundario: discos magnéticos y de estado sólido.
  • 20/12: Almacenamiento terciario: discos ópticos y cintas magnéticas.
  • 22/12: Ordenamiento externo sin archivos temporales.
  • 08/01: Ordenamiento externo con archivos temporales. Tarea 6 para el 22/01. Envíos aceptados.
  • 10/01: Búsqueda lineal y búsqueda binaria en archivos.
  • 12/01: Alfabetos y representación de cadenas.
  • 15/01: Compresión de cadenas sin pérdida. Operadores de manipulación de bits. Tarea 7 para el 05/02. Envíos aceptados.
  • 17/01: Compresión de cadenas sin pérdida mediante tablas de decodificación. Compresión con pérdida.
  • 19/01: Ordenamiento de cadenas.
  • 22/01: Árboles de prefijos. Tarea 8 para el 05/02. Envíos aceptados.
  • 24/01: Búsqueda de subcadenas.
  • 26/01: Serialización de registros de longitud fija y variable.
  • 29/01: Encabezados de archivos. Mantenimiento de registros.
  • 31/01: Mantenimiento de registros y compactación. Tarea 9 para el 14/02. Envíos aceptados.
  • 02/02: Indices primarios e Índices secundarios.
  • 05/02: Día de descanso obligatorio.
  • 07/02: Árboles B y B+. Tarea 10 para el 14/02. Envíos aceptados.
  • 09/02: 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: