Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marcos Caballero · Proyectos académicos · Ingeniería Informática e Inteligencia Artificial

Proyectos académicos

Grado en Ingeniería Informática · UC3M
Máster en Inteligencia Artificial · UNIR

Explorar la página · Mi perfil de GitHub

63 entradas principales · 28 asignaturas, TFG y TFM · 2 titulaciones

Una recopilación de mis prácticas, proyectos en equipo y trabajos de investigación: desde lógica digital, sistemas y desarrollo de software hasta aprendizaje automático, visión artificial y procesamiento del lenguaje natural.

Cada entrada enlaza al repositorio que contiene el código, los cuadernos y la documentación. Las descripciones resumen el contenido de los proyectos; las prácticas conservan su contexto académico y su fase de desarrollo.

🔒 Los repositorios privados aparecen identificados y requieren acceso en GitHub. El catálogo reúne sus referencias, sin publicar su código.

Proyectos destacados

Proyecto Qué encontrarás Tecnologías
Optimización de rutas urbanas · trabajo de fin de máster TFM en equipo sobre detección de señales de tráfico con YOLO y optimización de rutas urbanas mediante grafos y restricciones viales. Incluye código, cuadernos y resultados de entrenamiento. Python · YOLO · grafos · Jupyter
SuperMask · trabajo de fin de grado Investigación sobre algoritmos evolutivos para buscar supermáscaras en redes neuronales, con experimentos sobre MNIST, CIFAR-10 y Animals-10. Python · PyTorch · algoritmos evolutivos
Experimentación con GANs Implementación y comparación de GANs densas, DCGAN, WGAN y WGAN-GP para generar imágenes de MNIST y CelebA. Python · PyTorch · GANs
Simulador de fluidos Simulación de fluidos por partículas y bloques espaciales en C++20, con lectura de trazas, pruebas unitarias y pruebas funcionales. C++20 · CMake · GoogleTest

Índice

Grado en Ingeniería Informática · UC3M

Universidad Carlos III de Madrid · 46 entradas principales.

1.º curso

Estructura de computadores

Proyecto Descripción Tecnologías
Lógica digital con VHDL Diseño y simulación de circuitos combinacionales y de un juego de piedra, papel o tijera para dos y cuatro jugadores. VHDL · Quartus

2.º curso

Desarrollo del software

Proyecto Descripción Tecnologías
Gestión de vacunación · entrega inicial · 🔒 Privado Primera entrega de un gestor de solicitudes de vacunación: validación de identificadores, datos personales y peticiones en JSON. Python · JSON
Gestión de vacunación · entrega 3 · 🔒 Privado Registro de pacientes, generación de citas y administración de vacunas, con validación de datos y pruebas unitarias. Python · PyBuilder · unittest
Gestión de vacunación · entrega 4 · 🔒 Privado Evolución del gestor de vacunación con atributos de dominio, excepciones y pruebas de validación de entradas JSON. Python · PyBuilder · unittest
Gestión de vacunación · proyecto final Proyecto final del gestor de vacunación: organización del dominio, persistencia JSON, cancelación de citas y pruebas automatizadas. Python · PyBuilder · unittest

Inteligencia artificial

Proyecto Descripción Tecnologías
Control inteligente de semáforos Estimación de probabilidades de transición y búsqueda de una política para un cruce de tráfico mediante un proceso de decisión de Markov. Python · MDP

Sistemas operativos

Proyecto Descripción Tecnologías
Utilidades de archivos en C Implementación de versiones de cat, ls y cálculo de tamaños para practicar llamadas al sistema y operaciones sobre archivos y directorios. C · POSIX
Intérprete de comandos Mini shell con ejecución de procesos, tuberías, redirecciones, señales y comandos internos. C · POSIX · procesos
Cálculo concurrente de costes Procesamiento de operaciones con productores y consumidores, una cola compartida e hilos POSIX para calcular costes. C · pthreads · concurrencia

Ficheros y bases de datos

Proyecto Descripción Tecnologías
Modelo relacional sanitario Creación y carga de un esquema de médicos, hospitales, aseguradoras y pólizas, con claves, restricciones y transformación de datos. SQL · Oracle
Consultas sobre servicios sanitarios Consultas complejas sobre el esquema sanitario de la primera práctica: coberturas, especialidades, médicos y periodos de carencia. SQL · Oracle

Estructuras de computadores

Proyecto Descripción Tecnologías
Programación en MIPS32 Ejercicios de ensamblador sobre vectores, matrices, llamadas a funciones y uso de la pila, con una versión de referencia en Python. MIPS32 · ensamblador

3.º curso

Arquitectura de computadores

