![]() Ministerio de Cultura y Educación Universidad Nacional de San Luis Facultad de Ciencias Físico Matemáticas y Naturales Departamento: Informatica Área: Area IV: Pr. y Met. de Des. del Soft. |
I - Oferta Académica | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Debido a que la ubicación del curso en el Plan de Estudios está sobre el final de la carrera, es evidentemente una materia de
ingeniería netamente aplicativa para la ciencia de la computación. Por tal motivo, el profesional debe tener en su formación básica el conocimiento teórico, fundamentalmente matemático, y luego las estrategias, métodos y técnicas para la aplicación de la ciencia de la computación en desarrollos ingenieriles en problemas de codificación y manipulación de códigos para transmisión y almacenamiento eficientes de la información. El profesional debe ser capaz de enfrentar una amplia variedad de problemas, por lo cual es importante generar la actitud investigadora para desarrollar la mejor solución según un determinado criterio y finalmente volcar en un informe monográfico estas ideas centrales. |
V - Objetivos / Resultados de Aprendizaje |
---|
El objetivo general de la materia consiste en la formación de los alumnos en dos grandes áreas del conocimiento:
- adquirir el conocimiento y emplear las estrategias, métodos y técnicas para abordar el modelo de sistemas de señalización, la codificación de alfabetos y el álgebra utilizados en la teoría de la codificación, - introducir al alumno en las bases de la teoría de la información explotando los conceptos de entropía de un sistema de codificación; capacidad, codificación e información de un canal. El objetivo final es desarrollar habilidades en los alumnos para construir sistemas de codificación usando los conceptos mencionados y enfatizando aspectos de calidad con restricciones de costo, tiempo y seguridad, con el menor costo en la pérdida de la información. Como un objetivo particular se pretende desarrollar en el futuro profesional la actitud investigadora, promoviendo la búsqueda de la solución más adecuada y su posterior desarrollo en una implementación hecha en computadora con el respaldo de un informe monográfico final. Es deseable que el alumno envíe su trabajo de I+D en formato de publicación a un capítulo estudiantil de un congreso. Esto trae aparejado las ventajas de: introducir al alumno en el campo de las habilidades necesarias para expresar ideas y trabajos con fines de publicación (como preliminar a su tesis de grado), provocar la evaluación del trabajo por un jurado externo a la cátedra y a la universidad, y tener la posibilidad de exponer los resultados de su I+D en un congreso. En el transcurso del dictado de esta asignatura se trabajarán de manera transversal los siguientes ejes: - Identificación, formulación y resolución de problemas de informática. - Concepción, diseño y desarrollo de proyectos de informática. - Utilización de técnicas y herramientas en sistemas de informática. - Fundamentos para el desempeño en equipos de trabajo. - Fundamentos para la comunicación efectiva. - Fundamentos para la acción ética y responsable. - Fundamentos para el aprendizaje continuo. |
VI - Contenidos |
---|
Contenidos mínimos: Codificación de un alfabeto fuente. Códigos de detección de error independientes y en racha. Códigos de detección y corrección de error. Codificación Hamming. Detección de errores dobles. Códigos de longitud variable. Códigos instantáneos, Huffman. Esquemas con memoria de Markov. Codificadores predictivos. Entropía. Codificación Shannon-Fano. Información del canal. Canal uniforme. Canal simétrico binario. Teorema Principal de Shannon.
1. CONCEPTOS PRELIMINARES Breve historia. El modelo del sistema de señalización. La codificación de un alfabeto fuente. Código binario, Morse, van Duuren, radix r. Caracteres de escape. El álgebra en la teoría de la codificación. 2. CÓDIGOS DE DETECCIÓN DE ERROR Concepto. Control de paridad. Detección de errores independientes. Detección de errores en racha. Código ponderado. 3. CÓDIGOS DE CORRECCIÓN DE ERROR Motivación. Códigos lineales: rectangular, n-dimensionales, de Hamming. Detección de errores dobles y corrección de errores simples. Página 2 Enfoque geométrico y algebraico. Códigos cíclicos: cíclico propiamente dicho, cuasi cíclico. 4. CÓDIGOS DE LONGITUD VARIABLE Concepto de códigos de longitud variable. Códigos instantáneos, Huffman, Huffman Radix r, Hamming- Huffman. 5. ESQUEMAS CON MEMORIA Procesos ergódicos. Codificadores predictivos. Codificación Hashing. Codificación Gray. 6. INFORMACIÓN Concepto. Entropía. Codificación Shannon-Fano. Entropía de las extensiones de un código. Entropía de un proceso de Markov. 7. CANAL Concepto. Información del canal. Entropías del sistema. Información mutua. Capacidad de canal. Canal uniforme, entrada uniforme. Canal simétrico binario: entropía, capacidad. 8. TEOREMA DE SHANNON Concepto del Teorema Principal de Shannon. Reglas de decisión. El teorema en el canal simétrico binario. Codificación aleatoria. El límite dado por Fano. La inversa del teorema de Shannon. 9. TEORÍA DE CODIFICACIÓN ALGEBRAICA Revisión de códigos: de detección y corrección de un error, de detección de dos errores y cíclicos. Polinomios primos. Raíces primitivas. Códigos perfectos Hamming. |
VII - Plan de Trabajos Prácticos |
---|
1. PRÁCTICOS DE AULA
Código binario, octal, hexadecimal, ASCII, Morse, van Duuren, radix r. Uso de caracteres de escape en algún lenguaje de programación. Control de paridad. Detección de errores independientes. Detección de errores en racha. Código ponderado. Códigos rectangulares, triangulares, cúbicos, n-dimensionales, de Hamming. Detección de errores dobles y corrección de errores simples. Códigos cíclico propiamente dicho y cuasi cíclico. Códigos Huffman, Huffman Radix r, Hamming- Huffman. Procesos ergódicos. Codificadores predictivos. Codificación Hashing. Codificación Gray. Codificación Shannon-Fano. Entropía de las extensiones de un código. Entropía de un proceso de Markov. Información del canal. Entropías del sistema. Información mutua. Canal simétrico binario: entropía y capacidad. Teorema Principal de Shannon. Reglas de decisión. Códigos perfectos Hamming. 2. PRÁCTICOS DE LABORATORIO Implementación de programas para control de paridad y detección de errores independientes. Implementación de programas para códigos rectangulares, triangulares, cúbicos, n-dimensionales, de Hamming, y detección de errores dobles y corrección de errores simples. Implementación de programas para códigos cíclicos. Implementación de programas para códigos Huffman. Implementación de programas para estadísticas de información del canal simétrico binario y capacidad. 3. PRÁCTICOS DE CAMPO Deben hacer una implementación y un informe a tal efecto de resolución de un problema real en un ámbito existente en la temática del curso. A continuación, se presenta la descripción del abordaje de cada uno de los ejes introducidos previamente en los objetivos, como así también, de las metodologías de evaluación de los mismos: - Identificación, formulación y resolución de problemas de informática. Desde el comienzo de la materia se analizan diferentes casos en los que podrían ocurrir errores y se ven las distintas formas de identificarlos y también corregirlos. Se enseñan distintas técnicas de resolución buscando las más eficientes en costos de tiempo y espacio. Asimismo, se realizan laboratorios donde se programan diferentes alternativas y se analizan cada una de ellas. Tanto en práctico de aula como en prácticos de laboratorio con problemas de programación se chequean paso a paso en su realización. También se realizan ejercicios en clase con la participación de todo el grupo y cada uno de los estudiantes. Los docentes interactúan continuamente en el progeso de los ejercicios dados. Se realiza además un examen con sus respectivas recuperaciones con el fin de confirmar el aprendizaje de los temas dados tanto teóricos como prácticos. - Concepción, diseño y desarrollo de proyectos de informática. Se realizan trabajos en grupo induciendo a la distribución de tareas entre los integrantes, acordando puntos de anclaje entre módulos como así también la toma de decisiones en el lenguaje a utilizar como en el trabajo de realizar operaciones con bits donde deben cuidar el costo de tiempo y espacio haciéndolo lo más eficiente posible. Siempre con seguimiento docente de los pasos que van dando. Todo es evaluado, tanto en el proceso de realización como en la entrega de los trabajos solicitados. También el Proyecto final es evaluado en la codificación como en el funcionamiento y diseño de pantallas cuidando la amigabilidad con el usuario, más un informe escrito con un formato definido y una presentación exponiendo en una clase con diapositivas/video de cada grupo. - Utilización de técnicas y herramientas en sistemas de informática. Para la realización de los laboratorios de máquina y Proyecto Final se utilizan técnicas y herramientas en el uso de bits de información. Armado de bytes con datos de diferentes códigos, cuidando siempre el costo en tiempo y espacio. Además se aprende a desmenuzar la información de texto en bits para el tratamiento de diferentes bloques de análisis de protección de datos según Hamming y de compactación según Huffman. Se evalúan todos estos procesos en el seguimiento paso a paso y en la presentación de los trabajos de laboratorio y proyecto final. - Fundamentos para el desempeño en equipos de trabajo. Los laboratorios de máquina y el proyecto final se realizan en grupos de 2 o 3 estudiantes cada uno. La intención es el trabajo grupal coordinado, tanto en la elección de los lenguajes en los que van a programar como en el alcance de cada módulo a definir y el anclaje a determinar para cada uno, para el armado del Proyecto Final. En el Proyecto Final todos los integrantes deben estar al tanto de lo realizado entre todos. Es decir, en la realización del informe y presentación final todos los integrantes del grupo deben estar al tanto de todos los módulos y todo el trabajo en general. - Fundamentos para la comunicación efectiva. Se pide la realización de un informe según una guía propuesta y un formato definido, para que el estudiante aprenda el armado del mismo considerando los distintos aspectos y orden de una presentación escrita. Por otro lado, los estudiantes deben realizar una exposición del Trabajo Final presencial con presentador de diapositivas/video en la cual los estudiantes se explayan sobre temas de la materia, sobre el trabajo realizado, como se hizo, que problemas tuvieron y que logros alcanzaron. Muestran el sistema funcionando con las diferentes pantallas para terminar con un análisis estadístico y conclusiones del trabajo en general.. Esta tarea se busca la buena comunicación frente a un público formado por el resto de sus compañeros y los docentes donde ya se puede ver el lenguaje incorporado producto de los temas aprendidos en la materia. - Fundamentos para la acción ética y responsable. Al comienzo de clases se detalla toda la materia, temas a dictarse, profundidad y prácticos de aula y laboratorios. También se detalla cronograma de fechas de examenes, entregas de laboratorios y Trabajo Final. Se hace incapié en el horario de las clases y en el cumplimiento responsable y respetuoso. Se evalúa el presentismo a las clases teóricas y prácticas, las entregas de prácticos a tiempo y el Trabajo Final con el informe respetando los formatos y orden especificados, como así la exposición con los detalles necesarios para lograr expresarse correctamente y con la participación de cada uno de los integrantes de cada grupo. - Fundamentos para el aprendizaje continuo. En cada clase se relacionan temas nuevos con temas ya vistos en la carrera. Se aclaran temas en pizarrón y se interactúa con los estudiantes, quienes también colaboran en la resolución de ejercicios, desde el banco y en el pizarrón. En la parte práctica, se realizan laboratorios de programas en una secuencia dada, tal que el primer programa realizado es usado en el siguiente y la realización del Proyecto Final incorpora todos los trabajos anteriores unificándolos en un solo trabajo. Este último trabajo le agrega el detalle, las pantallas, el diseño, la amigabilidad con el usuario y la eficiencia de integración. Se evalúa en la presentación de cada programa y del proyecto final donde se controla paso a paso vaya incorporando los conocimientos y la práctica de los mismos en forma continua. |
VIII - Regimen de Aprobación |
---|
Para regularizar la asignatura el estudiante debe:
Haber asistido al menos al 80% de las clases, Aprobar un examen teórico-práctico, o sus respectivas recuperaciones, (Los estudiantes tienen dos recuperaciones adicionales en cada instancia tal como lo regula la normativa vigente.) Demostrar participación y colaboración en clase Presentar en forma y tiempo y aprobar los prácticos de laboratorio, o sus respectivas recuperaciones, Aprobar el práctico de campo. Para promocionar la asignatura el estudiante debe cumplir con las condiciones de regularización y Aprobar los trabajos prácticos de laboratorio y el examen integrador con nivel superior o igual a siete puntos sobre un total de diez. La evaluación final integradora está basada en la teoría y práctica desarrollada en la materia. (Coloquio) La cátedra permite estudiantes libres, para los cuales se les exigirán: - Entrega y aprobación de los prácticos de laboratorio desarrollados durante el cursado de la materia, - Realización y aprobación de una monografía que surge de un trabajo de investigación, - Aprobación de un examen final teórico-práctico. (Para poder rendir el examen final teórico-práctico, previamente el estudiante debe haber entregado y aprobado los prácticos de laboratorio desarrollados y la monografía que surge de un trabajo de investigación.) |
IX - Bibliografía Básica |
---|
[1] "Information Theory: A Tutorial Introduction", JV Stone, University of Sheffield, England, 2014.
[2] "Information Theory: Coding Theorems for Discrete Memoryless Systems", Imre Csiszár, János Körner, 2nd. Edition, [3] Cambridge University Press, 2011. [4] "Coding and Information Theory", Steven Roman, Springer Science & Business Media, 1992. [5] "Coding and Information Theory", Richard W. Hamming, Prentice-Hall, 1980. [6] "Códigos de Corrección de Errores para Grabación Magnética y Arreglos de Discos", M. Blaum, IBM Almaden Research [7] Center, USA. ECI''95 [8] "An Introduction to Information Theory", Fazlollah M. Reza, McGraw Hill, 1961 |
X - Bibliografia Complementaria |
---|
[1] "Error-Correcting Codes", W. Wesley Peterson and E. J. Weldon, The MIT Press, 1994.
[2] "Introduction to The Theory of Error Correcting Codes", Vera Pless, John Wiley and Sons, 1989. [3] "Elementary Information Theory", D. S. Jones, Clarendon Press, 1979. [4] "Key Papers in Development of Information Theory", Ed. David Slepian, IEEE Computer Society Press, 1974. [5] "A mathematical theory of communication", C. E. Shannon, Bell Syst., July 1948. [6] "A mathematical theory of communication", C. E. Shannon, Bell Syst., Oct. 1948. [7] "A method for the construction of minimum redundancy codes", D. A. Huffman, Proc. IRE, Sept. 1952. [8] "The basic theorems of information theory", B. McMillan, Ann. Math. Stat., June 1953 |
XI - Resumen de Objetivos |
---|
El objetivo final es desarrollar habilidades en los alumnos para construir sistemas de codificación usando el conocimiento de
estrategias, métodos y técnicas para abordar el modelo de sistemas de señalización, la codificación de alfabetos y el álgebra utilizados en la teoría de la codificación, las bases de la teoría de la información explotando los conceptos de entropía de un sistema de codificación; capacidad, codificación e información de un canal y enfatizando aspectos de calidad con restricciones de costo, tiempo y seguridad, con la menor pérdida de la información. Se debe lograr que el alumno aprenda a trabajar en equipo y aprenda a expresarse en forma oral y escrita en los temas de la asignatura. |
XII - Resumen del Programa |
---|
Conceptos preliminares de la Teoria de la Información y la Codificación. El modelo del sistema de señalización. La
codificación de un alfabeto fuente. El álgebra en la teoría de la codificación. Códigos de detección de error. Control de paridad. Detección de errores independientes. Detección de errores en racha. Código ponderado. Códigos de corrección de error. Códigos lineales. Detección de errores dobles y corrección de errores simples. Enfoque geométrico y algebraico. Códigos cíclicos. Códigos de longitud variable. Códigos instantáneos, Huffman, Huffman Radix r, Hamming-Huffman. Esquemas con memoria. Procesos ergódicos. Codificadores predictivos. Codificación Hashing. Codificación Gray. Información. Entropía. Codificación Shannon-Fano. Entropía de las extensiones de un código y de un proceso de Markov. Canal. Información del canal. Entropías del sistema. Información mutua. Capacidad de canal.Canal uniforme, entrada uniforme. Canal simétrico binario: entropía, capacidad. Teorema de Shannon. Reglas de decisión. El teorema en el canal simétrico binario. Codificación aleatoria. El límite dado por Fano. La inversa del teorema de Shannon. Teoría de codificación algebraica. Revisión de códigos. Polinomios primos. Raíces primitivas. Códigos perfectos Hamming |
XIII - Imprevistos |
---|
De acuerdo al Calendario Académico de la Universidad Nacional de San Luis para el año 2024, se establece que el Primer
Cuatrimestre sea de 14 semanas. A los efectos de que se impartan todos los contenidos y se respete el crédito horario establecido en el Plan de Estudios de la carrera para esta asignatura, se establece que se den cómo máximo 6 horas por semana distribuidas en teorías, prácticos de aula y laboratorio y consultas, hasta completar las 75 horas correspondientes al Crédito Horario Total de la asignatura. |
XIV - Otros |
---|
Las vías de comunicación con los estudiantes son las siguientes:
- http://www.dirinfo.unsl.edu.ar/academico/carreras/licenciatura-en-ciencias-de-la-computacion - Correos electrónicos de los docentes: Mario Silvestri: marioasiilvestri@gmail.com Walter Caballero: waltercaballero@gmail.com - Oficina: box 3, primer piso bloque II. |