Skip to content

Errores comunes al aprender recursión - #39

Open
StephAmv wants to merge 8 commits into
tectijuana:mainfrom
StephAmv:main
Open

StephAmv wants to merge 8 commits into
tectijuana:mainfrom
StephAmv:main

Conversation

@StephAmv

@StephAmv StephAmv commented Sep 13, 2026

Copy link
Copy Markdown

Programación Lógica y Funcional

Ingeniería en Sistemas Computacionales · TecNM Tijuana


👤 Información del estudiante

  • Nombre completo: Stephanie Ariana Medrano Vargas
  • Horario: 4:00 PM
  • Unidad y tema: Unidad 1, Tema: Errores comunes al aprender recursión

📌 Descripción del Pull Request

Este PR contiene ejemplos prácticos de recursión segura en Elixir, demostrando:

  • Caso base y caso recursivo (suma de listas)
  • Optimización con recursión de cola (tail recursion)
  • Inversión de listas con acumulador
  • Manejo explícito de errores (división por cero)

El objetivo es comprender los patrones correctos de recursión y evitar
stack overflow mediante tail call optimization.

Tipo de cambio

  • Corrección de bug (código que no compilaba o test que fallaba)
  • Nueva práctica o ejercicio
  • Mejora de código existente
  • Mejora de documentación
  • Otro

📁 Estructura de Entrega

Marque con ✅ o ❌ según corresponda:

  • 📂 Carpeta individual/del tema con el nombre correcto (Ejemplo: unidadX/temaX.Y/)
  • 📄 Código fuente y, si aplica, README.md del tema
  • 🧩 Todos los archivos requeridos por el tema están completos
  • 🖼 Diagramas / evidencia visual correctamente integrados (si aplica)
  • 📚 Referencias técnicas en formato adecuado
  • ✍️ Código y comentarios originales (sin copiar de otra entrega)

✅ Checklist de calidad técnica

  • El código compila / carga sin errores
  • Los tests existentes siguen pasando
  • Se agregaron tests para el código nuevo (si aplica)
  • Los predicados Prolog tienen documentación de aridad y determinismo
  • El código Erlang usa OTP behaviors (sin spawn desnudo)
  • Se probó localmente con el comando exacto indicado en el README del tema

🧠 Validación académica

Confirme que su entrega cumple con los criterios técnicos:

  • Tema alineado al programa de la materia
  • Fundamentación teórica clara (por qué este paradigma resuelve el problema)
  • Desarrollo estructurado y coherente
  • Análisis técnico propio
  • Conclusiones bien argumentadas (si el entregable las requiere)

🎬 Evidencia de ejecución

  • asciinema (sesión CLI) — link: https://asciinema.org/a/ZieAf0zof4DkX47f
  • LOOM (demo UI/gráfica, si aplica) — link:
  • Google Stitch (mockup UI, si aplica) — imagen incluida en el README del proyecto

Comandos de verificación

# Instalar Elixir
sudo apt install -y elixir

# Ejecutar el script
cd research/Errores\ comunes\ al\ aprender\ recursión/
elixir errores_recursion.exs

# Resultado esperado:
# suma directa: 15
# suma de cola: 15
# invertir: [5, 4, 3, 2, 1]
# dividir entre 2: {:ok, [0.5, 1.0, 1.5, 2.0, 2.5]}
# dividir entre 0: {:error, :division_por_cero}

Referencias


🔍 Observaciones para el Maintainer (Docente)


📊 Rúbrica de Evaluación – Pull Request

Ingeniería en Sistemas Computacionales
Materia: Programación Lógica y Funcional
Valor total: 100 puntos

Criterio de Evaluación Descripción del Desempeño Esperado Valor
📁 Estructura del Repositorio Carpeta nombrada y ubicada correctamente según la unidad/tema. Organización limpia y coherente. 10 pts
📄 Uso correcto del Template Pull Request completo siguiendo el template oficial sin omisiones. 5 pts
⚙️ Funcionalidad y Correctitud El código compila/carga y produce el resultado esperado (código que no compila = 0 en este ítem). 25 pts
🧪 Pruebas y Verificación Tests (EUnit/plunit/etc.) presentes y pasando; comandos de verificación reproducibles. 15 pts
🧩 Calidad de Código Sigue los estándares del curso (OTP behaviors, .mli en OCaml, aridad/determinismo en Prolog, etc.). 15 pts
🎬 Evidencia de Ejecución asciinema/LOOM/Stitch según aplique, mostrando la ejecución real. 10 pts
📚 Referencias Académicas Fuentes confiables, correctamente citadas. 10 pts
✍️ Redacción Técnica Claridad, coherencia y uso apropiado de terminología del paradigma. 5 pts
🔄 Flujo de Contribución PR correctamente generado, sin afectar archivos de otros compañeros. 5 pts

📝 Declaración de Originalidad

Declaro que este trabajo es original y de mi autoría, y que todas las fuentes consultadas han sido citadas correctamente.
Entiendo que el plagio total o parcial invalida la entrega.

  • Nombre: Stephanie Ariana Medrano Vargas
  • Fecha: 13/09/2026

✅ Checklist Final antes de Enviar

  • Revisé ortografía y redacción técnica
  • El PR contiene únicamente mi entrega
  • El título del PR sigue el formato solicitado por el docente
  • No modifiqué archivos de otros compañeros, ni la estructura de directorios
  • Verifiqué que mi carpeta está nombrada correctamente con la unidad/tema asignado
  • La evidencia de ejecución (asciinema/LOOM) está enlazada arriba
  • [ ] De haber intervenido AI redacción o apoyo de LLM debe de llenar ANEXO.md con los prompts y demas ver raiz del repositorio

…estigacion-funcional

Agregar investigación Tema 29: Errores comunes al aprender recursión (Elixir)
Added course details and introduction about recursion.
@IoTeacher

Copy link
Copy Markdown
Member
image

@IoTeacher IoTeacher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

falta ANEXO.md

"El trabajo presenta una exposición técnicamente sólida y una redacción altamente estructurada sobre recursión, casos base, medida de progreso y recursión de cola en Elixir.

Sin embargo, se observan características compatibles con el uso de herramientas de Inteligencia Artificial como apoyo en la elaboración del documento. Esto no constituye por sí mismo evidencia suficiente para afirmar que el trabajo fue generado por IA.

El incumplimiento verificable es la ausencia del ANEXO DE USO ÉTICO DE INTELIGENCIA ARTIFICIAL solicitado para transparentar el uso de estas herramientas.

Por lo tanto, el trabajo queda sujeto a revisión de autoría y trazabilidad. El estudiante deberá poder explicar con sus propias palabras los conceptos desarrollados, justificar el código presentado y acreditar las fuentes utilizadas.

Observación: el uso de IA como herramienta de apoyo no sustituye la autoría intelectual del estudiante ni elimina la obligación de declarar su utilización conforme a los lineamientos de la asignatura.
"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants