En términos generales, la asignatura está dirigida a comprender la importancia de la compresión, como por ejemplo antes de almacenar o enviar datos, a distinguir entre compresiones fieles o con pérdidas y adquirir criterios para decidir qué usar en cada caso, y a familiarizarse con los correspondientes aspectos algorítmicos y computacionales.
Profesorado
Responsable
Fernando Martínez Sáez (
)
Horas semanales
Teoría
1
Problemas
1
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias Técnicas
Competencias técnicas comunes
CT1 - Demostrar conocimiento y comprensión de hechos esenciales, conceptos, principios y teorías relativas a la informática y a sus disciplinas de referencia.
CT1.2A
- Demostrar conocimiento y comprensión de los conceptos fundamentales de la programación y de la estructura básica de un computador. CEFB5. Conocimiento de la estructura, funcionamiento e interconexión de los sistemas informáticos, así como los fundamentos de su programación.
CT1.2C
- Interpretar, seleccionar y valorar conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación a partir de los fundamentos matemáticos, estadísticos y físicos necesarios. CEFB1: Capacidad para la resolución de los problemas matemáticos que puedan plantarse en la ingeniería. Aptitud para aplicar los conocimientos sobre: algebra, cálculo diferencial e integral i métodos numéricos; estadística y optimización.
CT4 - Demostrar conocimiento y capacidad de aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y la complejidad de los algoritmos
CT4.1
- Identificar las soluciones algorítmicas más adecuadas para resolver problemas de dificultad mediana.
CT4.2
- Razonar sobre la corrección y la eficiencia de una solución algorítmica.
CT5 - Analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, escogiendo el paradigma y los lenguajes de programación más adecuados.
CT5.2
- Conocer, diseñar y utilizar de forma eficiente los tipos y las estructuras de datos más adecuados para la resolución de un problema.
CT5.3
- Diseñar, escribir, probar, depurar, documentar y mantener código en un lenguaje de alto nivel para resolver problemas de programación aplicando esquemas algorítmicos y usando estructuras de datos.
CT5.4
- Diseñar la arquitectura de los programas utilizando técnicas de orientación a objetos, de modularización y de especificación e implementación de tipos abstractos de datos.
CT5.5
- Usar las herramientas de un entorno de desarrollo de software para crear y desarrollar aplicaciones.
Competencias Transversales
Razonamiento
G9 [Avaluable] - Capacidad de razonamiento crítico, lógico y matemático. Capacidad para resolver problemas dentro de su área de estudio. Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. Capacidad de diseñar y realizar experimentos sencillos, y analizar e interpretar sus resultados. Capacidad de análisis, síntesis y evaluación.
G9.1
- Capacidad de razonamiento crítico, lógico y matemático. Capacidad para comprender la abstracción y utilizarla adecuadamente.
Competencias Técnicas de cada especialidad
Especialidad de computación
CCO1 - Tener un conocimiento profundo de los principios fundamentales y de los modelos de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática.
CCO1.1
- Evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución, y recomendar, desarrollar e implementar la que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
CCO1.2
- Demostrar conocimiento de los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la creación, el diseño y el procesamiento de lenguajes.
Objetivos
Comprender lo que es la compresión sin pérdidas, las circunstàncias en las que es aplicable, y los métodos más importantes para conseguirla.
Competencias relacionadas:
G3.2,
G7.1,
G7.2,
G7.3,
G9.1,
Familiarizarse con los conceptos de compresión con pérdidas, con la manera como se miden el grado de compresión y la bondad de los resultados, y con los métodos más relevantes usados en la práctica.
Competencias relacionadas:
CT1.2A,
CT1.2C,
CT4.1,
CT4.2,
CT5.2,
CT5.3,
CT5.4,
CT5.5,
CCO1.1,
CCO1.2,
Contenidos
Compresión sin pérdidas
Codificación de fuente. Algoritmo de Huffman. Codificación aritmética. Técnicas de diccionario. Otros métodos.
Compresión con pérdidas
Cuantización escalar y vectorial. Transformadas discretas. Wavelets. JPEG.
Actividades
ActividadActo evaluativo
Desarrollo del bloque de teoría compresión sin pérdidas en clases de teoría, sesiones de laboratorio y sesiones de resolución de problemas.
Teoría: Exposición de los principios básicos en que se base la compresión sin pérdidas, con indicaciones de cómo se aplican.
En las clases de teoría se explicaran los fundamentos de los distintos métodos de compresión que después se implementarán en las clases de laboratorio.