Prácticas
Hay cuatro prácticas individuales.
| Práctica | Semana | Temas |
|---|---|---|
| 1 | 4 | C++, ownership y templates, pilas, análisis asintótico |
| 2 | 7 | Arreglos dinámicos, colas, listas enlazadas, deques y ordenamiento |
| 3 | 11 | Tablas hash y árboles binarios de búsqueda |
| 4 | 14 | Árboles AVL y rojinegros, heaps y colas de prioridad |
Cómo funciona
- Esa semana, una de las dos sesiones de laboratorio es para la práctica, y dura 2 horas. La otra sesión sigue con el laboratorio de la guía.
- Se resuelve en el entorno del curso, de forma individual.
- Cada enunciado trae pruebas públicas:
make testmuestra si el programa hace lo esperado. La revisión corre además pruebas privadas con otros datos. - El código debe compilar sin advertencias con
-Wall -Wextra -std=c++20, y terminar sin errores de ASan ni fugas de memoria. - No se usa IA generativa. Las demás herramientas permitidas están en el programa del curso, sección Uso de herramientas e IA generativa.
Qué se revisa
- Que el programa dé el resultado correcto, en las pruebas públicas y en las privadas.
- Que no haya fugas ni accesos inválidos, y que el ownership de la memoria esté claro.
- Que cada operación tenga el costo que la estructura promete.
- Que el código se lea bien: funciones cortas, nombres que dicen lo que hacen y sin código repetido.
Puede haber una revisión oral breve: quien entrega debe poder explicar cualquier parte de su código.