Proyecto Descripción Tecnologías
Cliente SOAP de temperaturas Consumo de un servicio web de conversión entre Celsius y Fahrenheit mediante un cliente SOAP escrito en Python. Python · SOAP · Zeep
C++ orientado al rendimiento · 🔒 Privado Material inicial de una práctica de programación en C++ orientada al rendimiento y al manejo de archivos. Desarrollo inicial; parte del material está incompleta. C++ · CMake
Simulador de fluidos Simulación de fluidos por partículas y bloques espaciales en C++20, con lectura de trazas, pruebas unitarias y pruebas funcionales. C++20 · CMake · GoogleTest

Interfaces de usuario

Proyecto Descripción Tecnologías
Prototipo de reproductor musical · 🔒 Privado Primera interfaz web de música con reproducción, registro y páginas de cuenta y perfil. HTML · CSS · JavaScript
Musify · aplicación musical · 🔒 Privado Interfaz de música con biblioteca, listas de reproducción, favoritos, búsqueda, perfiles y controles del reproductor. HTML · CSS · JavaScript

Heurística

Proyecto Descripción Tecnologías
Optimización de transporte escolar · 🔒 Privado Modelos de programación matemática para minimizar costes de rutas de autobús y asignar alumnos a paradas bajo restricciones de capacidad y parentesco. GNU MathProg · optimización
Transporte escolar con CSP y A* · 🔒 Privado Resolución de la distribución de alumnos con satisfacción de restricciones y planificación mediante búsqueda A*, con casos de prueba y estadísticas. Python · CSP · A*

Criptografía y seguridad informática

Proyecto Descripción Tecnologías
Registro de vehículos con criptografía Aplicación de escritorio para registrar y consultar datos de vehículos con autenticación, cifrado Fernet, derivación de claves y claves RSA. Python · Tkinter · SQLite · cryptography

Aprendizaje automático

Proyecto Descripción Tecnologías
Predicción de producción solar Comparación de modelos de regresión y ajuste de hiperparámetros para estimar producción solar a partir de predicciones meteorológicas. Python · scikit-learn · Jupyter
Predicción de abandono de empleados Clasificación de abandono laboral con preprocesamiento, regresión logística, boosting y evaluación de datos desbalanceados. Python · scikit-learn · XGBoost
Pacman · aprendizaje por refuerzo Q-learning para capturar fantasmas visibles y estáticos, con entrenamiento reproducible, comparación frente a agentes aleatorios y BFS, y una demo de trayectorias. Material previsto para Aprendizaje Automático de 3.º que no llegó a formar parte de los proyectos de ese curso escolar. Python · Q-learning · BFS

Sistemas interactivos y ubicuos

Proyecto Descripción Tecnologías
Avisos de proximidad Aplicación web que usa geolocalización y vibración para avisar cuando el usuario se acerca a su destino. JavaScript · Geolocation API
Lista de tareas táctil Interfaz móvil para añadir y gestionar tareas, con interacciones táctiles y un servidor de apoyo en Node.js. JavaScript · Node.js · HTML
Reproductor con gestos táctiles Control de vídeo mediante toques, dobles toques y deslizamientos para reproducir, avanzar, ajustar el volumen y activar pantalla completa. JavaScript · Touch API · Fullscreen API
Reconocimiento y síntesis de voz Demostración web que transcribe voz y reproduce texto mediante las funciones de reconocimiento y síntesis de voz del navegador. JavaScript · Web Speech API
VideoFlix · vídeo accesible Plataforma de vídeos con mando remoto desde el móvil, funciones de voz, lectura fácil y pictogramas para facilitar la interacción. JavaScript · Node.js · Socket.IO

Procesadores del lenguaje

Proyecto Descripción Tecnologías
Analizadores y traductores · 🔒 Privado Prácticas de análisis sintáctico descendente y calculadoras en C, junto con el desarrollo del traductor de C a Lisp. C · Bison · análisis sintáctico
Traductor de C a Lisp Traducción de un subconjunto de C a Lisp mediante gramáticas Bison, con pruebas de funciones, bucles y expresiones. C · Bison · Lisp

Sistemas distribuidos

Proyecto Descripción Tecnologías
Servicio clave-valor con colas POSIX · 🔒 Privado Servicio cliente-servidor de almacenamiento clave-valor en C, comunicado mediante colas de mensajes POSIX. Versión conservada; pendiente de sustituir por la entrega más completa. C · POSIX · IPC
Servicio clave-valor con RPC · 🔒 Privado Evolución del servicio clave-valor con interfaces RPC, código generado a partir de una especificación y comunicación cliente-servidor. Versión conservada; pendiente de sustituir por la entrega más completa. C · RPC · rpcgen
Aplicación distribuida cliente-servidor · 🔒 Privado Proyecto distribuido con servidor en C, cliente gráfico en Python, comunicación por sockets y un servicio web complementario. Versión conservada; pendiente de sustituir por la entrega más completa. C · Python · sockets

4.º curso y trabajo de fin de grado

