|
2 | 2 |  |
3 | 3 |
|
4 | 4 |
|
5 | | -# Temario de Programación Lógica y Funcional |
| 5 | +# Programación Lógica y Funcional — Agosto–Diciembre 2026 |
| 6 | + |
| 7 | +**TecNM Campus Tijuana · Ingeniería en Sistemas Computacionales** |
6 | 8 |
|
7 | 9 | ## ¿Por qué importa este curso? La conexión real con la industria |
8 | 10 |
|
@@ -71,6 +73,49 @@ Proveer a los estudiantes de las bases teóricas y prácticas necesarias para la |
71 | 73 | - **Tema 4.3:** Optimización de programas lógicos |
72 | 74 | - **Tema 4.4:** Proyectos prácticos y casos de estudio |
73 | 75 |
|
| 76 | +--- |
| 77 | + |
| 78 | +## Contenido del Curso |
| 79 | + |
| 80 | +### Unidad 1 — Conceptos Fundamentales |
| 81 | + |
| 82 | +| Tema | Contenido | Lenguajes | |
| 83 | +|------|-----------|-----------| |
| 84 | +| [1.1 Introducción](unidad1/tema1.1/) | Taxonomía de paradigmas, primer contacto con los lenguajes del curso | Python · Erlang · Prolog | |
| 85 | +| [1.2 Historia y evolución](unidad1/tema1.2/) | Línea de tiempo: Lambda Calculus 1930 → Gleam 2024, casos de industria | — | |
| 86 | +| [1.3 Comparación de paradigmas](unidad1/tema1.3/) | Validador de **CURP mexicana** en 3 paradigmas: imperativo, funcional, lógico | Python · Erlang · Prolog | |
| 87 | + |
| 88 | +### Unidad 2 — Modelo de Programación Funcional |
| 89 | + |
| 90 | +| Tema | Contenido | Lenguajes | |
| 91 | +|------|-----------|-----------| |
| 92 | +| [2.1 Fundamentos FP](unidad2/tema2.1/) | Inmutabilidad, transparencia referencial, pattern matching con **RFC** | Erlang | |
| 93 | +| [2.2 Funciones de orden superior](unidad2/tema2.2/) | `map`, `filter`, `reduce`, composición, closures — pipeline de alumnos TecNM | Clojure | |
| 94 | +| [2.3 Recursión e inmutabilidad](unidad2/tema2.3/) | Recursión de cola, `Maybe`/`Either`, tipos algebraicos | Haskell | |
| 95 | +| [2.4 Evaluación perezosa](unidad2/tema2.4/) | Listas infinitas (Fibonacci, primos), Stream sobre registros **IMSS** | Haskell · Elixir | |
| 96 | +| [2.5 Aplicaciones FP](unidad2/tema2.5/) | **OTP completo**: `application` + `supervisor` + `gen_server`, "let it crash" con sensores IoT estilo **CENAPRED** | Erlang/OTP | |
| 97 | + |
| 98 | +### Unidad 3 — Programación Lógica |
| 99 | + |
| 100 | +| Tema | Contenido | Lenguajes | |
| 101 | +|------|-----------|-----------| |
| 102 | +| [3.1 Fundamentos](unidad3/tema3.1/) | Hechos, consultas, base de datos organizacional TecNM Tijuana | SWI-Prolog | |
| 103 | +| [3.2 Sistemas formales y lógica de predicados](unidad3/tema3.2/) | Reglas, negación como falla (`\+`), elegibilidad para **beca TecNM** | SWI-Prolog | |
| 104 | +| [3.3 Unificación y resolución](unidad3/tema3.3/) | Algoritmo de unificación, traza SLD, occurs check — 15 tests | SWI-Prolog | |
| 105 | +| [3.4 Introducción a Prolog](unidad3/tema3.4/) | Listas desde cero (`mi_member`, `mi_append`, `mi_flatten`…), aritmética, `entre/3` — 76 tests | SWI-Prolog | |
| 106 | +| [3.5 Aplicaciones](unidad3/tema3.5/) | **Sistema experto médico interactivo** (contexto IMSS): 8 condiciones, `assert`/`retract` | SWI-Prolog | |
| 107 | + |
| 108 | +### Unidad 4 — Modelo de Programación Lógica |
| 109 | + |
| 110 | +| Tema | Contenido | Lenguajes | |
| 111 | +|------|-----------|-----------| |
| 112 | +| [4.1 Desarrollo de programas lógicos](unidad4/tema4.1/) | Módulos Prolog, firmas explícitas, documentación de aridad y determinismo — validador **CURP** | SWI-Prolog | |
| 113 | +| [4.2 Estrategias de búsqueda](unidad4/tema4.2/) | DFS y BFS sobre grafo **metro CDMX**, cut verde vs. rojo, `findall`/`bagof`/`setof` | SWI-Prolog | |
| 114 | +| [4.3 Optimización / CLP(FD)](unidad4/tema4.3/) | Restricciones sobre enteros, **Sudoku 9×9**, asignación de **horarios TecNM** como CSP | SWI-Prolog + CLP(FD) | |
| 115 | +| [4.4 Proyecto final](unidad4/tema4.4/) | Sistema de **trámites TecNM** multi-módulo con CLP, 33 tests automatizados | SWI-Prolog | |
| 116 | + |
| 117 | +--- |
| 118 | + |
74 | 119 | ## Recomendaciones para Innovar el Curso |
75 | 120 |
|
76 | 121 | ### Integración de Nuevas Tecnologías |
|
0 commit comments