Desarrollo de Aplicaciones de Aprendizaje Automático

Profesor/a: CARMELO GONZÁLEZ GARCÍA

Teléfono: 983 00 10 00

Última versión revisada de la guía docente, debidamente informada por parte del profesor en la asignatura.

El desarrollo de aplicaciones basadas en aprendizaje automático constituye un pilar fundamental en el avance de la inteligencia artificial aplicada. Esta asignatura ofrece una aproximación práctica y orientada al diseño e implementación de soluciones completas, abarcando desde la selección de herramientas hasta el despliegue de modelos sobre grandes volúmenes de datos. Se revisan los fundamentos del machine learning y se profundiza en el uso de lenguajes como Python o R, junto con librerías especializadas (Scikit-learn, Keras, TensorFlow, PyTorch) y entornos de desarrollo como Jupyter o Google Colab. Además, se introduce al estudiante en el paradigma de la computación cuántica aplicada al aprendizaje automático, explorando conceptos básicos y el uso de frameworks como Qiskit para el desarrollo de algoritmos cuánticos de clasificación o regresión. La asignatura también aborda la integración con arquitecturas Big Data y el diseño de aplicaciones capaces de procesar grandes volúmenes de información. Todo ello se realiza en un entorno virtualizado mediante máquinas virtuales alojadas en un servidor rack, favoreciendo un aprendizaje contextualizado, profesional y orientado a retos reales del sector tecnológico.

La asignatura tiene un enfoque altamente práctico y orientado al desarrollo de soluciones completas de aprendizaje automático, tanto en entornos clásicos como en tecnologías emergentes. Aunque no es obligatorio haber cursado asignaturas previas, se recomienda haber superado Herramientas de Soporte al Aprendizaje Automático para un mejor aprovechamiento. A lo largo del curso, el estudiante desarrollará pequeñas aplicaciones que integren técnicas de machine learning utilizando herramientas actuales. Como novedad, la asignatura incorpora un bloque dedicado a la computación cuántica aplicada al aprendizaje automático, lo que permite explorar el uso de frameworks como Qiskit y familiarizarse con la programación de modelos en simuladores cuánticos. Esta integración ofrece una perspectiva avanzada y actual del sector, ampliando el perfil competencial del alumnado en áreas clave de innovación.


  1. Aplicación de herramientas de aprendizaje automático: En este bloque se estudian técnicas para adaptar y aplicar herramientas de machine learning a casos concretos.
    1. Adaptación de herramientas de aprendizaje automático: Se exploran estrategias para ajustar modelos y herramientas a problemas específicos, incluyendo la selección de parámetros y el tratamiento de distintos tipos de datos.
    2. Implementación de modelos con herramientas de código abierto: Se aborda el uso de librerías populares como Scikit-learn, TensorFlow o PyTorch para construir e implementar modelos de aprendizaje automático.
  2. Computación cuántica aplicada al aprendizaje automático: Este bloque introduce los fundamentos de la computación cuántica y su aplicación en modelos de machine learning, proporcionando una base técnica y práctica para el desarrollo de algoritmos cuánticos.
    1. Fundamentos de computación cuántica y algoritmos de machine learning cuántico: Se presentan los principios básicos de la computación cuántica (qubits, puertas, circuitos), así como algoritmos cuánticos relevantes en el ámbito del aprendizaje automático, como QSVM, QNN o QAOA.
    2. Desarrollo de modelos cuánticos con Qiskit y simuladores: Se introduce el uso práctico de herramientas como Qiskit para implementar modelos de aprendizaje automático cuántico, trabajando con simuladores y entornos virtuales, y analizando resultados frente a equivalentes clásicos.
  3. Desarrollo de aplicaciones para grandes volúmenes de datos: En este bloque se analiza el diseño de aplicaciones que combinen aprendizaje automático con procesamiento de datos a gran escala.
    1. Diseño de aplicaciones para Big Data: Introducción a arquitecturas y patrones de diseño para el desarrollo de soluciones que integran aprendizaje automático y big data.
    2. Aplicación práctica: Big Data y aprendizaje automático: Desarrollo y despliegue de aplicaciones prácticas que utilizan técnicas de machine learning para procesar grandes conjuntos de datos.