Ingeniería de la ciberseguridad

Proyecto Descripción Tecnologías
Evaluación de resistencia de contraseñas Experimentos académicos con John the Ripper para comparar ataques de diccionario y fuerza bruta sobre hashes MD5 y SHA-256. John the Ripper · Bash · Python

Inteligencia artificial en las organizaciones

Proyecto Descripción Tecnologías
Reconocimiento de caracteres en CAPTCHA Generación de imágenes CAPTCHA y experimentación con redes convolucionales para reconocer sus caracteres. Python · TensorFlow · Keras · OpenCV

Redes de neuronas

Proyecto Descripción Tecnologías
Predicción del rendimiento de turbinas · práctica 1 Predicción del rendimiento energético (TEY) de una turbina de gas a partir de sensores, comparando Adaline implementada desde cero y un perceptrón multicapa. Python · NumPy · TensorFlow · Keras
Clasificación de medios de transporte Redes neuronales densas para identificar cinco medios de transporte a partir de sensores, con evaluación por trayectorias, comparación de pesos de clase e inferencia con un modelo guardado. Python · TensorFlow · Keras · scikit-learn · pandas · Matplotlib
Clasificación de imágenes aéreas · 🔒 Privado Redes neuronales para clasificar escenas de uso del suelo del conjunto UC Merced, con preparación de imágenes y experimentación convolucional. Python · TensorFlow · Keras

Desarrollo y operación de sistemas software

Proyecto Descripción Tecnologías
API de películas con integración continua API Flask de gestión de películas con creación, consulta, edición y borrado, persistencia SQLite, validación de datos, pruebas aisladas y controles de calidad en GitHub Actions. Python · Flask · Pydantic · SQLite · pytest · GitHub Actions
Temperature Warrior — control de temperatura · 🔒 Privado Sistema de control de temperatura para Meadow F7 V2, con rondas configurables, servidor C# e interfaz web que muestra las mediciones en tiempo real mediante WebSockets. Proyecto final realizado en equipo con Aarón Espasandín y otros compañeros. Enlace al repositorio original del equipo. C# · .NET · Meadow F7 V2 · Next.js · TypeScript · WebSockets

Internet de las cosas

Proyecto Descripción Tecnologías
Prototipo de vehículo con Raspberry Pi · 🔒 Privado Prácticas con un vehículo físico en Raspberry Pi: sensores de distancia y luz, motor DC, servomotor y luces RGB, con interrupciones, hilos y ejecución de comandos. Python · Raspberry Pi · GPIO · threading
Gemelo digital de vehículos Prototipo IoT que conecta vehículos virtuales, telemetría y gestión de rutas mediante MQTT, microservicios y contenedores. Python · MQTT · Docker · Flask
Tacógrafo virtual Sistema IoT para gestionar tacógrafos, sesiones de conducción, telemetría y eventos mediante MQTT y microservicios. Python · MQTT · Docker · Flask

Visión artificial

Proyecto Descripción Tecnologías
Clasificación de lesiones cutáneas Experimento de clasificación de imágenes dermatoscópicas ISIC con redes convolucionales, preprocesamiento y aumento de datos en PyTorch. Python · PyTorch · CNN
Experimentación con GANs Implementación y comparación de GANs densas, DCGAN, WGAN y WGAN-GP para generar imágenes de MNIST y CelebA. Python · PyTorch · GANs

Trabajo de fin de grado

Proyecto Descripción Tecnologías
SuperMask · trabajo de fin de grado Investigación sobre algoritmos evolutivos para buscar supermáscaras en redes neuronales, con experimentos sobre MNIST, CIFAR-10 y Animals-10. Python · PyTorch · algoritmos evolutivos

Máster en Inteligencia Artificial · UNIR

Universidad Internacional de La Rioja · 17 entradas principales.

Procesamiento del lenguaje natural

Proyecto Descripción Tecnologías
Caracterización de textos de odio Análisis y preprocesamiento lingüístico de comentarios en español con spaCy, tokenización y reconocimiento de entidades. Python · spaCy · NLP
Clasificación con embeddings y Transformers Clasificación de mensajes de 20 Newsgroups mediante vocabularios, embeddings y comparación de redes clásicas con un modelo Transformer. Python · TensorFlow · Keras · Transformers

Aprendizaje automático supervisado

Proyecto Descripción Tecnologías
Predicción de calidad del aire Regresión sobre el conjunto Air Quality de UCI, con limpieza de datos y comparación de regresión lineal y árboles de decisión. Python · scikit-learn · regresión
Clasificación de mensajes de odio Preparación de textos y comparación de modelos supervisados para clasificar mensajes de odio, con evaluación mediante precisión, recall y F1. Python · scikit-learn · NLP
Predicción de cubierta forestal Clasificación del conjunto Covertype de UCI a partir de variables cartográficas, comparando máquinas de vectores de soporte y Random Forest. Python · scikit-learn · SVM · Random Forest

