Proveer a los estudiantes de las bases teóricas y prácticas necesarias para la programación en paradigmas lógicos y funcionales, desarrollando su capacidad para resolver problemas complejos de manera efectiva.
- Tema 1.1: Introducción a la Programación Lógica y Funcional
- Tema 1.2: Historia y evolución de los paradigmas
- Tema 1.3: Comparación con otros paradigmas de programación
- Tema 2.1: Fundamentos de la programación funcional
- Tema 2.2: Funciones de primera clase y funciones de orden superior
- Tema 2.3: Recursión y estructuras de datos inmutables
- Tema 2.4: Evaluación perezosa (Lazy Evaluation)
- Tema 2.5: Aplicaciones de la programación funcional
- Tema 3.1: Fundamentos de la programación lógica
- Tema 3.2: Sistemas formales y lógica de predicados
- Tema 3.3: Unificación y resolución
- Tema 3.4: Introducción a Prolog
- Tema 3.5: Aplicaciones de la programación lógica
- Tema 4.1: Desarrollo de programas lógicos
- Tema 4.2: Estrategias de búsqueda
- Tema 4.3: Optimización de programas lógicos
- Tema 4.4: Proyectos prácticos y casos de estudio
- Lenguajes Modernos: Introducir lenguajes de programación funcionales y lógicos modernos como Haskell, Scala, y Clojure.
- Herramientas y Entornos de Desarrollo: Utilizar entornos de desarrollo interactivos como Jupyter Notebooks para Haskell y Prolog.
- Proyectos Reales: Incluir proyectos basados en problemas del mundo real.
- Colaboración en Equipos: Fomentar el trabajo en equipo mediante proyectos colaborativos.
- Tutoriales en Línea y MOOCs: Incorporar recursos adicionales como cursos en línea de Coursera, edX, o Udacity.
- Bibliografía Actualizada: Actualizar la bibliografía recomendada y proporcionar eBooks a los estudiantes, libros no mas de 15 años y revistas 5 años de su publicación.
- Evaluaciones Continuas: Implementar evaluaciones formativas continuas.
- Rubricas Detalladas: Utilizar rubricas detalladas para evaluar proyectos y tareas.
- Flipped Classroom: Aplicar el modelo de aula invertida.
- Gamificación: Incorporar elementos de gamificación.
-
Unidad 1: Conceptos Fundamentales
- Talleres interactivos y comparación práctica entre paradigmas.
-
Unidad 2: Modelo de Programación Funcional
- Proyectos de manipulación y análisis de datos y aplicaciones prácticas en la industria.
-
Unidad 3: Programación Lógica
- Casos de uso reales y uso de simuladores de lógica.
-
Unidad 4: Modelo de Programación Lógica
- Creación de sistemas expertos básicos y resolución de problemas complejos.
- Pereira, P. A. (2015). Elixir Cookbook: Unleash the full power of programming in Elixir with over 60 incredibly effective recipes. Packt Publishing. ISBN 9781784397517.
- Cesarini, F., & Thompson, S. (2009). Erlang Programming. O'Reilly Media. ISBN 9780596518189.
- Cesarini, F., & Vinoski, S. (2016). Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems. O’Reilly Media. ISBN 9781449320737.
- St. Laurent, S. (2017). Introducing Erlang: Getting Started in Functional Programming (2nd ed.). O’Reilly Media. ISBN 9781491973370.
- Pd. https://www.cs.us.es/~fsancho/Blog/posts/Introduccion_Prolog.md
- GitHub Student Pack: GitHub Education Pack
- Publicación de código privado o público: Utiliza GitHub Gist. Se requiere una cuenta.
- Amazon Web Services: Obtén una "Beca de $100 USD" con recarga durante el semestre en AWS Academy.
- Subidas anónimas auto purgables: Utiliza file.io para subir archivos que se eliminarán automáticamente después de 2 meses.
- Generador de arte ASCII: Crea arte ASCII con ASCII Generator.
- Grabación de habilidades: Usa asciinema para grabar y compartir sesiones en la terminal.
- Herramientas de IA para optimizar entregas académicas: Explora Future Tools para encontrar herramientas útiles. El autor tiene un canal en YouTube y es de San Diego.