paint-brush
Dos desarrolladores, un teclado: un experimento audaz en la enseñanza de las ciencias de la computaciónpor@pairprogramming
Nueva Historia

Dos desarrolladores, un teclado: un experimento audaz en la enseñanza de las ciencias de la computación

Demasiado Largo; Para Leer

Este estudio combina la programación en pares con el enfoque Problem-Solving Studio (PSS) para mejorar la educación CS1, ofreciendo retroalimentación en tiempo real, resolución colaborativa de problemas y una mayor participación de los estudiantes.
featured image - Dos desarrolladores, un teclado: un experimento audaz en la enseñanza de las ciencias de la computación
Pair Programming Technology HackerNoon profile picture
0-item

Autor:

(1) J. Walker Orr, Ingeniería eléctrica y ciencias de la computación, Universidad George Fox, Newberg, OR, 97132, EE. UU. (jorr@georgefox.edu).

Tabla de enlaces

Resumen y 1. Introducción

2 Revisión de la literatura

3 Enfoque

3.1 Estructura del problema y andamiaje dinámico

3.2 Evaluación informal y retroalimentación

3.3 Programación en pares díada

3.4 Estructura del curso

4 Discusión

5 Conclusión

6 Agradecimientos y referencias

Abstracto

Este estudio examina la adaptación del taller de resolución de problemas a la enseñanza de la informática combinándolo con la programación en parejas. La programación en parejas es una práctica de ingeniería de software en la industria, pero ha tenido resultados mixtos en el aula. Investigaciones recientes sugieren que la programación en parejas tiene potencial y potencial para ser una herramienta pedagógica eficaz, sin embargo, no está claro qué constituye un buen diseño e implementación instructivos para la programación en parejas en el aula. Desarrollamos un marco para el diseño instructivo de la programación en parejas adaptando el taller de resolución de problemas (PSS), una pedagogía originaria de la ingeniería biomédica. El PSS implica equipos de estudiantes que resuelven problemas abiertos con retroalimentación en tiempo real proporcionada por el instructor. Cabe destacar que el PSS utiliza problemas de dificultad ajustable para mantener a los estudiantes de todos los niveles comprometidos y funcionando dentro de la zona de desarrollo próximo. La estructura del curso tiene tres etapas, comenzando primero con una demostración, seguida de una sesión de PSS y luego terminando con una sesión informativa. Estudiamos la combinación de PSS y programación en parejas en una clase de CS1 durante tres años. Las encuestas a los estudiantes informan un alto nivel de compromiso, aprendizaje y motivación.

1 Introducción

La programación en pares es una metodología de programación extrema (XP) (Beck, 2000) que se ha utilizado en cierta medida en la industria (Hannay et al., 2009). Implica que dos programadores trabajen juntos en un solo problema y computadora, con un programador asumiendo el rol de “conductor” y el otro el rol de “navegador”. El “conductor” opera el teclado y escribe directamente el código mientras que el “navegador” observa y hace preguntas, criticando y refinando el código y su diseño. El “navegador” no es pasivo, busca errores y defectos, piensa en diseños alternativos y busca documentación y recursos relacionados. Aunque la efectividad de la programación en pares es mixta (Hawlitschek et al., 2022; Hannay et al., 2009), en algunos casos se ha demostrado que produce código de mayor calidad más rápido que la programación en solitario (Williams et al., 2000). La intención es que la programación en pares ayude a los desarrolladores que trabajan juntos a detectar errores y defectos mucho más rápido que solos.


Para la educación, la programación en parejas es atractiva porque encaja en el paradigma del aprendizaje distribuido y de aprendizaje a distancia, la idea de que “el conocimiento se construye socialmente, a través de esfuerzos colaborativos hacia objetivos compartidos o mediante diálogos y desafíos generados por las diferencias en las perspectivas de las personas” (Salomon, 1997). Además, se ha demostrado que aumenta la satisfacción de los estudiantes, reduce su frustración, mejora su tendencia a la perseverancia y les da un sentido de autoeficacia (Williams y Upchurch, 2001). El marco ICAP describe cuatro modos de participación y comportamiento de los estudiantes, identificando el modo interactivo como el que produce el nivel más alto de participación cognitiva de los estudiantes. Se cree que los modos interactivos de aprendizaje producen conocimiento profundo y transferible (Chi y Wylie, 2014). La programación en parejas encaja en la definición de aprendizaje interactivo de ICAP y, por lo tanto, tiene el potencial de producir un aprendizaje conceptual sólido y transferible. Recientemente, Hawlitschek et al. (2022) realizó una revisión de la literatura arXiv:2311.01693v1 [cs.CY] 3 de noviembre de 2023 y un metaestudio de programación en pares en educación concluyó que la programación en pares es importante y eficaz para los estudiantes, especialmente los principiantes, pero faltaba un diseño instructivo eficaz. Por lo tanto, se ha demostrado que la programación en pares tiene mucho potencial como metodología de enseñanza, pero aún quedan por descubrir los detalles de cómo implementarla correctamente en un aula.