Aprendizaje automático no supervisado

Proyecto Descripción Tecnologías
Comparación de clustering Análisis de datos de sensores de maquinaria mediante K-means, clustering jerárquico y DBSCAN, con evaluación de los grupos obtenidos. Python · scikit-learn · clustering
Reducción de dimensionalidad Comparación de PCA y t-SNE para visualizar datos de texto en dos dimensiones, con exploración de temas mediante LDA. Python · scikit-learn · Gensim · PCA
Detección de anomalías eléctricas Detección de valores inusuales en datos de corriente y tensión mediante media móvil, Z-score, Isolation Forest y Local Outlier Factor. Python · scikit-learn · anomalías

Razonamiento y planificación automática

Proyecto Descripción Tecnologías
Comparación de algoritmos de búsqueda Resolución de recorridos en mapas con búsqueda en amplitud, profundidad, coste uniforme y A*, comparando costes y heurísticas. Python · SimpleAI · A*
Dominios de planificación en PDDL · 🔒 Privado Modelado de dominios y problemas de planificación: mundo de bloques, contador, rovers y transporte. PDDL · planificación
Planificación de misiones de rovers · 🔒 Privado Modelado de problemas de exploración con rovers en PDDL y variantes de objetivos para planificadores automáticos. PDDL · rovers

Visión artificial

Proyecto Descripción Tecnologías
Mejora de imágenes con poca luz Experimentos sobre Dark Face con ajustes de brillo, ecualización de histogramas, CLAHE y corrección gamma. Python · OpenCV · Jupyter
Detección de tomates maduros Segmentación por color HSV, filtros espaciales, morfología y análisis de contornos para detectar tomates maduros. Python · OpenCV · visión artificial

Redes de neuronas

Proyecto Descripción Tecnologías
Dígitos manuscritos con MLP Clasificación de dígitos de MNIST mediante perceptrones multicapa y experimentación con el entrenamiento en Keras y TensorFlow. Python · TensorFlow · Keras
Clasificación de CIFAR-10 Clasificación de imágenes de animales y vehículos con redes convolucionales y experimentación con modelos en Keras. Python · TensorFlow · Keras · CNN
Intensidad de odio con redes recurrentes Clasificación de la intensidad de odio en mensajes de redes sociales mediante preprocesamiento textual y redes recurrentes LSTM. Python · TensorFlow · Keras · LSTM

Trabajo de fin de máster

Proyecto Descripción Tecnologías
Optimización de rutas urbanas · trabajo de fin de máster TFM en equipo sobre detección de señales de tráfico con YOLO y optimización de rutas urbanas mediante grafos y restricciones viales. Incluye código, cuadernos y resultados de entrenamiento. Python · YOLO · grafos · Jupyter

Repositorios alternativos y procedencia

El índice usa una sola entrada para cada uno de los dos proyectos que tenían una copia pública y un fork privado. Los originales se conservan como referencia del trabajo en equipo.

Entrada principal Repositorio original Motivo de la elección
FluidSimulator Proyecto_arqui · 🔒 Privado Los 22 archivos de la copia pública coinciden con el fork. El original conserva también configuración de estilo y análisis estático.
VideoFlix P2_ubicuos · 🔒 Privado Versión pública posterior, con ajustes en la interfaz y el servidor; el fork conserva el desarrollo de equipo.

procesadores_lenguaje reúne las prácticas de analizadores y el desarrollo del traductor; CtoLisp presenta por separado el proyecto final. Ambos tienen su propia entrada.

Las autorías, licencias y créditos se consultan en cada repositorio original.

Pendiente de incorporar

Titulación Asignatura o trabajo Próxima actualización
UC3M Sistemas distribuidos Incorporar las versiones más completas conservadas en otro ordenador.
UC3M Ingeniería de la ciberseguridad Añadir las prácticas que aún no están recopiladas.
UC3M Inteligencia artificial en las organizaciones Completar las entregas anteriores al proyecto final.

Cómo actualizar el catálogo

El contenido del README y de la página nace de una única fuente: data/projects.json. Para añadir un proyecto o una entrega, o cambiar su enlace:

  1. Editar los datos del proyecto en ese archivo.
  2. Ejecutar python scripts/generate.py.
  3. Revisar y subir los cambios; GitHub Pages publica el contenido de docs/.

El generador solo necesita Python 3 y su biblioteca estándar. La página es estática y no requiere instalar dependencias.


Marcos Caballero Cortés · @cabamarcos
Última revisión del catálogo: 5 de octubre de 2026.

About

Catálogo de mis proyectos del Grado en Ingeniería Informática (UC3M) y del Máster en Inteligencia Artificial (UNIR), organizado por curso y asignatura.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages