Introducción
La programación por pares es una práctica adoptada por la programación extrema (Beck & Andres, 2004), una popular metodología ágil para desarrollar software. Esta práctica consiste en desarrollar un proyecto de software entre dos personas que utilizan una sola computadora e intercambian el teclado periódicamente. Durante el proceso de creación del software, los dos participantes se comunican y toman decisiones para lograr rápidamente un producto de buena calidad. No existen roles de jefe o de subordinado sino de navegador y conductor. El conductor introduce el código a través del teclado mientras el navegador hace una revisión de este en tiempo real (Dalton, 2019). De acuerdo con Beck & Andres (2004), ambos programadores también realizan labores conjuntamente, clarifican ideas y avanzan cuando su pareja no puede hacerlo. Podría pensarse que la programación por pares resulta cansada o aburrida. Sin embargo, se ha demostrado que produce buenos resultados, pues ayuda a las tareas de desarrollo, mejora la calidad del producto final, economiza recursos y hace que el proceso completo resulte más eficiente y divertido (Kendall & Kendall, 2010).
En el contexto educativo, la programación por pares puede implementarse durante las sesiones de clase como una estrategia para promover la comunicación y el aprendizaje entre los estudiantes. En los últimos años, la programación en parejas se ha popularizado en los cursos introductorios y ha demostrado amplios beneficios (Villamor & Rodrigo, 2018). Por ejemplo, en la investigación de Smith, Giugliano & Deorio (2018) se encontró que los alumnos que usaron la programación por pares en cursos básicos obtuvieron mejores calificaciones en asignaturas más avanzadas.
La efectividad de la programación por pares como recurso pedagógico también quedó evidenciada en el trabajo de Umapathy & Ritzhaupt (2017), quienes realizaron un metaanálisis con investigaciones publicadas entre 2000 y 2014. Sus hallazgos mostraron que la programación por pares tiene una incidencia positiva en las calificaciones, en los exámenes y en la perseverancia de los estudiantes en los cursos de programación.
En este sentido, resulta relevante conocer la aceptación y los beneficios que los estudiantes perciben en la programación por pares, pues son precisamente los alumnos quienes están involucrados en la implementación y puesta en marcha de esta forma de trabajo en los proyectos que se realizan en clase. Las percepciones son las disposiciones de las personas para responder ante aspectos del mundo que les rodea (Zikmund, Babin, Carr & Griffin, 2013) y representan una forma de considerar, comprender o interpretar algún fenómeno, pues son uno de los muchos factores que impactan las habilidades de razonamiento (Sun, Marakas & Aguirre-Urreta, 2016). También, de acuerdo con Sun et al. (2016), las percepciones acerca de las metodologías para programar son importantes en el proceso de decidir cuál de ellas usar. Esto es porque las percepciones tienen una influencia en los juicios, las emociones y las decisiones de las personas. De ahí que su estudio ayude a caracterizarlas y a diseñar estrategias para anticipar inconveniencias en su implementación, así como para propiciar escenarios que disminuyan actitudes negativas, temores o resistencias al cambio.
En la literatura es común encontrar que las percepciones y posturas de los estudiantes acerca de la programación por pares se estudien a través de cuestionarios. En algunos casos, se han utilizado instrumentos que han sido diseñados o validados previamente por alguien más. Tal es el caso de Umar & Hui (2012), quienes indagaron la influencia de los estilos de aprendizaje y la programación por pares sobre el desempeño en el trabajo; de Yang, Lee & Chang (2016), quienes relacionaron la motivación para aprender y la retención con la programación por pares en cursos de estructuras de datos; y de Aarne, Peltola, Leinonen & Hellas (2018), que estudiaron el nivel de disfrute y la asistencia en la programación por pares. En otros trabajos se han validado los cuestionarios a través de la técnica de análisis de factores como parte del proceso de investigación. Por ejemplo, Choi (2015) investigó las diferentes combinaciones de género en las parejas de programadores; Ghobadi, Campbell & Clegg (2017) profundizaron sobre las parejas y la transferencia de conocimiento; y Chen & Rea (2018) indagaron la trascendencia de los enfoques de trabajo basados en la programación por pares. Otros artículos reportan el uso de cuestionarios e incluyen solo algunas medidas de consistencia como el alfa de Cronbach, por ejemplo, Zhong, Wang & Chen (2016), quienes estudiaron el impacto de los factores sociales en los resultados obtenidos por la programación por pares en una escuela primaria, y Zhong, Wang, Chen & Li (2017), quienes centraron su interés en la duración de los periodos de cambio de roles en la programación por pares. También existen artículos que mencionan el uso de cuestionarios en su metodología; sin embargo, no incluyen evidencia de su confiabilidad y validez. Por ejemplo, Saltz & Shamshurin (2017) utilizaron la programación por pares en el contexto de ciencia de datos, y Aottiwerch & Kokaew (2018) analizaron el proceso de emparejamiento de alumnos en la programación por pares.
En el presente artículo se muestra el proceso de diseño y validación de un cuestionario para medir la aceptación de la programación por pares y los beneficios percibidos por los estudiantes que la utilizan. Se buscó tener un cuestionario que no resultara demasiado extenso, ya que, en experiencias previas del autor con alumnos universitarios, los estudiantes han dejado preguntas sin responder o, bien, las han contestado descuidadamente cuando el número de planteamientos tiende a ser alto. En el siguiente apartado se describe el método seguido. Posteriormente, se presentan los resultados y finalmente se exponen la discusión y las conclusiones.
Materiales y métodos
Participantes
Se contó con la participación de 110 alumnos de la licenciatura en tecnologías de la información de una universidad pública estatal del noreste de México. Sin embargo, se descartaron los datos de 13 estudiantes debido a que omitieron gran cantidad de sus respuestas. Solamente se mantuvieron los datos de 97 alumnos, quienes realizaron un ejercicio de programación en parejas durante una sesión de clase.
Procedimiento
La investigación se realizó durante una sesión de clase de dos horas. Al inicio de la sesión se les explicó la manera de trabajar y se procedió a formar las parejas aleatoriamente. No se permitió que los alumnos eligieran o cambiaran de compañero de trabajo. Se ubicó a cada pareja en una sola computadora y posteriormente se dieron a conocer los requerimientos del software que iban a desarrollar. El autor cronometró el tiempo y cada cinco minutos indicó cambio de roles. Esto implicaba que quien tenía el teclado y el ratón en ese momento tenía que entregarlos al compañero de equipo para que los utilizara. Finalmente, contestaron el cuestionario en donde se les solicitaba evaluar su experiencia con esta forma de trabajo.
Instrumento de recolección de datos en su versión inicial
La versión del cuestionario que los estudiantes contestaron consistió en 17 preguntas presentadas como planteamientos (Tabla 1). En cada caso se utilizó una escala de Likert de respuestas de 1 a 5, en donde 1 era totalmente en desacuerdo y 5 representaba totalmente de acuerdo. Esta primera versión surgió de una lluvia de ideas y de la evaluación posterior de tres expertos en la enseñanza de la programación.
Identificador | Planteamiento |
P1 | La programación por pares es adecuada para los negocios. |
P2 | Fue fácil trabajar con la programación por pares. |
P3 | Resulta mejor otra forma de trabajo que esta. |
P4 | Me es más cómodo trabajar solo. |
P5 | Es importante aprender a desarrollar software en equipo. |
P6 | La programación por pares redujo el tiempo de desarrollo del software. |
P7 | Con la programación por pares se detectaron errores rápidamente. |
P8 | La calidad del software final fue mejor con la programación por pares que al programar solo. |
P9 | El nivel de confianza de los participantes fue mayor al programar por pares que al programar individualmente. |
P10 | Programar solo es más fácil que programar por pares. |
P11 | Me motiva más programar por pares que individualmente. |
P12 | El nivel de satisfacción de los programadores es mayor al programar por pares que al programar solo. |
P13 | Me gustaría volver a programar por pares. |
P14 | Me gusta programar. |
P15 | Me gustó esta experiencia de programar por pares. |
P16 | Estoy satisfecho con esta forma de trabajar. |
P17 | Tuve estrés al programar por pares. |
Fuente: Elaboración propia.
Análisis de datos
El análisis de datos se realizó en SPSS versión 25 y en AMOS versión 24. En SPSS se realizó una revisión previa de los datos, así como el análisis factorial exploratorio con los datos de 42 de los 97 participantes. En AMOS se condujo el análisis factorial confirmatorio con las respuestas de los 55 participantes restantes. Los detalles se muestran en la Figura 1.
En SPSS se revisaron las correlaciones bivariadas de todas las preguntas y se observó que las preguntas P3, P4, P10 y P17 no se correlacionaban adecuadamente con el resto, a pesar de haber pasado por un proceso de transformación de valores; ya que la redacción se realizó de manera negativa. Por otra parte, la pregunta P14 se incluyó como un dato referencial descriptivo del alumno y no con la intención de formar parte de la versión final del cuestionario. De esta manera, las preguntas P3, P4, P10, P14 y P17 se excluyeron del análisis factorial que se realizó posteriormente.
El análisis factorial exploratorio se inició con las preguntas del cuestionario P1, P2, P5, P6, P7, P8, P9, P11, P12, P13, P15 y P16 y se fue refinando hasta concluir con ocho preguntas distribuidas en dos factores o dimensiones. Este procedimiento se realizó en SPSS con el método de extracción de factorización de ejes principales. La rotación de ejes se realizó con el método Promax con Kappa = 4. Se cuidó que cada pregunta tuviera comunalidades superiores a 0.30 y se verificó que su carga en cada dimensión fuera superior a 0.40.
En la primera ejecución del análisis factorial exploratorio se eliminó la pregunta P12, pues los valores de sus cargas eran muy cercanos en dos dimensiones. En la segunda ejecución se eliminó P5 y en la tercera P1, por la misma razón. En una cuarta ejecución se eliminó P2 por tener una baja carga en el factor en donde se encontraba. En ese momento quedaron solo dos dimensiones. Se calculó el valor del Alfa de Cronbach para cada una y se verificó que estos valores fueran superiores a 0.70 y menores de 0.90. La primera dimensión contenía las preguntas P11, P13, P15 y P16, y se denominó Aceptación de la programación por pares. La segunda estaba conformada por P6, P7, P8 y P9, y se le asignó el nombre de Beneficios percibidos de la programación por pares.
Posteriormente en AMOS se introdujo la matriz-patrón obtenida en SPSS, para lo cual se utilizó la herramienta Pattern Matrix Model Builder para dibujar automáticamente el gráfico de senderos. Por otra parte, se usó la herramienta Model Fit para obtener las siguientes medidas de ajuste: CMIN/DF, CFI, SRMR, RMSEA y PClose. También se usó la herramienta Master Validity HTMT para determinar los valores de fiabilidad compuesta (CR), varianza media extraída (AVE), varianza media compartida (MSV), índice H de máxima confiabilidad (MaxR(H)) y valor Heterotrait-Monotrait (HTMT). Todas estas librerías están disponibles desde el portal del Dr. Gaskin (Gaskin & Lim, 2019). Se verificó que estos indicadores fueran aceptables de acuerdo con las referencias provistas por los autores de esta librería. En este proceso, se realizaron dos eliminaciones de preguntas al modelo con el que inició el análisis factorial confirmatorio. Las preguntas P11 y P7 salieron del modelo con el objetivo de mejorar los indicadores de ajuste y validez. Se descartaron estas preguntas por sugerencia de las librerías utilizadas y por la inspección de los índices de modificación. De esta manera, la primera dimensión (aceptación de la programación por pares) quedó conformada por las preguntas P13, P15, P16 y la segunda (beneficios percibidos de la programación por pares) se integró con las preguntas P6, P8 y P9.
Se revisó que los valores de ajuste estuvieran en los rangos indicados en la Tabla 2. De la misma manera, para la CR se consideraron valores de 0.70, o superiores, como indicadores apropiados; para la AVE, valores mayores o iguales a 0.50; para el índice MaxR(H), valores de 0.80 o mayores; y para HTMT, valores de 0.85 o menores.
Medida | Terrible | Aceptable | Excelente |
CMIN/DF | > 5 | > 3 | > 1 |
CFI | < 0.90 | < 0.95 | > 0.95 |
SRMR | > 0.10 | > 0.08 | < 0.08 |
RMSEA | > 0.08 | > 0.06 | < 0.06 |
PClose | < 0.01 | < 0.05 | > 0.05 |
Fuente: Gaskin (2019).
Posteriormente, se obtuvo el valor de Alfa de Cronbach para cada dimensión y se verificó que este se mantuviera en el rango de 0.70 a 0.90. Después se ratificaron los nombres representativos que se habían propuesto para ambas dimensiones previamente en el análisis factorial exploratorio.
Criterios adoptados en este trabajo para evaluar consistencia interna, validez convergente y validez discriminante
La consistencia interna mide la confiabilidad basada en la interrelación de las variables observables. Es decir, indica hasta qué grado las variables observables miden las variables latentes (Gallardo-Vázquez, Sánchez-Hernández & Corchuelo-Martínez-Azúa, 2013). Los indicadores de confiabilidad que se evaluaron para este trabajo son el Alfa de Cronbach, la CR y el índice MaxR(H).
La validez convergente es la evaluación del nivel de correlación de los diversos indicadores de un mismo constructo (Ab, Sami & Mohmad, 2017). Se puede establecer a través de CR y AVE. Al respecto, Malhotra & Dash (2011) argumentan que el valor de AVE es frecuentemente demasiado estricto y que el valor de CR es suficiente para establecer la validez convergente.
La validez discriminante se refiere a la medida en la que un constructo difiere de otro empíricamente y puede establecerse de tres maneras (Ab et al., 2017): con las cargas cruzadas de los indicadores, con el criterio de Fornell y Larcker y con el valor HTMT. Si se evalúan las cargas cruzadas, estas deben tener una carga mayor en el constructo al que pertenecen que en otros constructos y su valor debe ser mayor de 0.70. El criterio de Fornell y Larcker indica que la raíz cuadrada de AVE debe ser mayor que el resto de las correlaciones entre los constructos (Fornell & Larcker, 1981) y la máxima varianza compartida (MSV) debe ser menor que AVE (Gaskin & Lim, 2019). Otro criterio para establecer la validez discriminante es el valor HTMT, el cual debería ser menor de 0.85 (Gaskin & Lim, 2019). En este trabajo se adoptaron los criterios de Fornell y Larcker así como del valor HTMT.
Resultados
Análisis factorial exploratorio
En el análisis factorial exploratorio se obtuvo una medida de KMO = 0.82. La prueba de esfericidad de Bartlett mostró los siguientes valores: Chi cuadrado = 249.34, gl = 28, sig. = 0.
Se encontraron dos dimensiones, que en total explicaron el 63.69% de la varianza. Las dos dimensiones con sus respectivas preguntas se muestran en la Tabla 3. En ese momento, el instrumento tuvo un Alfa de Cronbach total de 0.83.
Dimensión | Id | Elemento del cuestionario |
Aceptación de la programación por pares (Alfa de Cronbach = 0.86) | P11 | Me motivó más programar por pares que individualmente. |
P13 | Me gustaría volver a programar por pares. | |
P15 | Me gustó esta experiencia de programar en pares. | |
P16 | Estoy satisfecho con esta forma de trabajar. | |
Beneficios percibidos de la metodología (Alfa de Cronbach = 0.8) | P6 | La programación por pares redujo el tiempo de desarrollo de software. |
P7 | Al programar por pares se detectaron errores rápidamente. | |
P8 | La calidad del software final fue mejor con la programación por pares que al programar solo. | |
P9 | El nivel de confianza de los programadores fue mayor al programar por pares que al programar individualmente. |
Fuente: Elaboración propia.
El análisis factorial con el método de extracción de factorización de ejes principales y método de rotación Promax con normalización Kaiser convergió en tres iteraciones. Los resultados de la matriz patrón se muestran en la Tabla 4, en donde se ocultan los valores menores de 0.30.
Análisis factorial confirmatorio
A través del programa AMOS, el modelo de medida se refinó hasta quedar con P13, P15 y P16 en el factor 1 y P6, P8 y P9 en el factor 2. Esto se realizó con el método de máxima verosimilitud. Se obtuvieron las medidas presentadas en la Tabla 5 y en la Tabla 6. Además, se pudo establecer la normalidad multivariante al observar una kurtosis multivariante de 2.9 con una región crítica de 0.97.
Medida | Valor observado en el modelo | Valor de referencia según Gaskin (2019) | Interpretación |
CMIN | 9.25 | -- | -- |
DF | 8.00 | -- | -- |
CMIN/DF | 1.15 | Entre 1 y 3 | Excelente |
CFI | 0.98 | > 0.95 | Excelente |
SRMR | 0.08 | < 0.08 | Aceptable |
RMSEA | 0.06 | < 0.06 | Aceptable |
PClose | 0.39 | > 0.05 | Excelente |
Fuente: Elaboración propia.
Dimensión | Alfa de Cronbach | CR | AVE | MSV | MaxR (H) |
Dimensión 1. Aceptación de la programación por pares |
Dimensión 2. Beneficios percibidos |
1. Aceptación de la programación por pares | 0.767 | 0.823 | 0.614 | 0.342 | 0.905 | 0.784 | |
2. Beneficios percibidos de la programación por pares | 0.704 | 0.730 | 0.487 | 0.342 | 0.802 | 0.585 | 0.698 |
Fuente: Elaboración propia.
El análisis mostró, a través del alfa de Cronbach y de la CR, que el instrumento tiene consistencia interna, pues todos los valores fueron superiores a 0.70. Por otra parte, el valor MaxR(H) muestra valores cercanos a 1, con lo que se establece una buena relación entre el constructo latente y sus indicadores. El valor de AVE para aceptación de la programación por pares es aceptable, y el valor AVE para beneficios percibidos está a 0.013 puntos de serlo. En todos los casos se cumple la condición que los valores de AVE sean mayores que los valores de MSV. También se observa que los valores de la raíz cuadrada de AVE en cada dimensión son mayores que la correlación entre las dos dimensiones. Así mismo, el valor HTMT entre las dos dimensiones fue de 0.72. Al contrastar estos valores con los criterios descritos previamente en el apartado de metodología de este artículo, se concluye que el instrumento posee validez convergente y validez discriminante. El modelo obtenido en el programa AMOS se muestra en la Figura 2, y el instrumento en su versión final se presenta en la Tabla 7.
Aceptación de la programación por pares |
1. Me gustaría volver a programar por pares. ⃞ Totalmente en desacuerdo ⃞ En desacuerdo ⃞ Indiferente ⃞ De acuerdo ⃞ Totalmente de acuerdo |
2. Me gustó esta experiencia de programar en pares. ⃞ Totalmente en desacuerdo ⃞ En desacuerdo ⃞ Indiferente ⃞ De acuerdo ⃞ Totalmente de acuerdo |
3. Estoy satisfecho con esta forma de trabajar. ⃞ Totalmente en desacuerdo ⃞ En desacuerdo ⃞ Indiferente ⃞ De acuerdo ⃞ Totalmente de acuerdo |
Beneficios percibidos de la programación por pares |
4. La programación por pares redujo el tiempo de desarrollo del software. ⃞ Totalmente en desacuerdo ⃞ En desacuerdo ⃞ Indiferente ⃞ De acuerdo ⃞ Totalmente de acuerdo |
5. La calidad del software final fue mejor con la programación por pares que al programar solo. ⃞ Totalmente en desacuerdo ⃞ En desacuerdo ⃞ Indiferente ⃞ De acuerdo ⃞ Totalmente de acuerdo |
6. El nivel de confianza de los participantes fue mayor al programar por pares que al programar individualmente. ⃞ Totalmente en desacuerdo ⃞ En desacuerdo ⃞ Indiferente ⃞ De acuerdo ⃞ Totalmente de acuerdo |
Fuente: Elaboración propia.
Discusión
En la literatura se encontró que los cuestionarios son herramientas empleadas frecuentemente en la investigación de la programación por pares. Sin embargo, también es evidente que no todos los cuestionarios que se utilizan y se reportan pasan por un cuidado proceso de diseño y validación estadística. Se encontraron solamente tres artículos que presentaban evidencia de haber realizado análisis factorial exploratorio: Choi (2015), Ghobadi et al. (2017) y Chen & Rea (2018). Sin embargo, ninguno de ellos reportó haber realizado análisis factorial confirmatorio, ni tampoco haber adoptado criterios para demostrar validez convergente o divergente.
En el presente trabajo se obtuvo el diseño y la validación de un instrumento de recolección de datos para recabar percepciones sobre la aceptación de la programación por pares y los beneficios que los estudiantes perciben de ella. El instrumento incluyó el descubrimiento de factores latentes a través del análisis factorial exploratorio y su respectivo refinamiento a través del análisis factorial confirmatorio. Se consiguió obtener valores adecuados de ajuste del modelo, de consistencia interna, de validez convergente y de validez discriminante.
El cuestionario resultante tiene la ventaja de poder ser contestado en corto tiempo. Sin embargo, para la interpretación de los resultados es necesario considerar las características de la muestra, la cual pertenece a una sola institución universitaria. En este sentido, es importante considerar el nivel de dificultad en la recolección de datos. Esto se debe a que el cuestionario se contesta después de haber tenido la experiencia de programar en pares, lo que implica varias horas de trabajo previo. En el caso concreto de la universidad en donde se realizó el estudio, se tuvo además la limitante de que no había más alumnos disponibles para participar debido a la baja matrícula en este tipo de asignaturas especializadas.
Por otra parte, el cuestionario puede seguir siendo mejorado para incluir más factores latentes que representen otros aspectos de interés sobre la programación por pares. En cualquier caso, el presente artículo realiza un aporte metodológico y práctico, pues proporciona un punto de inicio que derivará en la obtención de más y mejores instrumentos para la medición de aspectos relacionados con la programación por pares.
Conclusiones
La programación por pares es una técnica ágil que permite desarrollar en poco tiempo un software funcional y apegado a los requerimientos de los usuarios. Este enfoque ha demostrado ser útil en entornos educativos y de negocios, pues promueve el trabajo colaborativo y la transferencia de conocimientos y habilidades entre los participantes. Hoy en día, investigar sobre la programación por pares no es una actividad agotada todavía. Aunque la literatura es variada, siempre existen aspectos sobre los que es necesario profundizar para entenderlos mejor. Esto es porque esta forma de trabajo está fundamentada en la interacción humana, la cual es de naturaleza compleja.
Este trabajo estuvo orientado al diseño y validación de un cuestionario para recabar percepciones sobre la aceptación de la programación por pares y los beneficios percibidos por los alumnos que la practican. Se destacó la importancia de las percepciones y el uso del cuestionario como instrumento para estudiarlas. Así mismo, se puso en relieve la relevancia de realizar esfuerzos para validar estadísticamente los instrumentos utilizados en este tipo de investigaciones.
Un cuestionario para cuantificar la aceptación y los beneficios obtenidos con la programación por pares aporta a los docentes, cuerpos colegiados y administrativos elementos para caracterizar las percepciones de los estudiantes que la utilizan. De esta manera, es posible valorar y decidir si esta es una técnica pertinente para cada grupo de alumnos en diferentes contextos y momentos del curso. Es decir, estas valoraciones podrían orientar también la adopción de criterios sobre la frecuencia de uso de esta técnica. Si bien es cierto que la programación por pares se ha reconocido como una práctica que incide favorablemente en el aprendizaje de los alumnos, no se ha recomendado que esta deba utilizarse todo el tiempo en cada curso. Este cuestionario también ayudará en la realización de investigaciones posteriores orientadas a descubrir si la programación por pares es mejor aceptada y percibida por algunos alumnos que por otros. En este caso, sería relevante el estudio de factores tales como la experiencia de programación previa, el género y el periodo que cursan los estudiantes.
Como trabajo futuro queda la aplicación de la versión final del cuestionario aquí presentada. Asimismo, se propone el estudio de otros factores latentes relacionados con la programación por pares.