INFORMÁTICA Y SISTEMAS
UNIVERSIDAD MAYOR DE SAN SIMÓN
UMSS Informática y Sistemas

2010038 - Programación Funcional

Docentes Designados:
Programa Analítico de la Materia:
Descripción
JUSTIFICACIÓN GENERAL.
¿Por qué debe existir la materia de Programación Funcional?

La comunidad informática en el mundo entero está atravesando por un problema muy grave, el cual ha sido denominado “Crisis del Software” y por el cual, los productos informáticos cada vez son más costosos, menos confiables, menos manejables y difíciles de probar a medida que crecen en magnitud. Los expertos aseguran que la causa de este problema está en la forma tradicional de programar y que si no se toman medidas para resolver este problema, la Informática podría fracasar.
La Programación Funcional con su estilo revolucionario de resolver problemas, surge como una solución a este problema, permitiendo producir software a bajo costo, más confiable, manejable y formalmente demostrable desarrollando a la vez gran capacidad de abstracción en el profesional en computadoras.

¿Qué rol juega la Programación Funcional en el perfil profesional del informático?

No cabe duda que la Programación Funcional juega un rol de suma importancia en el perfil del profesional en Informática que debe formar la UMSS para satisfacer las necesidades de la región y el país:

  1. Desarrolla en el profesional la capacidad de captar la esencia de los problemas, posibilitando de esta manera la creación de soluciones efectivas y de excelencia.
  2. Desarrolla la capacidad de resolver problemas mediante soluciones óptimas, en poco tiempo y a bajo costo, impulsando de esta manera al aparato productivo del país.
  3. Se constituye en un instrumento que integra las matemáticas con la informática, permitiendo formalizar, abstraer, razonar sobre problemas abstractos. Estos aspectos son de mucha importancia dentro de la Informática, tanto en la aplicación como en la investigación.
  4. Muestra una nueva forma de pensar y de resolver problemas, logrando que el futuro profesional:
    • Desarrolle el pensamiento creativo y pueda ser un innovador y contribuir a los avances de la ciencia.
    • Desarrolle la capacidad de resolver problemas complejos. Desarrolle la capacidad de aplicar la teoría.
    • Desarrolle la capacidad de anticiparse a los cambios tecnológicos en el área de Informática.

¿Cómo se integra la materia de Programación Funcional en el Plan de Estudios de la Carrera de Informática?

La materia de Programación Funcional, se integra con el resto de las materias del plan de estudios de la carrera de Informática para lograr el perfil profesional deseado, de la siguiente manera:
Se relaciona horizontalmente con las materias:

  • Ingeniería de Software (Area Proyectos de Software): La Programación Funcional constituye la solución a un gran problema al que se está enfrentando en la actualidad la Ingeniería de Software: “La Crisis del Software”.
  • Computación Gráfica (Area Algoritmos): La Programación Funcional constituye una herramienta útil para diseñar rápidamente y a bajo costo algoritmos gráficos.
  • Derivación Formal de Algoritmos (Area Algoritmos): la Programación Funcional constituye en un instrumento económico para llevar a cabo análisis y derivación de algoritmos y de este modo llegar a soluciones de excelencia para resolver problemas reales.
  • Programación Paralela y Concurrente (Area Algoritmos): La Programación Funcional constituye una herramienta fácil de usar para implementar de manera fácil y económica aplicaciones que puedan ser manejadas por muchos procesadores simultáneamente.
Se relaciona verticalmente con las materias:
  • Estructura Semántica de Lenguajes de Programación: la Programación Funcional se constituye en la base para desarrollar prototipos de Lenguajes de Programación en poco tiempo y a bajo costo.
  • Area Matemática Pura: La Programación Funcional requiere de una base matemática.

¿Qué modificaciones al plan global en vigencia se sugieren?

En general se propone:
Cambiar la estructuración de los temas y unidades de modo que faciliten el aprendizaje del alumno, obedeciendo a los objetivos planteados.
Al mismo tiempo, se pretende dar una visión práctica de la materia (de modo que el aprendizaje no se detenga en la teoría, sino que el alumno pueda aplicar sus conocimientos sobre la materia en situaciones reales). Asimismo, posibilitar el acceso a información más actualizada (INTERNET, revistas científicas) sobre la materia e incentivar la investigación. Por ello se propone:

  1. Incluir Aplicaciones de la Programación Funcional en el mercado profesional, de modo que el alumno pueda experimentar la utilidad de la materia. Ser un buen teórico es bueno, pero se convierte en nada si en complementación no se es un buen práctico.
  2. Incluir Interrelación e integración de la materia con el resto de las áreas, de modo que el alumno obtenga una visión integral de la materia, percibiendo la Programación Funcional como parte de una totalidad más amplia.
  3. Incluir últimas investigaciones en Programación Funcional. Esto a fin de incentivar la investigación en el alumno así como mantenerlo actualizado.
  4. Incluir elementos de análisis que despierten en el alumno una necesidad de constante actualización y un sentido crítico respecto a los diferentes paradigmas de programación.

PROPÓSITOS GENERALES.
  • Lograr que el alumno desarrolle el pensamiento abstracto para resolver problemas, haciendo uso de la revolucionaria filosofía de la programación funcional.
  • Lograr que el alumno aplique adecuadamente los beneficios de la Programación Funcional en las diferentes ramas de la Informática para generar productos de excelencia y calidad.
  • Lograr que el alumno desarrolle criterios de análisis para tomar los mejores elementos de la Programación Funcional combinados con los de otros paradigmas de programación para su aplicación adecuada.

OBJETIVOS GENERALES.

Al concluir la materia, el alumno será capaz de:

  • Explicar los aspectos que caracterizan al paradigma de la Programación Funcional.
  • Aplicar la programación funcional en las diferentes áreas de la Informática
  • Valorar el papel que juega la Programación Funcional en el contexto de los Paradigmas de Programación.