Introducción a los Lenguajes de Programación Probabilística
PPLs · FCEyN, UBA · 2026 · Javier Burroni
Para aprobar
- Leer el material y completar el formulario de lectura antes de cada clase es obligatorio (al menos 6 de los
87; se revisa que estén completos, no la calidad). - Responder las preguntas de Poll Everywhere es obligatorio: el 80% de las preguntas en 6 de las 8 clases.
- La asistencia es obligatoria: al menos 5 clases a partir de la del 19/6.
- Trabajo final, que gradúa la nota.
Próxima clase
Miércoles 1/7: completá el formulario de lectura. Cierra una hora antes de la clase.
Horarios
Lunes 18:00–19:00 · Labo 1105
Miércoles 18:00–19:30 · Labo 1106
Viernes 18:00–20:00 · Labo 1112
Atención: la Clase 8 es el jueves 2/7 de 18:00 a 19:30, labo 1104.
Antes de cada clase: leé el material indicado y completá el formulario. Es obligatorio y cierra una hora antes.
Cronograma
| Clase | Labo | Tema y lectura | Formulario | Slides | Extras |
|---|---|---|---|---|---|
| 1 · Mié 17/6 | 1106 | Introducción. Capítulo 1 | Form 1 (cerrado) | HTML · PDF | |
| 2 · Vie 19/6 | 1112 | Cierre Cap. 1 + § 2.1, 2.2, 4.1 | Form 2 (cerrado) | Parte A · Parte B | Notebooks |
| 3 · Lun 22/6 | 1105 | Cierre § 4.1. Metropolis-Hastings. § 4.2 y 3.2 | Form 3 (cerrado) | Parte A · Parte B | Notebooks |
| 4 · Mié 24/6 | 1106 | Sequential Monte Carlo. § 4.3. Opcional: § 4.4 (black-box variational inference) | Form 4 (cerrado) | Parte A · Parte B | Notebooks |
| 5 · Vie 26/6 | 1112 | Lenguaje probabilístico con recursión (Cap. 5). Inferencia como interacción con un programa en ejecución (Cap. 6) | Form 5 (cerrado) | HTML | Notebooks |
| 6 · Lun 29/6 | 1105 | Cap. 7 | Form 6 (cerrado) | HTML | Notebooks · Simulación HMC |
| 7 · Mié 1/7 | 1106 | § 8.1–8.3 | Form 7 | HTML | Notebooks |
| 8 · Jue 2/7 18:00–19:30 |
1104 | Sin lectura asignada | Próximamente | Próximamente | |
| Trabajo final | Entrega: domingo 12/7, 23:59 · ver consigna | ||||
En total se dan 8 7 formularios de lectura.
Libro de texto
Los capítulos del cronograma corresponden a An Introduction to Probabilistic Programming, de van de Meent, Paige, Yang y Wood, disponible en arXiv.
Material
Todo el material está en el repositorio del curso: las clases en lectures/ y las demos en demos/.
Demos co-creadas con Claude (cada una trae un README; se corren con uv sync y uv run jupyter lab <notebook>):
- Mundial 2026, modelo bayesiano de goles (PyMC): notebook
- Regresión lineal bayesiana (Pyro): notebook
Poll Everywhere
Usamos Peer Instruction. Creá tu cuenta en pe.app y logueate con el mismo mail con el que figurás en la lista de la materia.
Pregunta de prueba. Si no podés responder, probablemente no tengas la cuenta creada, no estés logueado/a o el mail no coincida. Si no lo resolvés, avisá en el grupo.
Material opcional
No forma parte de la cursada; lo dejo solo para quien quiera profundizar por curiosidad.
- Modelos gráficos (graphical models), charla de Justin Domke en MLSS 2015: video.
- Continuaciones (CPS). «C3: Lightweight Incrementalized MCMC for Probabilistic Programs using Continuations and Callsite Caching», de Ritchie, Stuhlmüller y Goodman (2015): paper.
- Continuaciones (CPS). «The Design and Implementation of Probabilistic Programming Languages», de Goodman y Stuhlmüller, cap. 3 (Enumeration): capítulo.
- HMC (Hamiltonian Monte Carlo). «MCMC using Hamiltonian dynamics», de Radford M. Neal (2012): paper.
Contacto
Avisos y consultas: grupo de Google de la materia.