QA y testing
Aprende a probar software como un profesional: a decidir qué probar y cuánto, a diseñar casos que encuentran fallos, a hacer QA manual con método y a automatizar pruebas con Python en todos los niveles, de una función a la aplicación completa en el navegador, y a llevarlas a la integración continua. Lo hemos pensado para desarrolladores y profesionales de QA que buscan un nivel profesional, y te prepara para la certificación ISTQB Certified Tester Foundation Level (CTFL), versión 4.0.1 del temario, con un simulacro completo al final. Todo se trabaja sobre Cesta Viva, una tienda online ficticia de cestas de fruta y verdura que instalas en tu ordenador, con su web, su API, sus reglas de envío, cupones y pedidos y, en muchos ejercicios, fallos sembrados a propósito para que los encuentres.
El recorrido: nueve módulos con 26 temas, siete prácticas y un proyecto final
- Módulo 0 · Antes de empezar — Repaso de Python y pytest con un diagnóstico por bloques · Tu laboratorio de calidad: uv, pytest, Playwright y la tienda Cesta Viva
- Módulo 1 · Fundamentos de las pruebas — Qué es probar: errores, defectos y fallos, los siete principios y el proceso de prueba · Las pruebas en el ciclo de vida: niveles, tipos y regresión en equipos ágiles y DevOps · Pruebas estáticas: revisiones de requisitos e historias y análisis estático · Práctica 1: revisión de una especificación
- Módulo 2 · Diseño de pruebas — Partición de equivalencia y valores límite · Tablas de decisión, transición de estados y pruebas combinatorias · Cobertura de sentencias y ramas, predicción de errores y criterios de aceptación · Práctica 2: diseño de pruebas de las reglas de la tienda
- Módulo 3 · Gestión de pruebas y QA manual — Plan, estimación, riesgos, seguimiento, informes y herramientas · Casos de prueba, pruebas exploratorias y gestión de defectos · Práctica 3: campaña de pruebas manuales de la tienda web
- Módulo 4 · Automatización con pytest — pytest a fondo: fixtures avanzadas, parametrización, marcas, plugins, hooks y cobertura con coverage.py · TDD y dobles de prueba con unittest.mock · Pruebas basadas en propiedades con Hypothesis y de mutación con mutmut · Práctica 4: batería automatizada del núcleo de la tienda
- Módulo 5 · Pruebas de servicios y datos — Pruebas de API con httpx, contratos con JSON Schema y OpenAPI, y Schemathesis · Pruebas de aplicaciones Django con pytest-django · Pruebas de bases de datos · Práctica 5: pruebas de la API y del back end
- Módulo 6 · Pruebas de extremo a extremo y BDD — Playwright: localizadores, aserciones con espera, red y sesiones · Page objects, trazas, pruebas visuales, varios navegadores y pruebas estables · BDD con Gherkin y pytest-bdd · Práctica 6: suite de extremo a extremo y BDD
- Módulo 7 · Calidad no funcional — Rendimiento y carga con Locust · Accesibilidad con WCAG 2.2 y axe · Seguridad básica para QA: OWASP Top 10, bandit, pip-audit y OWASP ZAP · Práctica 7: informe de calidad no funcional
- Módulo 8 · Integración continua, estrategia y certificación — Pruebas en GitHub Actions con matrices, informes y puertas de calidad · Estrategia de pruebas: pirámide, pruebas inestables y métricas de calidad · Preparación de la certificación ISTQB CTFL con simulacro · Proyecto final: estrategia y suite de pruebas completa, con integración continua e informe de calidad
Cada tema trae un PDF propio con ejemplos resueltos y ejecutados sobre la tienda, un entrenamiento autocorregible, que entregas para que lo revise el tutor (su solución se abre 7 días después de tu entrega), y una autoevaluación con la explicación de cada respuesta. Los entrenamientos no se conforman con que tus pruebas pasen: python comprobar.py las ejecuta también contra versiones de la tienda con fallos y te dice cuáles se te escapan, sin necesidad de internet.
A quién va dirigido. A desarrolladores que quieren probar mejor su código y a profesionales de QA (manual o de automatización) que quieren dar el salto a la automatización con Python o consolidar su método con el temario de ISTQB. Requisitos: programar en Python con soltura (lo ideal es venir del curso «Python desde cero» del campus o tener una base parecida: funciones, clases, módulos, excepciones y unas nociones de pytest; el tema 0 lo repasa) y un equipo tuyo (Windows 11, macOS 14 o posterior, o Linux) con 8 GB de RAM y permiso para instalar software. No hace falta saber Django: el curso explica lo justo para probar la tienda (si quieres ir más allá, el curso «Django profesional» es el complemento natural).
Cómo se estudia. No hay fechas: el curso es autogestionado y dispones de 365 días desde la matrícula. Cada tema combina la lectura de su PDF, un entrenamiento que se corrige solo y un cuestionario; al cerrar cada módulo entregas una práctica individual, y el tutor la corrige en cuanto la recibe y te deja comentarios. ¿No llega al 7? Aplicas esos comentarios y la reenvías: no hay límite de entregas.
Evaluación. Las siete prácticas y el proyecto final se califican con rúbrica (90 % de la nota; el proyecto, un 22 %) y las autoevaluaciones de los temas (10 %). Apruebas con una nota final de al menos 7 sobre 10 y al menos un 7 en cada práctica y en cada autoevaluación. Al aprobar recibes automáticamente un certificado de finalización verificable en línea. El curso prepara el examen CTFL, pero no lo incluye: el examen oficial se hace con un proveedor acreditado.
Las herramientas: Python 3.13 con uv y VS Code, pytest y sus plugins, coverage.py, Hypothesis, mutmut, httpx, Schemathesis, Django y pytest-django, Playwright, pytest-bdd y behave, Locust, axe, bandit, pip-audit, OWASP ZAP, Git y GitHub Actions. Dedicación estimada: 212 horas.
Automatización de tareas con Python
Aprende a automatizar con Python las tareas repetitivas de una oficina: ordenar y renombrar cientos de ficheros, consolidar libros de Excel en un informe con formato y gráficos, generar cartas en Word y facturas en PDF en serie, enviar y leer correo con adjuntos, recoger datos de webs y APIs, manejar el navegador cuando no hay otra vía y conectar con Google Sheets y Microsoft 365. Es un curso de nivel profesional para personal de administración y perfiles técnicos que ya saben lo básico de Python y quieren convertirlo en horas ahorradas cada semana, con scripts robustos, programados y fáciles de compartir. Todo se trabaja sobre la oficina de «Brisa Hogar», una tienda online ficticia que vende artículos para el hogar, con su carpeta compartida desordenada, sus notas de gasto por departamento, sus plantillas corporativas, sus facturas de proveedor y su buzón de correo.
Sin cuentas reales y sin riesgos. El curso trae sus propios servicios de pruebas, que funcionan en tu ordenador: un servidor de correo, la web de un proveedor, la API de un transportista y simuladores de Google Sheets y Microsoft 365. Practicas sin enviar un solo correo de verdad ni tocar los datos de tu empresa, y el mismo código vale después con tus cuentas cambiando solo la configuración.
Qué incluye: 12 temas en 4 módulos, 3 prácticas y un proyecto final
- Módulo 1 · Ficheros y hojas de cálculo — Qué merece la pena automatizar, tu entorno y un diagnóstico de Python · Ficheros y carpetas: pathlib, shutil, renombrado masivo, duplicados y zip · CSV, JSON y pandas esencial · Excel con openpyxl y pandas: plantillas, formatos, fórmulas y gráficos · Práctica 1: el cierre mensual
- Módulo 2 · Documentos y correo — Word con python-docx y plantillas docxtpl; PDF con pypdf y ReportLab y extracción de tablas · Correo con adjuntos y plantillas: smtplib e imaplib · Práctica 2: facturas y cartas en serie
- Módulo 3 · La web: scraping, APIs y navegador — Web scraping responsable con requests y Beautiful Soup (robots.txt, ritmo y ética) · APIs REST con autenticación, paginación y reintentos, Google Sheets y Microsoft 365 · Automatización del navegador con Playwright · Práctica 3: proveedor y transportista
- Módulo 4 · Automatizaciones profesionales — Línea de órdenes con argparse y Typer, configuración, registro, errores y notificaciones · Programar tareas (cron, launchd, Programador de tareas de Windows, APScheduler) y empaquetar tu script · IA en tus automatizaciones (opcional con un modelo real) · Proyecto final: automatiza un proceso real de oficina
Cada tema trae un PDF propio con código resuelto y su salida real, un entrenamiento autocorregible (completas funciones en Python y python comprobar.py te dice al momento si son correctas y, si no, qué mirar), que entregas para que lo revise el tutor (su solución se abre 7 días después de tu entrega), y una autoevaluación con la explicación de cada respuesta.
A quién va dirigido. A quien trabaja en administración, finanzas, compras, logística o atención al cliente, y a perfiles técnicos que dan soporte a esos equipos, que pierden horas en tareas mecánicas con ficheros, hojas de cálculo, documentos y correos. Requisitos: Python básico (variables, listas y diccionarios, condicionales y bucles, funciones, excepciones y ficheros de texto); te recomendamos el curso «Python desde cero» del campus, y el tema 1 incluye un diagnóstico que te dice qué repasar. Te hace falta un equipo propio (Windows, macOS o Linux) en el que tengas permiso para instalar software. Si lo que buscas es analizar datos a fondo, el curso «Análisis de datos con Python» es el complemento; si quieres dominar Excel como usuario, «Excel de cero a experto»; y para ir más lejos con la IA, «IA generativa con Python».
Metodología. Sin calendario: el curso es autogestionado y tienes 365 días desde la matrícula para recorrerlo cuando mejor te venga. Cada tema combina un PDF con el código ya ejecutado, un entrenamiento que se corrige solo y un cuestionario; cada módulo termina con una práctica individual que el tutor corrige a medida que llega, con observaciones para mejorarla. ¿Una práctica se queda por debajo del 7? La mejoras y la vuelves a subir tantas veces como necesites. En el proyecto final automatizas un proceso completo (una de las propuestas guiadas o uno de tu trabajo con datos ficticios), programado y listo para que lo use otra persona.
Evaluación. Tres prácticas y el proyecto final con rúbrica (90 %; el proyecto final pesa un 32 %) y las autoevaluaciones de los temas (10 %). Apruebas con una nota final de al menos 7 sobre 10 y al menos un 7 en cada práctica y en cada autoevaluación. Al aprobar recibes automáticamente un certificado de finalización verificable en línea.
Herramientas: Python 3.13, uv, VS Code con Jupyter, pathlib, pandas, openpyxl, python-docx, docxtpl, pypdf, ReportLab, pdfplumber, smtplib e imaplib, requests, httpx, Beautiful Soup, Playwright, tenacity, Pydantic, Typer, APScheduler, PyInstaller y pytest. Dedicación estimada: 103 horas.
Git y GitHub para equipos
Aprende a trabajar con Git y GitHub en equipo como se hace en una empresa de software, entendiendo lo que pasa por debajo. Es un curso de nivel profesional para desarrolladores y perfiles técnicos que empiezan con Git o que ya lo usan a diario sin acabar de entenderlo: los que copian órdenes de internet cuando algo se tuerce, temen un conflicto o no se atreven con un rebase. Empiezas por el modelo interno de Git (objetos, commits, árbol, índice y HEAD) explicado de forma práctica y terminas rescatando un repositorio con la historia enredada, un secreto filtrado y una versión que firmar. Todo se practica sobre Faro, un pequeño proyecto ficticio con su equipo de cuatro personas.
Qué incluye: 8 temas en 3 módulos y 3 prácticas
- Módulo 1 · Git en tu ordenador — Cómo piensa Git: instalación en Windows, macOS y Linux, configuración y el modelo de objetos · El ciclo diario: estados, commits,
.gitignore,diffylog· Ramas, fusiones y conflictos, y el stash para cambiar de tarea · Práctica 1: Faro en tu ordenador - Módulo 2 · GitHub y el trabajo en equipo — Remotos y GitHub: SSH y tokens,
clone,fetch,pull,pushy forks · Pull requests y revisión de código: ramas protegidas y rulesets, CODEOWNERS, Issues, Projects y Discussions · Flujos de trabajo (GitHub Flow, Git Flow, trunk-based), Conventional Commits, versionado semántico, etiquetas y releases, y una integración continua sencilla con GitHub Actions · Práctica 2: Faro en GitHub - Módulo 3 · Historia, recuperación y repositorios profesionales — Deshacer, reescribir y recuperar:
amend,reset,revert,rebaseinteractivo,cherry-pick,reflogybisect(y cuándo no reescribir) · Repositorios grandes y seguros: submódulos, monorepos, Git LFS, hooks, qué hacer con un secreto filtrado y firma de commits · Práctica 3: rescate de Faro
Cada tema trae un PDF propio con ejemplos reales (todas las órdenes y salidas se han ejecutado), un entrenamiento con autocorrector —un script crea en tu ordenador repositorios de práctica con situaciones concretas (un conflicto, una historia que arreglar, un remoto que va por delante…) y python comprobar.py revisa el estado final de tu repositorio y te dice qué falta—, que entregas para que lo revise el tutor (su solución explicada se abre 7 días después de tu entrega) y una autoevaluación con la explicación de cada respuesta. Los ejercicios no necesitan internet ni cuenta de GitHub; GitHub de verdad lo usas en los temas 4 a 6 y en la práctica 2.
A quién va dirigido. A desarrolladores, testers, administradores de sistemas, analistas de datos y cualquier perfil técnico que trabaje con código o configuración en equipo. Requisitos: manejarte con soltura en un ordenador y no tenerle miedo al terminal (el curso te enseña lo necesario); no hace falta saber programar. Necesitas un equipo con Windows, macOS o Linux donde puedas instalar Git y Python (este, solo para los ejercicios) y una cuenta gratuita de GitHub. Si vienes del curso Python desde cero, su tema de Git te habrá dado una primera idea: aquí lo llevas al nivel de un equipo profesional. Y si te interesa desplegar aplicaciones web, el curso Django profesional: aplicaciones web y API REST con Python aplica estas mismas herramientas a un proyecto completo.
Metodología. Sin calendario: el curso es autogestionado y tienes 365 días desde la matrícula para recorrerlo cuando mejor te venga. En cada tema estudias el PDF reproduciendo los ejemplos en tu terminal, practicas con los ejercicios autocorregibles y superas un cuestionario; cada módulo termina con una práctica individual que entregas como un fichero de git (un bundle) —en la segunda, también con el enlace a tu repositorio público de GitHub (privado con capturas, solo si tienes GitHub Pro o superior)— y que el tutor corrige a medida que llega, con observaciones para mejorarla. Antes de entregar, el autocorrector te dice qué parte ya cumples. Si una práctica no llega al 7, la mejoras y la vuelves a subir tantas veces como necesites.
Evaluación. Tres prácticas con rúbrica (90 %: 25 %, 30 % y 35 %) y las autoevaluaciones de los temas (10 %). Apruebas con una nota final de al menos 7 sobre 10 y al menos un 7 en cada práctica y en cada autoevaluación. Al aprobar recibes automáticamente un certificado de finalización.
Trabajarás con Git (la versión más reciente; mínimo 2.40), GitHub (repositorios, pull requests, rulesets, Issues, Projects, Discussions, Releases y Actions), VS Code, SSH, Git LFS, git-filter-repo y, si quieres, GitHub CLI. Dedicación estimada: 42,5 horas.
Django profesional: aplicaciones web y API REST con Python
Aprende a crear aplicaciones web profesionales con Django, el framework web más usado de Python, a ofrecer sus datos con una API REST, a dejarlas listas para producción y a publicarlas en Internet. Es un curso de nivel intermedio para quien ya programa en Python: empiezas con una página que dice «hola» desde tu ordenador y terminas con tu propia aplicación web completa y publicada, con base de datos, panel de administración, formularios, registro e inicio de sesión, perfiles con avatar, pruebas automáticas, consultas eficientes, una API REST documentada, una configuración segura probada con PostgreSQL e integración continua, y una dirección pública. Los temas se apoyan en aplicaciones de ejemplo propias («Senderos», la web de un club de montaña, y otras más pequeñas para el ORM a fondo, la API REST y la producción); tu proyecto, en cambio, es de temática libre.
Qué incluye: un tema de repaso, 17 temas en 6 módulos, una práctica, un proyecto en 8 fases y el proyecto final
- Módulo 0 · Antes de empezar — Tema 0 · Lo que necesitas de Python: lo imprescindible del lenguaje para Django, con un diagnóstico
- Módulo 1 · Primeros pasos con Django — La web y Django: proyecto, vistas y URL · Plantillas de Django · Modelos y base de datos con el ORM de Django · Práctica 1: tu primera web con modelo, vista y plantilla
- Módulo 2 · Tu proyecto Django: nivel intermedio — Organiza el proyecto: aplicaciones, URL, archivos estáticos y Bootstrap · Herencia de plantillas, navegación y panel de administración · Formularios: alta y búsqueda de datos · Proyecto, fases 1 y 2
- Módulo 3 · Tu proyecto Django: nivel avanzado — CRUD con vistas basadas en funciones y en clases · Usuarios: registro, inicio y cierre de sesión y permisos · Perfil de usuario, imágenes y avatar · Pruebas: casos de prueba y tests automáticos · Proyecto, fases 3, 4 y 5
- Módulo 4 · Django profesional: ORM a fondo y API REST — El ORM a fondo: relaciones, agregaciones y consultas eficientes · Paginación, mensajes y señales · API REST con Django REST Framework: serializadores y vistas · API REST segura y usable: autenticación, permisos, filtros y documentación · Proyecto, fases 6 y 7
- Módulo 5 · Listo para producción: seguridad y PostgreSQL — Configuración por entornos y seguridad de una aplicación Django · PostgreSQL con Docker e integración continua con GitHub Actions · Proyecto, fase 8
- Módulo 6 · Publicación y proyecto final — Publica tu aplicación: PythonAnywhere, Heroku y otras plataformas · Proyecto final: tu aplicación web completa, publicada y presentada en un vídeo
Cada tema trae un PDF propio, un entrenamiento autocorregible (un proyecto Django con partes por completar y sus pruebas, python manage.py test), que entregas para que lo revise el tutor (su solución se abre 7 días después de tu entrega), y una autoevaluación con la explicación de cada respuesta.
A quién va dirigido. A quien ha terminado el curso «Python desde cero» del Campus, a quien programa en Python y quiere dar el salto a la web y a las API, y a quien busca una primera experiencia profesional de desarrollo backend. Requisito: haber hecho el curso de Python o saber lo equivalente (funciones, clases y herencia, módulos, entornos virtuales, Git y GitHub). El tema 0 te ayuda a comprobarlo.
Metodología. Curso autogestionado: sin fechas ni plazos, avanzas a tu ritmo durante los 365 días que tienes desde tu matrícula. Estudias cada tema, lo practicas en su entrenamiento y lo aplicas a tu propio proyecto, que crece fase a fase. Tu tutor corrige cada entrega de forma asíncrona, conforme la envías, con comentarios para que mejores; si una no llega al 7, la corriges y la vuelves a enviar. Todas las entregas son individuales y se acompañan de su repositorio de GitHub.
Evaluación. Práctica 1 (7 %), ocho fases del proyecto (fases 1 a 5: 8 % cada una; fase 6: 7 %; fase 7: 10 %; fase 8: 8 %) y proyecto final (18 %), todas con rúbrica, y las autoevaluaciones de los temas (10 %). Apruebas con una nota final de al menos 7 sobre 10 y al menos un 7 en cada entrega y en cada autoevaluación. Al aprobar recibes un certificado de finalización verificable en línea.
Trabajarás con Python 3.12 o posterior y Django 5.2 LTS, SQLite y PostgreSQL, Bootstrap 5, Pillow, Django REST Framework, Docker, Git, GitHub y GitHub Actions, y publicarás tu aplicación en una cuenta gratuita de PythonAnywhere; también conocerás Heroku (de pago) y otras plataformas. Dedicación estimada: 233 horas (tema 0 incluido), más una hora de presentación.
Python desde cero
Aprende a programar desde cero con Python, uno de los lenguajes más usados del mundo y de los más amables para empezar. Es un curso de nivel de iniciación: no necesitas haber programado nunca. Empiezas instalando Python y abriendo un terminal, y terminas con un proyecto propio que descarga datos de un servicio web, los guarda en una base de datos SQLite, está cubierto por pruebas automáticas y vive en tu cuenta de GitHub. Todo se trabaja en tu ordenador, con Visual Studio Code, entornos virtuales y notebooks de Jupyter, y con un ejemplo que te acompaña de principio a fin: «Meteo de bolsillo», una estación meteorológica casera.
Qué incluye: 24 temas en 7 módulos y 9 prácticas
- Módulo 1 · Primeros pasos con Python — Programar, Python y tu entorno de trabajo · Números, variables, entrada y salida · Cadenas de texto · Listas y tuplas · Prácticas 1 y 2: una calculadora interactiva para repartir gastos y el inventario de una frutería
- Módulo 2 · Decisiones y repeticiones — Booleanos, operadores y expresiones · Decisiones: if, elif, else y match · Bucles: while, for y range · Práctica 3: una máquina expendedora con su menú
- Módulo 3 · Colecciones, archivos y funciones — Conjuntos y diccionarios · Archivos y datos: texto, JSON y CSV (con un primer contacto con pandas) · Funciones · Funciones avanzadas: argumentos, recursividad y funciones integradas · Prácticas 4 y 5: funciones que validan fechas y tu biblioteca de utilidades
- Módulo 4 · Errores y programación orientada a objetos — Errores y excepciones · Pensar en objetos: paradigmas y diagramas de clases · Clases y objetos en Python · Herencia, polimorfismo y duck typing · Práctica 6: un gestor de torneos de ajedrez
- Módulo 5 · Programas de verdad — Scripts, módulos y paquetes · La biblioteca estándar: collections, datetime, math, random y expresiones regulares · Control de versiones con Git y GitHub · Práctica 7: tu torneo empaquetado y publicado en GitHub
- Módulo 6 · Python idiomático — Iteradores, generadores y expresiones generadoras · Funciones como objetos, clausuras y decoradores · Anotaciones de tipo, mypy y dataclasses · Práctica 8: el análisis de ventas de una panadería
- Módulo 7 · Calidad y datos — Pruebas con pytest, depuración y registro con logging · Consumir APIs web: HTTP, JSON y requests · Bases de datos con SQLite: SQL desde Python · Práctica 9: proyecto final, de una API pública a tu base de datos
Cada tema trae un PDF propio con ejemplos resueltos, un entrenamiento autocorregible (un notebook y ejercicios en .py que te dicen al momento si vas bien), que entregas para que lo revise el tutor (su solución se abre 7 días después de tu entrega), y una autoevaluación con la explicación de cada respuesta.
A quién va dirigido. A cualquier persona que quiera aprender a programar: estudiantes, profesionales de otros campos que quieren automatizar su trabajo y quien piensa orientarse al desarrollo de software, al análisis de datos o a la web. Requisitos: saber usar un ordenador (carpetas, ficheros, navegador, instalar programas) y tener uno propio con Windows, macOS o Linux. Nada de programación previa.
Metodología. Curso autogestionado: sin fechas ni plazos, avanzas a tu ritmo durante los 365 días que tienes desde tu matrícula. Estudias cada tema en su PDF, lo practicas con el entrenamiento y lo consolidas con la autoevaluación; al final de cada bloque, una práctica individual que tu tutor corrige de forma asíncrona, conforme la entregas, con comentarios para que mejores. Si una práctica no llega al 7, la corriges y la reenvías hasta aprobarla.
Evaluación. Nueve prácticas con rúbrica (90 %; el proyecto final pesa un 18 %) y las autoevaluaciones de los temas (10 %). Apruebas con una nota final de al menos 7 sobre 10 y al menos un 7 en cada práctica y en cada autoevaluación. Al aprobar recibes un certificado de finalización verificable en línea.
Trabajarás con Python 3.12 o posterior, Visual Studio Code, Jupyter, Git y GitHub, pytest, mypy, requests y SQLite en tu ordenador (Google Colab queda como alternativa en línea para los primeros módulos). Dedicación estimada: 225 horas. Al terminar, puedes continuar con el curso «Django: desarrollo web con Python».
Gráficos por computador en C
Aprende cómo se genera una imagen de una escena 3D programándolo en C con OpenGL clásico y GLUT. Es un curso de nivel de grado en ingeniería informática que recorre el temario clásico de la asignatura de gráficos por computador —discretización, transformaciones, cámara y proyecciones, modelos geométricos, visibilidad e iluminación— mientras construyes, fase a fase, tu propia aplicación gráfica: un programa que se compila y se ejecuta desde el terminal y se maneja con el teclado, que carga modelos OBJ, los transforma, los mira desde varias cámaras y los ilumina con el sol, una bombilla y focos.
Qué incluye: 9 temas, una práctica en 4 fases y un examen final
- Módulo 1 · Sistemas gráficos y discretización — Tema 1 Sistemas gráficos y programación con OpenGL y GLUT · Tema 2 Discretización: rectas, polígonos, triángulos y texturas · Fase 1: discretización de triángulos con textura por software
- Módulo 2 · Modelos y transformaciones — Tema 3 Modelos geométricos: mallas, sólidos y superficies · Tema 4 Transformaciones geométricas en 2D y 3D · Tema 5 Rotaciones en el espacio y cuaterniones · Fase 2: carga y transformación de objetos
- Módulo 3 · Visualización y visibilidad — Tema 6 Visualización 2D: transformación ventana-vista y recorte · Tema 7 La cámara: sistema de referencia y proyecciones · Tema 8 Visibilidad: caras traseras, z-buffer y otros algoritmos · Fase 3: cámaras
- Módulo 4 · Iluminación — Tema 9 Iluminación y sombreado · Fase 4: iluminación
- Cierre — Examen final en forma de cuestionario
Cada tema trae un PDF propio, un paquete de ejercicios en C con banco de pruebas (make test), que entregas para que lo revise el tutor (su solución se abre 7 días después de tu entrega), y una autoevaluación que desbloquea lo siguiente.
A quién va dirigido. A estudiantes de grado en ingeniería informática (o titulaciones afines) y a programadores que quieren entender qué hay debajo de un visor 3D, un programa de diseño o un videojuego. Requisitos: programar en C con soltura (punteros, struct, memoria dinámica, ficheros, compilación con make), manejarte en el terminal y conocer el álgebra lineal (vectores, matrices, inversa, cambio de base) y la trigonometría de primer curso.
Metodología. Estudias cada tema en su PDF, lo practicas con ejercicios en C que se corrigen solos con su banco de pruebas y aplicas lo aprendido en la práctica: una única aplicación incremental que amplías en cuatro fases, cada una con sus propias pruebas automáticas, un manual de teclas y una breve memoria.
Evaluación. Práctica 60 % (fases 1 a 4: 9, 18, 18 y 15 %), autoevaluaciones 10 % y examen final 30 %. Apruebas con un 7 sobre 10 de nota final y al menos un 7 en cada fase, en el examen y en cada autoevaluación; una entrega que no compila no pasa de 4. El examen final es individual, con dos intentos (cuenta el mejor) y una duración recomendada de dos horas.
Trabajarás en C (C99/C11) con OpenGL clásico (glBegin, glMatrixMode, gluLookAt, gluPerspective, glLight, glMaterial) y GLUT o freeglut, en local: macOS (clang y GLUT del sistema), Linux (gcc, freeglut y Mesa) o Windows (MSYS2 con MinGW-w64 y freeglut), con un Makefile que detecta el sistema. Dedicación estimada: 124 horas de temas, práctica y examen, más una hora de presentación (unas 10 horas semanales durante 13 semanas).
Informática gráfica: del modelo 3D a la imagen
Aprende cómo un ordenador convierte un modelo 3D en una imagen programando tú mismo cada pieza del proceso. Es un curso de nivel de grado en ingeniería informática: primero construyes en Python, paso a paso y sin librerías gráficas, un rasterizador por software completo (rectas, triángulos, texturas, mallas, transformaciones, cámara, recorte, z-buffer e iluminación) para entender el pipeline gráfico por dentro, y después llevas ese mismo pipeline a la GPU con OpenGL moderno y shaders GLSL.
Qué incluye: 10 temas y 5 entregas evaluables
- Módulo 1 · Imagen digital y rasterización — Tema 1 La imagen digital y el pipeline gráfico · Tema 2 Rasterización de primitivas: rectas, polígonos y triángulos · Práctica 1: un rasterizador 2D con texturas
- Módulo 2 · Geometría y transformaciones — Tema 3 Modelos geométricos y mallas poligonales · Tema 4 Transformaciones geométricas en 2D y 3D · Tema 5 Rotaciones en el espacio y cuaterniones · Práctica 2: carga y transformación de objetos 3D
- Módulo 3 · Cámara y visibilidad — Tema 6 Visualización 2D: ventana, vista y recorte · Tema 7 La cámara virtual y las proyecciones · Tema 8 Visibilidad y texturas en el pipeline 3D · Práctica 3: cámara virtual y pipeline 3D por software
- Módulo 4 · Iluminación y tiempo real — Tema 9 Iluminación y sombreado · Práctica 4: iluminación en el rasterizador por software · Tema 10 OpenGL moderno y shaders GLSL con Python
- Cierre — Proyecto final: una escena 3D interactiva con objetos, cámaras, luces y materiales en OpenGL moderno
Cada tema trae un PDF propio, un notebook de entrenamiento con ejercicios autocorregibles, que entregas para que lo revise el tutor (su solución se abre 7 días después de tu entrega), y una autoevaluación que desbloquea lo siguiente.
A quién va dirigido. A estudiantes de grado en ingeniería informática (o titulaciones afines) y a programadores que quieren entender de verdad qué hay debajo de un motor gráfico, un videojuego o un visor 3D. Requisitos: programar con soltura en Python y conocer lo básico de numpy, además de álgebra lineal (vectores, matrices, producto matricial, inversa) y trigonometría de primer curso.
Metodología. Estudias cada tema en su PDF, lo practicas en un notebook guiado con comprobaciones automáticas y demuestras lo aprendido en prácticas incrementales: cada una amplía el código de la anterior hasta formar un pequeño motor gráfico.
Trabajarás en Python 3 con numpy, Pillow y matplotlib para la parte por software (también en Google Colab, sin GPU) y con moderngl, moderngl-window y PyGLM para la parte en tiempo real, que se instala en local en Windows, macOS o Linux con cualquier tarjeta gráfica compatible con OpenGL 3.3. Dedicación estimada: 135 horas de temas y entregas, más una hora de presentación (unas 10 horas semanales durante 14 semanas).