La programación funcional : construcción de talleres en Haskell como alternativa para la enseñanza de la programación de computadores
Cargando...
Autores
Director
Tipo de contenido
Editor
Document language:
Español
Fecha
Título de la revista
ISSN de la revista
Título del volumen
Documentos PDF
Resumen
Tradicionalmente los primeros cursos de programación hacen uso de lenguajes imperativos (Python, Java, C/C++) en la iniciación de los estudiantes; sin embargo, en estos cursos hay elevadas cifras de reprobación y deserción. Entre las potenciales causas se encuentran la sintaxis y la ejecución, seguidas de mensajes de error que pueden desmotivar a quienes se inician en la programación. Este trabajo propone una vía complementaria: introducir la Programación Funcional mediante el uso de Haskell, articulada en una secuencia de talleres graduales, dialógicos y centrados en la resolución de problemas. Los talleres hacen parte de una guía donde el estudiante, de forma amena y progresiva, logra explorar conceptos clave (funciones puras, tipos y clases, listas y comprensiones, evaluación perezosa), combinando explicaciones precisas y prácticas, con retos cortos y formularios de refuerzo. La propuesta permite ampliar y fortalecer el pensamiento algorítmico, reducir barreras de entrada y elevar la autoeficacia en quienes se inician en este campo. El enfoque implementa talleres de programación en un lenguaje funcional y se evalúa mediante un diseño mixto (instrumentos cuantitativos y evidencias cualitativas), que enriquecen los procesos de aprendizaje; ofrecen a docentes y estudiantes un paradigma alternativo, claro y riguroso, para comprender y construir soluciones computacionales. (Texto tomado de la fuente)
Abstract
Introductory programming courses have traditionally relied on imperative languages such as Python, Java, and C/C++ as the primary means of introducing students to programming. Nevertheless, these courses continue to report high rates of failure and student dropout. Among the factors commonly associated with these difficulties are the complexity of syntax, program execution, and the interpretation of compiler or runtime error messages, all of which may discourage beginners during their first encounters with programming. This study proposes a complementary pedagogical alternative based on Functional Programming through the use of Haskell, articulated in a sequence of gradual, dialogic, and problem-oriented workshops. The workshops are organized within a pedagogical guide that enables students to progressively explore fundamental concepts such as pure functions, types and classes, lists and list comprehensions, and lazy evaluation. These activities combine conceptual explanations with short practical exercises and formative reinforcement activities. The proposal aims to strengthen algorithmic thinking, reduce the entry barriers commonly found in introductory programming courses, and enhance students’ self-efficacy throughout the learning process. The strategy was implemented using a mixed-methods approach that combines quantitative instruments with qualitative evidence in order to analyze both the learning experience and the conceptual development of the participants. The workshops were conducted in the course Fundamentals of Programming within the Electronic Engineering program at Universidad de Cundinamarca, Fusagasugá campus, during the 2023-2 academic term. The findings suggest that the integration of Functional Programming and Haskell, supported by formative assessment and progressively structured workshop-based activities, provides students and instructors with an alternative approach that is rigorous, conceptually clear, and conducive to the construction of computational problem-solving skills.
Descripción
ilustraciones a color, diagramas
Palabras clave propuestas
Programación Funcional; Programación de Computadores; Paradigmas de Programación; Lenguaje Haskell; Enseñanza del Lenguaje Haskell; Talleres para aprender Haskell; Lenguajes y Paradigmas de Programación LPP; Functional Programming; Computer Programming; Programming Paradigms; Haskell; Programming Education; Haskell Workshops; Introductory Programming Courses
Términos Normalizados
Programación (Computadores electrónicos); Computer programming; Procesamiento electrónico de datos; Electronic data processing; Lenguajes de programación (Computadores electrónicos); Programming languages (electronic computers); Programación (Computadores electrónico - digitales) - Enseñanza programada; Electronic digital computers - Programming - Programmed; Programación funcional (Computadores); Functional programming (Computer science); 000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación; 000 - Ciencias de la computación, información y obras generales::004 - Procesamiento de datos Ciencia de los computadores