283 aflæsninger

Two Devs, One Keyboard: A Bold Experiment in Computer Science Education

For langt; At læse

Denne undersøgelse blander parprogrammering med Problem-Solving Studio-tilgangen (PSS) for at forbedre CS1-undervisningen, der tilbyder realtidsfeedback, kollaborativ problemløsning og øget elevernes engagement.
featured image - Two Devs, One Keyboard: A Bold Experiment in Computer Science Education
Pair Programming AI Agent HackerNoon profile picture
0-item

Forfatter:

(1) J. Walker Orr, elektroteknik og datalogi, George Fox University, Newberg, OR, 97132, USA ([email protected]).

Tabel over links

Abstrakt og 1. Indledning

2 Litteraturanmeldelse

3 tilgang

3.1 Problemstruktur og dynamisk stillads

3.2 Uformel vurdering og feedback

3.3 Parprogrammeringsdyade

3.4 Kursusstruktur

4 Diskussion

5 Konklusion

6 Anerkendelser og referencer

Abstrakt

Denne undersøgelse undersøger problemløsningsstudiets tilpasning til datamatikeruddannelse ved at kombinere det med parprogrammering. Parprogrammering er en softwareingeniørpraksis i industrien, men har set blandede resultater i klasseværelset. Nyere forskning tyder på, at parprogrammering har løfter og potentiale til at være et effektivt pædagogisk værktøj, men hvad der udgør godt instruktionsdesign og implementering for parprogrammering i klasseværelset er ikke klart. Vi udviklede en ramme for undervisningsdesign til parprogrammering ved at tilpasse problemløsningsstudiet (PSS), en pædagogik oprindeligt fra biomedicinsk teknik. PSS involverer hold af studerende, der løser åbne problemer med feedback i realtid givet af instruktøren. PSS bruger især problemer med justerbar sværhedsgrad til at holde elever på alle niveauer engagerede og fungerende inden for zonen med proksimal udvikling. Kursusstrukturen har tre trin, først starter med demonstration, efterfulgt af en PSS session, derefter afsluttes med en debrief. Vi studerede kombinationen af PSS og parprogrammering i en CS1-klasse over tre år. Undersøgelser af eleverne rapporterer om et højt niveau af engagement, læring og motivation.

1 Indledning

Parprogrammering er en ekstrem programmeringsmetode (XP) (Beck, 2000), der har været brugt i industrien (Hannay et al., 2009). Det involverer to programmører, der arbejder sammen om et enkelt problem og en computer, hvor den ene programmør tager rollen som "driver" og den anden i rollen som "navigator". "Chaufføren" betjener tastaturet og skriver direkte koden, mens "navigatoren" observerer og stiller spørgsmål, kritiserer og forfiner koden og dens design. "Navigatoren" er ikke passiv, de holder øje med fejl og defekter, tænker på alternative designs og slår op relateret dokumentation og ressourcer. Selvom effektiviteten af parprogrammering er blandet (Hawlitschek et al., 2022; Hannay et al., 2009), har det i nogle tilfælde vist sig at producere kode af højere kvalitet hurtigere end soloprogrammering (Williams et al., 2000). Hensigten er, at parprogrammering vil hjælpe udviklere, der arbejder sammen, med at fange fejl og defekter meget hurtigere end på egen hånd.


For uddannelse er parprogrammering overbevisende, fordi det passer ind i paradigmet for lærlingeuddannelse og distribueret læring, ideen om, at "Viden er almindeligvis socialt konstrueret gennem samarbejdsbestræbelser mod fælles mål eller af dialoger og udfordringer forårsaget af forskelle i personers perspektiver" ( Salomon, 1997). Yderligere har det vist sig at øge elevernes tilfredshed, reducere elevernes frustration, forbedre elevernes tendens til at vedholde og give eleverne en følelse af selveffektivitet (Williams og Upchurch, 2001). ICAP-rammen beskriver fire måder for elevernes engagement og adfærd, der identificerer den interaktive tilstand som producerer det højeste niveau af elevers kognitive engagement. Interaktive læringsformer menes at producere dyb, overførbar viden (Chi og Wylie, 2014). Parprogrammering passer ind i ICAP's definition af interaktiv læring og har derfor potentialet til at producere robust, overførbar, konceptuel læring. For nylig har Hawlitschek et al. (2022) gennemførte en litteraturgennemgang arXiv:2311.01693v1 [cs.CY] 3. nov. 2023 og et metastudie af parprogrammering i uddannelse konkluderede, at parprogrammering er vigtigt og effektivt for elever, især begyndere, men der manglede et effektivt undervisningsdesign. Derfor har parprogrammering vist sig at have et stort potentiale som undervisningsmetodologi, men detaljerne om, hvordan man implementerer det korrekt i et klasseværelse, er endnu ikke blevet opdaget.


