Guía docente de Teoría de la Información y la Codificación (Especialidad Computación y Sistemas Inteligentes) (29611AA)

Curso 2025/2026
Fecha de aprobación: 30/06/2025

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Complementos de Computación y Sistemas Inteligentes

Materia

Herramientas de Computación Científica

Curso

4

Semestre

1

Créditos

6

Tipo

Optativa

Profesorado

Teórico

Manuel Pegalajar Cuéllar. Grupo: A

Práctico

Manuel Pegalajar Cuéllar Grupo: 1

Tutorías

Manuel Pegalajar Cuéllar

Email
No hay tutorías asignadas para el curso académico.

Prerrequisitos y/o Recomendaciones

Se recomienda tener cursadas las asignaturas las asignaturas básicas y obligatorias del Grado en Ingeniería Informática.

En el caso de utilizar herramientas de IA para el desarrollo de la asignatura, el estudiante debe adoptar un uso ético y responsable de las mismas. Se deben seguir las recomendaciones contenidas en el documento de "Recomendaciones para el uso de la inteligencia artificial en la UGR" publicado en esta ubicación: https://ceprud.ugr.es/formacion-tic/inteligencia-artificial/recomendaciones-ia#contenido0

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Teoría de la Información.
  • Entropía.
  • Sistemas de Transmisión.
  • Códigos Detectores y Correctores.

Competencias

Competencias Generales

  • CG08. Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.

Resultados del proceso de formación y de aprendizaje

Conocimientos o Contenidos

  • C01. Conoce las materias básicas y tecnologías que capacitan para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que dotan de una gran versatilidad para adaptarse a nuevas situaciones.

Habilidades o Destrezas

  • HD01. Resuelve problemas con iniciativa, toma de decisiones, autonomía y creatividad, y sabe comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
  • HD16. Toma decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles), y argumenta y justifica lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista.
  • HD17. Usa y aplica las TIC en el ámbito académico y profesional.

Resultados de aprendizaje (Objetivos)

  • Conocer y utilizar los conceptos básicos de información y su medida de entropía, cantidad de información y capacidad del canal, asociado a un contexto probabilístico.
  • Conocer el sistema de transmisión desde que la información parte del usuario hasta que se convierte en un determinado código, y luego el paso inverso, descifrarlo para que sea legible por el usuario.
  • Conocer los sistemas de transmisión de información para conseguir que ésta sea lo más rápida, con la menor distorsión y al menor coste posible.
  • Conocer la teoría matemática de la información desarrollada por Shannon, que estudia el problema de la transmisión de información a través de los canales en los que puede haber ruido.
  • Comprender el concepto de codificación de una fuente, que tiene por objetivo adaptar, estadísticamente, la fuente productora de los mensajes que se deben transmitir por el canal.
  • Estudiar los códigos de descodificación única e instantánea: sus propiedades (primer y segundo teorema de Shannon).
  • Tener los conocimientos básicos sobre códigos para canales sin ruido.
  • Saber construir un código de Huffman y ver la diferencia entre códigos binarios y n-arios.
  • Saber construir un código de Shannon-Fano.
  • Interpretar la diferencia entre los códigos de Huffman y los de Shannon-Fano.
  • Adquirir los conocimientos básicos sobre Códigos para canales con ruido, incidiendo en los distintos códigos detectores y correctores.
  • Saber construir un código lineal.
  • Saber construir un código de Hamming e interpretar sus analogías y diferencias con los códigos lineales.
  • Saber construir un código cíclico.
  • Interpretar las diferencias entre los códigos cíclicos, BCH, Reed-Solomon y Goppa.
  • Ser capaces de ver las ventajas e inconvenientes de cada código y cuando se debe usar cada uno de ellos.
  • Ser capaces de implementar los diferentes códigos aprendidos en las horas de teoría.
  • Ser capaces de implementar las medidas de información estudiadas en el primer módulo.

Programa de contenidos Teóricos y Prácticos

Teórico

El temario de la asignatura contempla dos bloques fundamentales: Teoría y Prácticas. El bloque de teoría se orienta a explicar qué es la información, qué medidas existen de información y sus propiedades, y la construcción de códigos simples. Particularmente, se estudiará la construcción de códigos óptimos para realizar una transmisión/codificación/almacenamiento eficiente de información, cómo usar redundancia de información para desarrollar técnicas para detectar errores en mensajes transmitidos en canales con ruido, y también técnicas para detectar y corregir errores en el mismo tipo de canal, cubriendo todos los objetivos y competencias mostrados en esta guía docente.

El temario de teoría se organiza en los siguientes módulos o temas:

  • Tema 1: Introducción a la Teoría de la Información.
  • Tema 2: Medidas de información. Cantidad de información. Información mutua.
  • Tema 3: Información en canales sin ruido. Códigos óptimos.
  • Tema 4: Información en canales con ruido. Códigos para detectar errores.
  • Tema 5: Códigos detectores y correctores de errores.