Las clases se desarrollan de forma presencial en aulas y laboratorios, utilizando recursos como la plataforma Moodle UEMC, pizarra digital y proyección de contenidos. Se proporcionan materiales actualizados, notebooks interactivos y documentación técnica de librerías como Scikit-learn, TensorFlow, PyTorch, así como herramientas de computación cuántica como Qiskit. Los estudiantes trabajan en máquinas virtuales individuales alojadas en un servidor rack, lo que permite simular entornos de desarrollo profesional y ejecutar prácticas tanto en modelos clásicos como en simuladores cuánticos. Además, se incluyen tutoriales, datasets reales y acceso a plataformas colaborativas como Kaggle. Todo el contenido está diseñado para fomentar el aprendizaje autónomo, la práctica intensiva y la aplicación directa a problemas reales.

CB3. Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética
CG01. Capacidad de organización y planificación en el ámbito tecnológico
CG02. Capacidad y habilidad para la toma de decisiones en el ámbito tecnológico
COM4. Capacidad para conocer los fundamentos , paradigmas y técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen dichas técnicas en cualquier ámbito de aplicación
COM7. Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción automática de información y conocimiento a partir de grandes volúmenes de datos.
El alumno será capaz de:
  1. Conocer los diferentes tipos de entornos de programación para el desarrollo de aplicaciones que usen o implementen técnicas de aprendizaje automático

  2. Desarrollar pequeños programas de aplicación de técnicas de aprendizaje automático para la solución de problemas reales

  • François Chollet (2020), Deep Learning con Python, Anaya Multimedia
  • Aurélien Géron (2019), Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow., O’Reilly.
  • Ethem Alpaydin (2017), Machine Learning., MIT Press

https://www.kaggle.com/ (Datasets,)

https://machinelearningmastery.com/ (Guías prácticas y artículos detallados sobre implementación y teoría aplicada.)

Método dialéctico

El método dialéctico se utiliza en la presentación, análisis y corrección de trabajos, promoviendo la participación activa del alumnado mediante el diálogo, la argumentación y el intercambio de ideas en un entorno crítico.

Método didáctico

El método didáctico se emplea principalmente en las sesiones expositivas, donde el docente presenta los contenidos teóricos mediante explicaciones estructuradas, apoyadas en ejemplos y resolución de ejercicios guiados.

Método heurístico

El método heurístico se aplica en las actividades prácticas y proyectos, fomentando el aprendizaje autónomo, la investigación personal y la resolución de problemas reales, lo que permite al estudiante construir su propio conocimiento a partir de la experiencia.

La asignatura se organiza en torno a diversas actividades formativas planificadas a lo largo del curso. Las clases presenciales se desarrollarán semanalmente y estarán orientadas, principalmente, mediante el método didáctico o expositivo, facilitando la comprensión de los contenidos teóricos a través de explicaciones estructuradas y ejemplos ilustrativos. El alumnado deberá realizar y entregar trabajos prácticos sobre temáticas específicas relacionadas con la asignatura, algunos de los cuales se presentarán en clase para su exposición y defensa, promoviendo así la participación activa y la argumentación técnica. Las tutorías individuales se llevarán a cabo en modalidad online, según el horario establecido en esta guía docente, con el fin de atender de forma personalizada las dudas o dificultades que puedan surgir. La evaluación de la asignatura se realizará mediante un sistema de evaluación continua, que combinará pruebas escritas parciales asociadas al programa teórico con la entrega de trabajos prácticos, garantizando así una valoración integral del aprendizaje adquirido.

Sistema de evaluación % Calificación final
Ejecución de prácticas 40
Pruebas escritas 40
Técnicas de observación 20
Consideraciones de la Evaluación en la Convocatoria Ordinaria

La asignatura se organiza mediante un sistema de evaluación continua, estructurado en tres bloques evaluables a lo largo del semestre. Cada bloque incluirá:

  • Una prueba escrita (40 % de la nota del bloque), compuesta por una parte teórica y una parte práctica, orientadas respectivamente a la comprensión conceptual y a la aplicación técnica de los contenidos. Para que esta prueba pueda computar en la media del bloque, será necesario obtener una calificación mínima de 4 puntos en ambas partes (teórica y práctica).

  • Un trabajo práctico (40 % de la nota del bloque), en el que el estudiante deberá desarrollar tareas aplicadas relacionadas con los contenidos trabajados en clase.

  • Una evaluación por observación continua (20 % de la nota global), basada en la asistencia y puntualidad, el respeto al profesorado, compañeros y recursos del aula, la participación activa, la actitud colaborativa y la capacidad de análisis y razonamiento crítico.

La calificación final de la asignatura se obtendrá como la media aritmética de las calificaciones obtenidas en los tres bloques evaluables, cada uno de los cuales representa un 33,3 % de la nota final, tanto en la evaluación continua como en la convocatoria ordinaria.

