Autor:
(1) J. Walker Orr, Enginyeria Elèctrica i Informàtica, Universitat George Fox, Newberg, OR, 97132, EUA ([email protected]).
Taula d'enllaços
3.1 Estructura del problema i bastida dinàmica
3.2 Avaluació informal i comentaris
3.3 Diada de programació per parelles
Resum
Aquest estudi examina l'adaptació de l'estudi de resolució de problemes a l'ensenyament de la informàtica combinant-lo amb la programació per parelles. La programació per parelles és una pràctica d'enginyeria de programari a la indústria, però ha tingut resultats contradictoris a l'aula. Investigacions recents suggereixen que la programació per parelles té un potencial prometedor per ser una eina pedagògica eficaç, però no està clar què constitueix un bon disseny i implementació d'instruccions per a la programació per parelles a l'aula. Hem desenvolupat un marc per al disseny instruccional per a la programació per parelles adaptant l'estudi de resolució de problemes (PSS), una pedagogia originària de l'enginyeria biomèdica. PSS implica equips d'estudiants que resolen problemes oberts amb comentaris en temps real proporcionats per l'instructor. En particular, PSS utilitza problemes de dificultat ajustable per mantenir els estudiants de tots els nivells compromesos i funcionant dins de la zona de desenvolupament proximal. L'estructura del curs té tres etapes, primer començant amb una demostració, seguida d'una sessió de PSS, i després acabant amb un resum. Vam estudiar la combinació de PSS i programació per parelles en una classe de CS1 durant tres anys. Les enquestes als estudiants indiquen un alt nivell de compromís, aprenentatge i motivació.
1 Introducció
La programació per parelles és una metodologia de programació eXtreme (XP) (Beck, 2000) que s'ha utilitzat en la indústria (Hannay et al., 2009). Implica que dos programadors treballin junts en un sol problema i un ordinador, un programador fent el paper de "conductor" i l'altre en el paper de "navegador". El "conductor" opera el teclat i escriu directament el codi mentre el "navegador" observa i fa preguntes, critica i perfecciona el codi i el seu disseny. El "navegador" no és passiu, busquen errors i defectes, pensen en dissenys alternatius i busquen documentació i recursos relacionats. Tot i que l'efectivitat de la programació per parelles és mixta (Hawlitschek et al., 2022; Hannay et al., 2009), en alguns casos s'ha demostrat que produeix codi de major qualitat més ràpid que la programació en solitari (Williams et al., 2000). La intenció és que la programació per parelles ajudi els desenvolupadors que treballen junts a detectar errors i defectes molt més ràpidament que ells mateixos.
Per a l'educació, la programació per parelles és convincent perquè s'adapta al paradigma de l'aprenentatge i l'aprenentatge distribuït, la idea que “el coneixement es construeix comunament socialment, mitjançant esforços col·laboratius cap a objectius compartits o mitjançant diàlegs i reptes provocats per diferències en les perspectives de les persones”. Salomon, 1997). A més, s'ha demostrat que augmenta la satisfacció dels estudiants, redueix la frustració dels estudiants, millora la tendència de l'estudiant a persistir i dóna als estudiants una sensació d'autoeficàcia (Williams i Upchurch, 2001). El marc ICAP descriu quatre modes de participació i comportament dels estudiants, identificant el mode interactiu com el que produeix el nivell més alt de compromís cognitiu dels estudiants. Es creu que els modes d'aprenentatge interactius produeixen un coneixement profund i transferible (Chi i Wylie, 2014). La programació per parelles s'ajusta a la definició d'aprenentatge interactiu de l'ICAP i, per tant, té el potencial de produir un aprenentatge conceptual robust, transferible. Recentment, Hawlitschek et al. (2022) van realitzar una revisió bibliogràfica arXiv:2311.01693v1 [cs.CY] 3 de novembre de 2023 i un metaestudi de la programació per parelles a l'educació va concloure que la programació per parelles és important i eficaç per als estudiants, especialment per als principiants, però faltava un disseny instructiu efectiu. Per tant, s'ha demostrat que la programació per parelles té un gran potencial com a metodologia d'ensenyament, però encara no s'han descobert els detalls de com implementar-la correctament a l'aula.
Proposem que la solució al disseny instructiu eficaç per a la programació per parelles a l'aula s'ha trobat a l'entorn d'aprenentatge de Problem Solving Studio (PSS) (Le Doux i Waller, 2016). PSS va ser dissenyat per ensenyar als estudiants d'enginyeria biomèdica a resoldre problemes complexos sense haver de recórrer a la memorització de procediments i algorismes. Els estudiants treballen en equips de dos per resoldre problemes mal definits en un espai públic, cosa que permet als instructors proporcionar comentaris en temps real a mesura que avancen. Una característica clau de PSS és la bastida dinàmica, un ajust específic de la dificultat del problema per mantenir els estudiants desafiats però no desanimats. En augmentar o disminuir la dificultat per equip en temps real, es pot mantenir el major nombre possible d'alumnes a la zona de desenvolupament proximal. Un curs basat en classes magistrals tindrà dificultats per fer coincidir la varietat de nivells en què es troben els estudiants, ja que el mateix contingut i impartició de la classe es comunica a tots els estudiants. Hi ha una bona evidència que PSS millora la comprensió conceptual dels estudiants (Le Doux i Waller, 2016).
PSS i la programació per parelles són un encaix natural i la combinació d'ambdues coincideix amb els objectius i les necessitats pedagògiques dels cursos CS1. Per aquest motiu, aquest estudi aborda específicament l'adaptació de PSS conjuntament amb la programació per parelles per a la pedagogia CS1. Dos objectius clau d'un curs CS1 són ensenyar habilitats de resolució de problemes algorísmics i un llenguatge de programació específic. Un dels reptes per als instructors experts és que tant la resolució de problemes com el coneixement d'idiomes estan tan profundament arrelats que és una segona naturalesa per als instructors. Paradoxalment, aquest alt nivell de comprensió fa que els instructors sovint tinguin dificultats per comunicar aquests coneixements, ja que es dóna per fet (Le Doux i Waller, 2016). A més, les habilitats i els antecedents dels estudiants varien significativament als cursos CS1. Tanmateix, la síntesi de PSS i la programació per parelles aborda aquests reptes i objectius directament, oferint als estudiants una oportunitat pràctica per desenvolupar habilitats per a la resolució de problemes i el llenguatge de programació. PSS, amb l'addició de programació per parelles, ensenya la resolució de problemes algorísmics mitjançant un entorn d'aprenentatge cognitiu (Collins et al., 1987). Els estudiants aprenen els uns dels altres i també són guiats pel professor o altres ajudants. L'aprenentatge entre iguals és útil, ja que els estudiants que tenen nivells d'habilitats similars tenen experiència recent amb problemes similars. Això vol dir que sovint són millors a l'hora de comunicar aquestes solucions, ja que recorden els detalls i particularitats tant d'allò que van trobar desafiant com de com van superar aquests obstacles. La capacitat de la programació per parelles de donar un feedback ràpid ajuda els estudiants a aprendre la sintaxi i la semàntica d'un llenguatge de programació. A més, promou la col·laboració de parelles i la resolució de problemes. S'ha demostrat que la programació per parelles ajuda a detectar que els programadors resolen problemes que no poden gestionar per si mateixos (Hawlitschek et al., 2022). La combinació de PSS i programació per parelles crea tant un entorn d'aprenentatge com d'aprenentatge entre iguals en el qual els estudiants desenvolupen tant habilitats de resolució de problemes com de llenguatge de programació.
Aquest paper és