Proponemos que la solución para un diseño instruccional efectivo para la programación en pares en el aula se ha encontrado en el entorno de aprendizaje Problem Solving Studio (PSS) (Le Doux y Waller, 2016). PSS fue diseñado para enseñar a los estudiantes de ingeniería biomédica a resolver problemas complejos sin tener que recurrir a la memorización mecánica de procedimientos y algoritmos. Los estudiantes trabajan en equipos de dos para resolver problemas mal definidos en un espacio público, lo que permite a los instructores proporcionar retroalimentación en tiempo real a medida que progresan. Una característica clave de PSS es el andamiaje dinámico, un ajuste específico de la dificultad del problema para mantener a los estudiantes desafiados pero no desanimados. Al aumentar o disminuir la dificultad por equipo en tiempo real, se puede mantener a la mayor cantidad posible de estudiantes en la zona de desarrollo próximo. Un curso basado en conferencias tendrá dificultades para adaptarse a la variedad de niveles en los que se encuentran los estudiantes, ya que se comunica el mismo contenido y la misma presentación de la conferencia a todos los estudiantes. Existe buena evidencia de que PSS mejora la comprensión conceptual de los estudiantes (Le Doux y Waller, 2016).


El PSS y la programación en parejas son una combinación natural y la combinación de ambos coincide con los objetivos y las necesidades pedagógicas de los cursos de CS1. Por este motivo, este estudio aborda específicamente la adaptación del PSS junto con la programación en parejas para la pedagogía de CS1. Dos objetivos clave de un curso de CS1 son enseñar habilidades de resolución de problemas algorítmicos y un lenguaje de programación específico. Uno de los desafíos para los instructores expertos es que tanto la resolución de problemas como el conocimiento del lenguaje están tan profundamente arraigados que son algo natural para los instructores. Paradójicamente, este alto nivel de comprensión significa que los instructores a menudo tienen dificultades para comunicar este conocimiento, ya que se da por sentado (Le Doux y Waller, 2016). Además, la capacidad y la formación de los estudiantes varían significativamente en los cursos de CS1. Sin embargo, la síntesis de PSS y la programación en parejas aborda estos desafíos y objetivos directamente, al brindarles a los estudiantes una oportunidad práctica para desarrollar la resolución de problemas y las habilidades del lenguaje de programación. El PSS con la adición de la programación en parejas enseña la resolución de problemas algorítmicos a través de un entorno de aprendizaje cognitivo (Collins et al., 1987). Los estudiantes aprenden unos de otros y también reciben la guía del instructor u otros asistentes de enseñanza. El aprendizaje entre pares es útil ya que los estudiantes que tienen niveles similares de habilidad tienen experiencia reciente con problemas similares. Esto significa que a menudo son mejores para comunicar esas soluciones, ya que recuerdan los detalles y las particularidades tanto de lo que encontraron desafiante como de cómo superaron esos obstáculos. La capacidad de la programación en pares para brindar retroalimentación rápida ayuda a los estudiantes a aprender la sintaxis y la semántica de un lenguaje de programación. Además, promueve la colaboración en pares y la resolución de problemas. Se ha demostrado que la programación en pares ayuda a los programadores a resolver problemas que no pueden resolver por sí solos (Hawlitschek et al., 2022). La combinación de PSS y programación en pares crea un entorno de aprendizaje entre pares y de aprendizaje en el que los estudiantes desarrollan habilidades de resolución de problemas y de lenguaje de programación.


Este documento es Disponible en arxiv bajo licencia CC BY 4.0 DEED.