Oferta proyectos fin de grado del Departamento
Sistemas de Comunicación y Control
Oferta de proyectos de fin de grado del Departamento (2026/2027)
Descripción:
En este proyecto se propone el desarrollo de diversas aplicaciones pertenecientes a diferentes ámbitos de la Informática (tales como Sistemas operativos, Bases de datos, Redes de computadores, Desarrollo de aplicaciones en entornos Web, etc.).
El objetivo general se centra en que el alumno, a partir de conocimientos adquiridos a lo largo de la titulación que ha cursado, sea capaz de desarrollar un producto específico de interés práctico. Teniendo en cuenta el número de créditos asignado a este proyecto, las aplicaciones se desarrollarán teniendo como objetivo el ámbito académico o docente, ya que aplicaciones industriales quedan fuera del alcance, salvo interés e iniciativa personal del alumno.
Ente otros, se propone la realización de aplicaciones, simuladores, etc. con los cuales el usuario pueda crear e interactuar con las estructuras y protocolos utilizados en los ámbitos arriba mencionados, de manera que le permitan una clara visión de las relaciones existentes entre ellos y su funcionamiento.
Observaciones:
Proyecto general del Departamento
Profesor de contacto:
Profesores del Departamento de Sistemas de Comunicación y Control
Descripción:
En el presente proyecto se trata de diseñar un sistema domótico dentro de la corriente tecnológica IoT, que monitorice, automatice y controle una serie de dispositivos para el hogar atendiendo a usa serie de características y restricciones (confort, consumo, seguridad…) las cuales han de manejarse en tiempo real.
Para el desarrollo del proyecto el estudiante deberá utilizar tecnologías como Node-Red, protocolo y dispositivos domóticos compatibles con MQTT. Posible integración con Home Assistant. Python y biblioteca API-REST flask , …
Material:
El estudiante tiene que disponer de ordenador personal para la realización del proyecto, además de una SBC Raspberry Pi. También sería valorable que pudiera adquirir sensores domóticos que necesite para el proyecto. Una vez acordada la dirección, se estudiaría las posibilidades de adquisición de material.
Observaciones:
El estudiante debe tener un buen nivel de inglés para la lectura y comprensión de textos técnicos en esa lengua. Valorable experiencia trabajando con Raspberry Pi y/o en entornos domóticos.
Cupo de estudiantes: 1
Profesores de contacto:
Descripción:
En este proyecto proponemos el desarrollo de un sistema distribuido con arquitectura cliente-servidor que se ejecutará en una plataforma x86-AMD64 en la parte servidor y en Android en la parte cliente.
Para la parte servidor se utilizará lenguaje Python (https://www.python.org/) y la biblioteca de API REST para Python Flask (https://flask-restful.readthedocs.io/en/latest/). Para la parte cliente, se desarrollarán las aplicaciones utilizando Kotlin (https://kotlinlang.org/). Aunque dependiendo del caso, también se podría utilizar este lenguaje para la parte servidor.
El aplicativo concreto a desarrollar y su funcionalidad se determinará con el director/tutor del trabajo. (P. ej. puede ser un juego distribuido como el ahorcado o algún desarrollo que sea de interés del estudiante.)
Material:
El estudiante debe disponer de un ordenador personal para la realización del proyecto y la ejecución de la parte servidor. Además, debe disponer para la parte cliente de uno o más dispositivos Android: Teléfono móvil, tableta, Raspberry PI (con Android como sistema operativo), etc.
Observaciones:
El estudiante debe tener un buen nivel de inglés para la lectura y compresión de textos técnicos en esa lengua.
Cupo de estudiantes: 1
Profesores de contacto:
Descripción:
En este Proyecto se va a desarrollar un entorno de prácticas de SQL que pueda ser utilizado por los alumnos de la asignatura de Bases de Datos del segundo curso de esta titulación.
En el proyecto habrá que proponer un esquema de una base de datos relacional con varias tablas sobre la que se le van a proponer a los alumnos una seríe de ejercicios a realizar como actualizaciones, consultas, etc. empleando comandos SQL. El entorno de prácticas tendrá ejecutar los comandos SQL escritos por el alumno y valorar si el resultado obtenido es el esperado en el ejercicio propuesto.
Como referencia de proyecto que se desea realizar se pueden consultar los siguientes enlaces:
- La sección «Tutorial Activities» en Database eLearning donde se le proponen al usuario ejercicios sobre una base de datos relacional y se le valoran los resultados obtenidos.
- Los ejercicios propuestos en SQL Tutorial de W3schools.com. En este tutorial hay ejemplos («Try it Yourself») que el usuario puede probar y hacer modificaciones, comprobando el resultado de sus cambios de forma inmediata.
Metodología:
- Recopilación de información de estado del arte
- Desarrollo de una aplicación web
- Evaluación de prestaciones y realización de mejoras
- Implementación de una máquina virtual en un servidor del Dpto y hacer la aplicación totalmente operativa
Observaciones:
- El alumno deberá tener competencias de lectura de documentación en inglés
- El alumno deberá tener fundamentos de programación de aplicaciones web o alto interés en tenerlas
Cupo de estudiantes: 2
Profesor de contacto:
Descripción:
Las tecnologías LPWAN (Low Power Wide Area Networks), como, por ejemplo, LoRaWAN, permiten desarrollar soluciones para Internet de las Cosas (IoT) de largo alcance, bajo consumo energético y bajo coste, especialmente adecuadas para aplicaciones de monitorización y control en ámbitos como la agricultura, la monitorización ambiental, la industria, seguridad, etc.
En esta línea de Trabajo Fin de Grado el estudiante diseñará e implementará una solución IoT en la que las tecnologías LPWAN constituyen el elemento central de la infraestructura de comunicaciones. El proyecto podrá abarcar el despliegue de sensores y actuadores, la adquisición y transmisión de datos, el almacenamiento y procesamiento de la información, así como la creación de aplicaciones web o móviles para la monitorización, visualización y control del sistema.
La aplicación concreta será propuesta por el estudiante y, conjuntamente con el profesorado, se evaluarán su viabilidad y el alcance del proyecto antes de definir sus objetivos. Se priorizarán proyectos originales que respondan a necesidades reales identificadas en el entorno personal, profesional o comunitario del estudiante. Asimismo, se fomentará el desarrollo de soluciones basadas en los principios de la tecnología apropiada (Appropriate Technology), utilizando tecnologías abiertas, de bajo coste, bajo consumo y fácil mantenimiento, con el objetivo de favorecer su utilidad, sostenibilidad y posible continuidad una vez finalizado el TFG.
Esta línea está dirigida a estudiantes interesados en desarrollar proyectos experimentales con un marcado carácter práctico, integrando tecnologías IoT actuales con el diseño de soluciones tecnológicas que puedan generar un impacto real en la sociedad.
Material:
El Departamento podría prestar, siempre que sea posible, parte del equipamiento disponible para el desarrollo del proyecto. Dependiendo de la aplicación propuesta, podría ser necesaria la adquisición de algún componente adicional de bajo coste.
Requisitos:
Alta motivación para desarrollar un proyecto experimental.
Buenos conocimientos de programación, preferentemente en Python y/o C/C++.
Nivel suficiente de inglés para consultar documentación técnica.
Se valorarán conocimientos básicos de electrónica o interés por adquirirlos durante el desarrollo del proyecto.
Profesores de contacto:
Ángel Pérez de Madrid, Carolina Mañoso, Eduardo Muñoz Palomeque
Descripción:
Esta línea de Trabajo Fin de Grado se centra en el diseño e implementación de sistemas de control remoto para procesos físicos o virtualizados, en el contexto de los sistemas ciberfísicos (Cyber-Physical Systems, CPS). El objetivo es desarrollar soluciones capaces de supervisar el estado de un sistema, procesar la información recibida y actuar sobre él mediante algoritmos de control ejecutados de forma remota.
El estudiante diseñará e implementará una arquitectura distribuida que permita adquirir información de sensores reales o simulados, transmitirla a un servidor central mediante protocolos de comunicación estándar y ejecutar estrategias de control que cierren el lazo de realimentación a través de la red. El proyecto podrá incluir el desarrollo del nodo de adquisición, el servidor de procesamiento, el almacenamiento de datos y la implementación de algoritmos de control, como reguladores PID u otras técnicas acordes con el perfil e intereses del estudiante.
La aplicación concreta será propuesta por el estudiante y, conjuntamente con el profesorado, se evaluarán su viabilidad y el alcance del proyecto antes de definir sus objetivos. Se priorizarán aplicaciones que permitan integrar conceptos de control automático, comunicaciones e Internet de las Cosas (IoT), proporcionando una experiencia práctica en el diseño de sistemas ciberfísicos distribuidos.
Material:
El Departamento podría prestar, siempre que sea posible, parte del equipamiento disponible para el desarrollo del proyecto. Dependiendo de la aplicación propuesta, podría ser necesaria la adquisición de algún componente adicional de bajo coste.
Requisitos:
El estudiante interesado en la realización de este trabajo deberá tener:
Alta motivación para desarrollar un proyecto experimental.
Buenos conocimientos de programación, preferentemente en Python y/o MATLAB.
Conocimientos básicos de control automático y de arquitectura cliente-servidor, o interés por adquirirlos durante el desarrollo del proyecto.
Nivel suficiente de inglés para consultar documentación técnica.
Profesores de contacto:
Descripción:
Los datos masivos, también conocidos como Big Data, son datos que cumplen entre otras las siguientes condiciones (conocidas como las 3 Vs): volumen, velocidad, y variedad. Los datos masivos se generan por una gran variedad de fuentes, tales como logs de servidores de internet, publicaciones en redes sociales, … Este proyecto trata sobre el análisis, diseño, implementación, y despliegue de estrategias de programación en el marco del Big Data. Entre las tecnologías que se van a utilizar en este proyecto se pueden encontrar entre otros Hadoop, Spark, Mesos, o Drill.
Para más detalles sobre el trabajo concreto, pónganse en contacto con los profesores responsables de contacto.
Observaciones:
El alumno deberá tener altos conocimientos de inglés leído, así como de programación (ej. Python, Java…).
Cupo de estudiantes: 3
Profesores de contacto:
Descripción:
Las analíticas de aprendizaje (Learning Analytics, LA) consisten en la mejora del desempeño de los estudiantes por medio del estudio de diferentes parámetros y métricas. Este proyecto trata sobre el análisis, diseño, implementación, y despliegue de técnicas de LA en el contexto de la enseñanza a distancia.
Para más detalles sobre el trabajo concreto, pónganse en contacto con los profesores responsables de contacto.
Observaciones:
El alumno deberá tener altos conocimientos de inglés leído, así como de programación (ej. Python, Java…), así como de gestión de información (bases datos relacionales/no relacionales, datos semiestructurados, etc.) y conocimientos básicos de modelos de servicio en el cloud.
Cupo de estudiantes: 2
Profesores de contacto:
Descripción:
El proyecto consiste en el desarrollo de una aplicación web destinada a gestionar un comercio. Dicha aplicación permitirá controlar el stock de productos, clientes, pedidos así como diversos aspectos propios de la actividad comercial. Se valorará una buena motivación, buenos conocimientos de programación en PHP y servicios Web o en su defecto disponibilidad para aprenderlos así como el expediente académico del solicitante.
Material:
Se desarrollará sobre plataforma Linux o Windows.
Observaciones:
- Se requieren conocimientos sobre PHP, Apache, MySQL, XHTML y CSS.
- El número de personas asignadas al proyecto depende de los módulos a desarrollar.
Profesor de contacto:
Descripción:
El proyecto consiste en el desarrollo de un portal web orientado al comercio electrónico. Dicha aplicación permitirá al comprador seleccionar artículos, realizar pedidos y pagos a través de una pasarela. El sistema también ofrecerá al comerciante gestionar los artículos expuestos en el portal. Se valorará una buena motivación, buenos conocimientos de programación en PHP y servicios Web o en su defecto disponibilidad para aprenderlos así como el expediente académico del solicitante.
Conocimientos previos:
Se requieren conocimientos sobre PHP, Apache, MySQL, XHTML y CSS.
Material:
Se desarrollará sobre plataforma Linux o Windows.
Observaciones:
Número máximo de personas: 1
Profesor de contacto:
Descripción:
El principal objetivo de este trabajo el análisis de diversas aproximaciones para el aprendizaje de la ciberseguridad en diversas áreas con el objetivo de mejorar las asignaturas de Seguridad. Por ello esta propuesta se centra el diseño y desarrollo de un entorno cyber range ligero, reproducible y desplegable mediante contenedores Docker. El objetivo es crear escenarios prácticos de ciberseguridad que permitan simular ataques, defensas y análisis forense en un entorno controlado, orientado a docencia y entrenamiento técnico. La formación en ciberseguridad requiere entornos realistas donde el alumnado pueda experimentar sin riesgo sobre sistemas vulnerables, redes simuladas y servicios configurados específicamente para prácticas. Docker permite crear laboratorios portables, aislados y fácilmente reproducibles, lo que lo convierte en una tecnología adecuada para construir escenarios de entrenamiento.
Objetivos:
- Estudiar el concepto de cyber range y sus aplicaciones docentes.
- Analizar el uso de Docker y Docker Compose para crear entornos de red aislados.
- Diseñar varios escenarios prácticos de ciberseguridad.
- Implementar contenedores vulnerables, atacantes y defensores.
- Documentar los ejercicios, objetivos de aprendizaje y pasos de despliegue.
- Evaluar la reproducibilidad, facilidad de uso y utilidad docente del entorno.
Metodología:
- Estudio inicial: revisión de cyber ranges, contenedores Docker, laboratorios vulnerables y herramientas de ciberseguridad.
- Diseño de arquitectura: definición de redes, servicios, roles de máquinas y estructura de escenarios.
- Implementación: creación de ficheros Dockerfile, docker-compose.yml y scripts de automatización.
- Diseño de experimentos: elaboración de prácticas guiadas, por ejemplo:
- Escaneo y enumeración de servicios.
- Explotación de una aplicación web vulnerable.
- Análisis de tráfico con Wireshark o tcpdump.
- Detección de ataques mediante logs.
- Endurecimiento básico de servicios.
- Validación: pruebas de despliegue, ejecución de escenarios y análisis de limitaciones.
Observaciones:
Aunque no tiene por qué ser obligatorio si se recomienda ciertos conocimientos de lenguajes de programación, así como fundamentos básicos de ciberseguridad y de contenedores ligeros Docker y Docker Compose.
Cupo de estudiantes: 4
Profesores de contacto:
Descripción:
El principal objetivo de este trabajo será la implementación de mecanismos de análisis de malware para llevar a cabo un seguimiento de las infraestructuras físicas de una organización. Para ello, será necesario el análisis de los requerimientos de las infraestructuras de servicios que los alojen.
Metodología:
- Estudio del estado del arte del contexto de trabajo
- Análisis de simuladores y tecnologías más punteras para el acceso a servicios.
- Análisis de los algoritmos de establecimiento de conexiones remotas.
- Evaluación de la eficiencia de los algoritmos de análisis de malware.
- Visualización de la información.
Observaciones:
Cupo de estudiantes: 1
Profesor de contacto:
Descripción:
La virtualización ligera sopone una evolución sobre la virtualización tradicional ya que permite la creación de entidades débilmente acopladas (contenedores) que se ejecutan sobre las mismas infraestructuras físicas con una menor sobrecarga de ejecución. Por esta razón, una gran cantidad de aplicaciones y servicios se encuentran desplegados utilizando contenedores, tanto en entornos educativos como corporativos.
Los datos masivos o Big Data han supuesto un cambio radical en el desarrollo de infraestructuras para su almacenamiento y procesamiento. Estas tecnologías cuentan en este momento con un mercado laboral muy amplio pero que a la vez cuenta con un escaso número de profesionales. Entre las tecnologías Big Data de interés podemos encontrar herramientas de programación paralela distribuida como MapReduce, herramientas para la inyección de datos como Flume o Sqoop, herramientas de programación de alto nivel como Hive o Pig, bases de datos nosql como neo4j, … entre otros.
La formación en tales tecnologías se convierte en una necesidad que las Universidades deben cubrir. Para ello, se propone el diseño de infraestructuras Big Data basadas en contenedores ligeros desplegadas localmente y sobre la nube, que se utilizarán para la enseñanza online de tales tecnologías.
Este trabajo se encuadra dentro del proyecto del FILE (efFIcient scheduLing of containErs), financiado por UNED dentro del programa Independent Thinking-Jóvenes Investigadores 2019.
Resumen de objetivos:
- Análisis de tecnologías Big Data para la docencia online de ingeniería.
- Diseño de infraestructuras Big Data sobre contenedores ligeros para enseñanza online.
- Despliegue de dichas infraestructuras en modo local y en la nube.
- Generación de documentación sobre instalación y utilización de dichas infraestructuras.
- Evaluación de las infraestructuras.
Tecnologías potencialmente utilizables:
- Tecnologías Big Data: MapReduce, Hive, Pig, Avro, Parquet, Flume, Sqoop, Neo4j, Mongodb, Cassandra, Redis, …
- Virtualización ligera: Dockers.
- Orquestación de microservicios: Kubernetes.
- Infraestructuras: Cloud computing.
- Lenguaje de programación: Python.
Carácter:
Práctico
Bibliografía:
- Learn Docker – Fundamentals of Docker 18.x (2018).Accesible a través del siguiente enlace (una vez logado en Campus UNED).
- Mastering Kubernetes (2018). Accesible a través del siguiente enlace (una vez logado en Campus UNED).
Profesor de contacto:
Descripción:
Los servicios de streaming de vídeo han alcanzado gran popularidad en los últimos años. En estos servicios, los clientes reciben una secuencia de vídeo que se transfiere por la red desde el servidor hasta ellos para su visionado. Existen una variedad de tecnologías para el despliegue de servidores de streaming de vídeo, como por ejemplo Open Broadcast Studio (OBS) o VideoLAN Server (VLS).
Debido a esta popularidad, las Universidades deben proporcionar a sus estudiantes conocimientos prácticos sobre este tipo de servidores, de forma que adquieran las capacidades necesarias para cubrir dicha demanda de profesionales.
Para el despliegue de tales servicios, se propone la utilización de contenedores ligeros sobre infraestructuras tanto locales como en la nube. La virtualización ligera sopone una evolución sobre la virtualización tradicional ya que permite la creación de entidades débilmente acopladas (contenedores) que se ejecutan sobre las mismas infraestructuras físicas con una menor sobrecarga de ejecución. Por esta razón, una gran cantidad de aplicaciones y servicios se encuentran desplegados utilizando contenedores, tanto en entornos educativos como corporativos.
En este proyecto se propone el despliegue de diversas tecnologías de servidores de streaming de vídeo sobre contenedores ligeros, y la realización de pruebas de rendimiento para demostrar su correcto funcionamiento.
Este trabajo se encuadra dentro del proyecto del FILE (efFIcient scheduLing of containErs), financiado por UNED dentro del programa Independent Thinking-Jóvenes Investigadores 2019.
Resumen de objetivos:
- Realización de un estado del arte de tecnologías para el streaming de video.
- Despliegue de servidores de streaming de vídeo sobre contenedores ligeros en entornos locales y en la nube.
- Generación de documentación sobre protocolos de streaming, y de despliegue y utilización de los servidores desplegados.
- Análisis de las prestaciones que ofrecen los servidores desplegados.
Tecnologías potencialmente utilizables:
- Servidores de streaming de vídeo: Open Broadcast Studio (OBS), VideoLAN Server (VLS), …
- Virtualización ligera: Dockers.
- Orquestación de microservicios: Kubernetes.
- Infraestructuras: Cloud computing.
- Lenguaje de programación: Python.
Carácter:
Práctico.
Bibliografía:
- Learn Docker – Fundamentals of Docker 18.x (2018).Accesible a través del siguiente enlace (una vez logado en Campus UNED).
- Mastering Kubernetes (2018). Accesible a través del siguiente enlace (una vez logado en Campus UNED).
Profesor de contacto:
Descripción:
La virtualización ligera sopone una evolución sobre la virtualización tradicional ya que permite la creación de entidades débilmente acopladas (contenedores) que se ejecutan sobre las mismas infraestructuras físicas con una menor sobrecarga de ejecución. Por esta razón, una gran cantidad de aplicaciones y servicios se encuentran desplegados utilizando contenedores, tanto en entornos educativos como corporativos. El standar de facto de tales tecnologías de virtualización son los contenedores Docker, que se pueden desplegar sobre un clúster de ordenadores gestionados por el software Kubernetes, tanto de forma local como sobre proveedores cloud.
En este proyecto se plantea el estudio de técnicas para la gestión de infraestructuras virtuales basadas en Kubernetes para el despliegue de aplicaciones basadas en contenedores ligeros Docker, de forma que dichas aplicaciones disfruten de calidad de servicio (Quality of Service, QoS). Esta provisión de QoS se realizará mediante la planificación eficiente de los contenedores sobre las máquinas de las infraestructuras disponibles.
Este trabajo se encuadra dentro del proyecto del FILE (efFIcient scheduLing of containErs), financiado por UNED dentro del programa Independent Thinking-Jóvenes Investigadores 2019.
Resumen de objetivos:
- Recopilación y clasificación de propuestas existentes en relación con la planificación eficiente de contenedores ligeros sobre infraestructuras paralelas distribuidas
- Despliegue de infraestructuras paralelas distribuidas para la ejecución de contenedores Docker
- Implementación y evaluación de prestaciones de las propuestas seleccionadas.
Tecnologías potencialmente utilizables:
- Virtualización ligera: Dockers.
- Orquestación de microservicios: Kubernetes.
- Infraestructuras: Cloud computing.
- Lenguaje de programación: Python.
Carácter:
Práctico.
Bibliografía:
- Learn Docker – Fundamentals of Docker 18.x (2018).Accesible a través del siguiente enlace (una vez logado en Campus UNED).
- Mastering Kubernetes (2018). Accesible a través del siguiente enlace (una vez logado en Campus UNED).