Práctico

Las prácticas de la asignatura se realizarán en el tiempo de clase, en el laboratorio del centro habilitado al efecto. Dichas prácticas se plantearán con un doble objetivo: En primer lugar, servir para asentar los contenidos teóricos e implementar las técnicas aprendidas en teoría en lenguajes de propósito general. El segundo objetivo incluye que también se estudie de forma directa la utilidad de la teoría de la información y la codificación en aplicaciones reales. Para alcanzar ambos objetivos, el profesorado pondrá a disposición del alumno diferentes tareas de implementación de códigos y conceptos relacionados con la teoría.

Las prácticas serán llevadas a cabo utilizando Python. En particular, se propondrá al estudiante un cuaderno de prácticas por cada tema de teoría, con un problema que el estudiante deberá resolver. Se organizan en los siguientes proyectos:

  1. Práctica 1: los secretos de la antigüedad.
  2. Práctica 2: ¿Quién es quién?
  3. Práctica 3: Compresión de datos con el método de Huffman
  4. Práctica 4: Códigos de barras. EAN13
  5. Práctica 5: Implementación de diversos tipos de códigos lineales..

Bibliografía

Bibliografía fundamental

  • Adámek, J. Foundations of Coding. John Wiley & Sons, 1991.
  • David J.C. MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press 2022.
  • San Ling, Chaoping Xing, Coding Theory: A first course, Cambridge University Press 2004.
  • Andre Neubauer, Coding theory: algorithms, architectures, and applications, John Wiley, 2008.

Bibliografía complementaria

  • Cover,T,m., Thomas,J.A. Elements of information Theory, Wiley-Interscience. Second edition. 2006.
  • Gray,R.M. Entropy and Information Theory. Springer-Verlag. New-York. Second edition. 2013.
  • Mackay, D. Information Theory, Inference, and Learning Algorithms. Cambridge University Press. 2003.
  • Van lInt, J.H. Introduction to coding theory. Springer-Verlag. Third edition. 1999.
  • Woungang,I., Misra, S., Misra,S.C. Selected topics in information and coding theory. Series on Coding Theory and Cryptology. 2010.

Enlaces recomendados

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Metodología docente

  • MD01. Lección magistral.
  • MD02. Actividades prácticas.
  • MD03. Seminarios.
  • MD04. Actividades no presenciales.
  • MD05. Tutorías académicas.

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación Ordinaria

El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.

La calificación final será una valoración numérica entre 0 y 10, correspondiente a la suma ponderada de las evaluaciones de los contenidos teóricos y de los contenidos prácticos. El 50% de la calificación se corresponderá con la evaluación de los contenidos teóricos, y el restante 50% con la evaluación de los contenidos prácticos. No se requiere un mínimo de calificación en ninguna de las dos partes para superar la asignatura, aunque sí se requiere haber entregado al menos el 60% de los ejercicios/proyectos de cada parte (de teoría y de prácticas) para asegurar que el alumno alcance las competencias de la asignatura.

El sistema de evaluación ordinaria se realizará mediante evaluación continua. Con respecto a la evaluación de contenidos teóricos, se realizará un examen tipo test por cada tema, en horario de clase durante las prácticas de la asignatura. Con respecto a los contenidos prácticos, se evaluarán los cinco diferentes cuadernos de prácticas realizados en el laboratorio, previamente descritos en la sección "Programa de contenidos teóricos y prácticos" de esta guía docente. Todos los proyectos prácticos, así como los exámenes de tipo test, contribuyen equitativamente a la calificación final. Se requiere que el estudiante asista al menos a las sesiones de laboratorio donde se realizarán las actividades de evaluación.

Se reservarán horas de clase para realizar defensas de cada proyecto (teórico o práctico) que sirvan para verificar la autenticidad del material entregado.

Evaluación Extraordinaria

Se realizará un examen escrito con preguntas de desarrollo (teoría) o ejercicios (prácticas) que aseguren adquirir los conocimientos y habilidades requeridos en la asignatura. La evaluación tendrá una puntuación en el rango de 0 a 10, donde el 50% de la calificación final corresponde a la parte de teoría y el 50% restante a la parte de prácticas.

Evaluación única final

Se realizará un examen escrito con preguntas de desarrollo (teoría) o ejercicios (prácticas) que aseguren adquirir los conocimientos y habilidades requeridos en la asignatura. La evaluación tendrá una puntuación en el rango de 0 a 10, donde el 50% de la calificación final corresponde a la parte de teoría y el 50% restante a la parte de prácticas.

Información adicional

Régimen de asistencia

  • La asistencia a las clases no será obligatoria, salvo en los casos indicados en el sistema de evaluación continua.

Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).