Para superar la asignatura, el estudiante deberá obtener una calificación mínima de 5 puntos en cada bloque, tanto en la prueba escrita como en el trabajo práctico. Se permite suspender una de las dos partes (prueba o trabajo) siempre que la calificación no sea inferior a 4 puntos y la media final del bloque sea igual o superior a 5 puntos. En caso contrario, deberá recuperar la parte o partes suspensas en la convocatoria ordinaria.

Para aprobar la asignatura en la convocatoria ordinaria, todas las partes recuperadas deben obtener una calificación mínima de 5. En caso contrario, el estudiante pasará a la convocatoria extraordinaria. Se recuerda al alumnado que las pruebas teóricas y prácticas tienen una duración máxima de dos horas (en su conjunto), por lo que es fundamental gestionar adecuadamente el tiempo, especialmente si se deben recuperar varias partes en la misma convocatoria. Por todo ello, se recomienda encarecidamente superar la asignatura mediante la evaluación continua.

La Matrícula de Honor únicamente podrá obtenerse a través del sistema de evaluación continua, y estará reservada a quienes logren una calificación final de 10 (sobresaliente) en este régimen. No será posible obtenerla mediante pruebas de recuperación, convocatorias ordinarias o extraordinarias, ni mediante procedimientos de subida de nota.

Consideraciones de la Evaluación en la Convocatoria Extraordinaria

En la convocatoria extraordinaria, el estudiante deberá realizar una prueba única y global que evalúe de forma completa los contenidos teóricos de la asignatura. Esta prueba escrita representará el 50% de la calificación final.

El otro 50% corresponderá a la entrega de los trabajos prácticos asociados a los bloques temáticos. Para ello, se habilitará un nuevo plazo de entrega específico.

En esta convocatoria no se aplicarán técnicas de observación continua, dado el carácter no presencial o excepcional de algunas de las actividades. Por tanto, la calificación final se obtendrá únicamente a partir de los resultados de la prueba teórica (50%) y la evaluación de trabajos prácticos (50%).

Para superar la asignatura será necesario obtener una calificación mínima de 5 puntos sobre 10, habiendo alcanzado al menos una nota de 5 en cada una de las dos partes (prueba escrita y trabajos prácticos), conforme a los criterios establecidos.


CV Docente

Docente especializado en informática, con una amplia experiencia en la enseñanza de disciplinas tecnológicas. Desde 2014 ha impartido más de 5.000 horas de formación presencial y online en áreas como ciberseguridad, inteligencia artificial, big data, desarrollo de software y sistemas informáticos, colaborando con instituciones publicas y plataformas de formación digital. Su sólida base científica, unida a su formación pedagógica, le permite abordar la enseñanza con un enfoque riguroso, práctico y adaptado a las necesidades del alumnado. Además, cuenta con formación en metodologías e-learning aplicadas a entornos como Moodle, lo que le capacita para diseñar experiencias de aprendizaje efectivas en formato digital. Su estilo docente se caracteriza por la claridad expositiva, el uso de recursos actualizados y la conexión constante entre teoría y práctica profesional. Como Físico aporta una visión analítica y estructurada al proceso de enseñanza, fomentando el pensamiento crítico y la comprensión profunda de los conceptos técnicos que conforman la base de las tecnologías emergentes.


CV Profesional

Con una sólida trayectoria en el sector tecnológico y más de una década de experiencia profesional en entornos críticos. Ha trabajado como analista, desarrollador de software, gestor y coordinador de proyectos en sistemas informáticos y ciberseguridad, colaborando con entidades de alto nivel tanto a nivel financiero, energético, aeroespacial y de defensa. Su perfil técnico abarca desde la planificación y supervisión de infraestructuras tecnológicas hasta la administración de redes, plataformas de virtualización (VMware) y sistemas de seguridad informática. Está especializado en el análisis de riesgos, implementación de medidas de protección de datos y desarrollo de políticas de ciberseguridad. Además, posee experiencia en bases de datos (SQL, MongoDB), automatización y programación (Python, .NET, Java), así como en el tratamiento de imágenes geoespaciales. Como desarrollador de software, ha participado en el diseño y construcción de soluciones tecnológicas adaptadas a distintos entornos, integrando funcionalidades avanzadas y garantizando la calidad del código. Su enfoque combina rigor técnico, visión estratégica y capacidad para liderar equipos multidisciplinares en proyectos de transformación tecnológica, optimización de sistemas y mejora continua.

Créditos totales: 6
Tipo: Optativo
Período: 2º Semestre