Vi foreslår, at løsningen på effektivt undervisningsdesign til parprogrammering i klasseværelset er fundet i læringsmiljøet Problem Solving Studio (PSS) (Le Doux og Waller, 2016). PSS blev designet til at lære biomedicinske ingeniørstuderende at løse komplekse problemer uden at skulle ty til udenadshukommelse af procedurer og algoritmer. Studerende arbejder i teams på to for at løse dårligt definerede problemer i et offentligt rum, hvilket gør det muligt for instruktører at give feedback i realtid, efterhånden som de udvikler sig. Et centralt træk ved PSS er dynamisk stillads, en målrettet justering af problemernes sværhedsgrad for at holde eleverne udfordret, men ikke modløse. Ved at øge eller mindske sværhedsgraden på basis af hold i realtid, kan så mange elever som muligt holdes i zonen med proksimal udvikling. Et forelæsningsbaseret kursus vil have svært ved at matche de forskellige niveauer, som de studerende er på, da det samme forelæsningsindhold og levering kommunikeres til alle studerende. Der er god evidens for, at PSS forbedrer elevernes begrebsforståelse (Le Doux og Waller, 2016).


PSS og parprogrammering er en naturlig pasform, og kombinationen af de to matcher målene og pædagogiske behov for CS1-kurser. Af denne grund omhandler denne undersøgelse specifikt tilpasningen af PSS i forbindelse med parprogrammering til CS1-pædagogik. To nøglemål med et CS1-kursus er at undervise i algoritmiske problemløsningsfærdigheder og et specifikt programmeringssprog. En af udfordringerne for kyndige instruktører er, at både problemløsning og sprogkundskab er så dybt forankret, at det er en anden natur for instruktørerne. Paradoksalt nok betyder dette høje niveau af forståelse, at instruktører ofte har svært ved at formidle denne viden, da den tages for givet (Le Doux og Waller, 2016). Yderligere varierer elevernes evner og baggrund betydeligt i CS1-kurser. Syntesen af PSS og parprogrammering adresserer imidlertid disse udfordringer og mål direkte ved at give eleverne en praktisk mulighed for at udvikle problemløsning og programmeringssproglige færdigheder. PSS med tilføjelse af parprogrammering, underviser i algoritmisk problemløsning gennem et kognitivt lærlingemiljø (Collins et al., 1987). Eleverne lærer af hinanden og bliver også vejledt af instruktøren eller andre lærerassistenter. Peer learning er nyttigt, da elever, der er på lignende niveauer, har nylige erfaringer med lignende problemer. Det betyder, at de ofte er bedre til at kommunikere disse løsninger, da de husker detaljerne og det særlige ved både det, de fandt udfordrende, og hvordan de overvandt disse forhindringer. Parprogrammerings evne til at give hurtig feedback hjælper eleverne med at lære syntaksen og semantikken i et programmeringssprog. Yderligere fremmer det parsamarbejde og problemløsning. Parprogrammering har vist sig at hjælpe med at bemærke, at programmører løser problemer ikke kan håndtere på egen hånd (Hawlitschek et al., 2022). Kombinationen af PSS og parprogrammering skaber både et lærlinge- og peer-læringsmiljø, hvor eleverne udvikler både problemløsning og programmeringssproglige færdigheder.


Dette papir er tilgængelig på arxiv under CC BY 4.0 DEED-licens.


Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks