






摘 要:計算思維是信息科技課程要培養的重要核心素養,也是全球K-12課程的重要培養目標。結對編程是中小學編程教育中培養計算思維的常用方法,但依然存在編程參與度不高、易發生協作沖突、缺少反饋等現實困境。為了解決這些現實困境,本研究提出了結對編程協作策略設計原則:明確分組方式,制定協作契約,設計有效交互和扮演教師角色。在此基礎上,設計了結對編程協作策略。研究過程中選取小學四年級166名學生為研究對象,其中實驗組82人,采用結對編程協作策略;對照組84人,采用結對編程傳統策略。實驗結果表明:在計算思維方面,結對編程協作策略顯著提升了小學生的計算思維,進一步分析發現,實驗組男生的計算思維顯著高于對照組男生,其中男男組中男生的計算思維提升尤為顯著;在編程效能感方面,協作策略顯著提升了小學生的編程效能感,進一步分析發現,實驗組男生的編程效能感顯著高于對照組男生,其中男男組、男女組男生的編程效能感均顯著提高。在此基礎上,本研究從組內角色變換、小組分組方式和教師角色扮演三方面,對小學編程教學提出了建議。
關鍵詞:協作策略;計算思維;編程效能感;結對編程;編程教學
中圖分類號:G434" "文獻標識碼:A" "文章編號:1009-458x(2025)1-0096-17
一、引言
計算思維(Computational Thinking)是未來工作中每個人應該具備的八大技能之一(Weng, 2015),不僅對計算機專業人士很重要,而且作為未來日常生活技能對未來公民也至關重要(Wing, 2006)。近年來,計算思維在中小學越來越受到重視。國際教育技術協會(International Society for Technology in Education,ISTE)修改了“學生的技術標準”以滿足數字時代學生發展的需要(ISTE, 2024)。該標準增加了培養計算思維的要求,強調數據分析、數據建模、數據抽象以及算法思維,并強調通過技術工具解決問題、分析問題、提取關鍵信息以及對復雜系統進行建模的技能。澳大利亞課程評估和報告管理局(Australian Curriculum Assessment and Reporting Authority, ACARA)也強調發展學生計算思維技能的重要性,要求學生分析數據,分解問題,運用算法思維(algorithmic thinking)來解決問題(ACARA, 2015)。我國也非常重視計算思維培養,《義務教育信息科技課程標準》(2022年版)明確把計算思維作為信息科技課程要培養的四個核心素養之一(教育部, 2022)。如何在信息科技課程中培養學生的計算思維,是當前中小學信息科技教學實踐亟須解決的現實問題。
編程教學是培養計算思維的有效手段,通過編程教學可以促進學生計算思維發展(Tsai et al., 2019)。結對編程(Pair Programming)作為一種常用的教育方法與策略,已經在編程教學中廣泛應用,其雖然明確了駕駛員(Driver)和領航員(Navigator)的角色及分工,但依然存在編程參與度不高、容易發生協作沖突、缺少反饋等問題,缺乏有效的協作策略。協作是結對編程的關鍵環節,協作策略是影響結對編程效果的重要因素。基于此,本研究提出了小學生結對編程中的協作策略,并在小學信息科技課堂開展了一學期的教學實驗,從計算思維和編程效能感兩個維度分析了這些協作策略的實驗效果。
二、文獻綜述
(一)計算思維的培養
美國卡耐基梅隆大學周以真(Wing, J. M.)提出了一種建立在計算機處理能力及其局限性基礎之上的思維方式——計算思維。她認為計算思維是基于計算機科學的基本概念進行解決問題、設計系統以及理解人類行為的一系列思維活動。計算思維涉及廣泛的智力過程,如邏輯思維、算法選擇和系統思維等(Tsai et al., 2019; Wing, 2006)。路易斯(Lewis, 2011)探索了計算思維的發展,并確定了計算思維的5個特點,包括條件邏輯、算法建構、調試、模擬和分布式計算。
在教育教學過程中,培養學生的計算思維有助于他們獲得更高層次的思維水平,如轉換問題并形成創新的解決方案(Barr et al., 2011)。計算思維可以通過不同的學科領域來培養和改進,如編程、數學(Benakli et al., 2017; Weintrop et al., 2016)、生物(Rubinstein amp; Chor, 2014)、機器人(Atmatzidou amp; Demetriadis, 2016)、物理(Weintrop et al., 2016)等,也可以通過音樂(Bell amp; Bell, 2018)、商業管理(Friedman amp; Jacobson, 2018)、語言發展(Evia et al., 2015)等來培養。在中小學,編程教學是幫助學生提高計算思維的主要渠道(Hsu et al., 2018),能夠使學生通過抽象、概括、算法思維和設計、調試和迭代來思考和采取行動(Shute et al., 2017)。此外,有研究發現,小學階段的女生對計算機的興趣和愛好低于男生(Bundgaard amp; Brogger, 2019),女生需要投入更多的精力和時間才能獲得與男生相似的計算思維(Crews amp; Butterfield, 2003),且隨著年齡的增長,這種性別差異會越來越突出(Hill et al., 2010)。性別作為影響計算思維的個體屬性將被進一步挖掘(孫立會 amp; 胡琳琳, 2021; Demir amp; Seferoglu, 2021)。
布倫南等人(Brennan amp; Resnick, 2012)通過觀察編程在線社區,闡述了計算思維培養的三個關鍵維度:計算思維概念(computational thinking concepts)、計算實踐(computational practices)和計算觀點(computational perspectives)。計算思維概念涉及設計人員在編程時采用的概念,即循環、條件等。當學生進行圖形化編程時,他們會拖動、拖放編程組塊,選擇所需的元素和動作,設定其重復的次數,然后觀察重復動作的循環來實現目標。計算實踐指的是設計人員在編程時的開發實踐,如抽象和建模,測試和調試。計算觀點是設計師對周圍世界以及對自己的看法,即對自己與技術世界關系的質疑。李鋒等(2022)通過文獻比較研究的方法,歸納了中小學計算思維評價內容體系,梳理了計算思維不同維度評價內容與學段之間的映射關系,為計算思維培養提供了依據和參考。
(二)結對編程中的策略設計
設計有效的編程策略是通過編程教育培養計算思維的前提。結對編程被認為是一種教授編程的有效策略。結對編程是指兩個合作伙伴協同工作完成編程任務的學習過程(Williams et al., 2002),其主要有“駕駛員”和“領航員”兩個角色(Williams amp; Kessler, 2002)。其中,“駕駛員”是編程活動的操作者,通常會在計算機上編寫代碼或寫下設計;“領航員”觀察“駕駛員”的工作,為編程提供策略性和長期的思考。結對編程中的結對策略需要考慮同伴之間的平等關系(Tsan, 2020)、合作意愿與態度(Denner et al., 2014)、角色理解與分工(Chong amp; Hurlbutt, 2007; Denner et al., 2021)等。有研究者對傳統結對編程進行了改進,提出了部分結對編程(Partial Pair Programming),并分析了其對小學生計算思維和編程效能感的影響(Wei et al., 2021)。關于結對編程過程中“駕駛員”和“領航員”角色轉換問題,鐘柏昌等人(Zhong et al., 2017)通過觀察發現,讓學生在一個任務或一節課期間轉換“駕駛員”和“領航員”角色,可以提高學生對任務的樂趣。盡管已有研究強調結對編程的積極效果,但對結對編程的實證研究主要集中于大學生和成人學習者,對小學生關注較少(Iskrenovic-Momcilovic, 2019)。實證研究發現,已有編程策略傾向于個人編程(Cheng et al., 2024),對學生結對過程中的協作關注較少。關于學生協作,迪倫堡(Dillenbourg, 1999)提出了協作模式,并指出盡管協作學習具有顯著的優勢,但并不會自然而然地發生,有效的協作學習需要精心設計的任務結構、明確的互動規則以及適當的支持和引導,以確保參與者能夠積極且有意義地參與到協作過程中。因此,在結對編程學習中,亟須制定合適的協作策略指導教學,明確的協作策略是確保結對編程學習成功的關鍵。
(三)中小學生的編程效能感
在編程教育領域,編程自我效能感與計算思維緊密聯系,互相影響。編程自我效能感(Programming Self-efficacy)指學習者對自己使用必要技能完成編程任務的期望(Kong et al., 2018)。拉瑪林甘等(Ramalingam et al., 2004)研究發現編程會影響學生的自我效能感,自我效能感也會對計算思維產生積極影響。在中小學編程教育中,很多研究者關注自我效能感和計算思維之間的關系。如有研究(Kong et al., 2018)提出,學生具有更高的自我效能感,則在完成給定任務時更有信心,并且更有可能為完成任務而努力。丹納爾等(Denner et al., 2014)研究發現,采用良好的教學策略,編程學習更有可能取得成功,并且這種學習可以提高學生的編程自我效能感。在編程教學中,讓學生設計數字故事可以提高學生的編程概念和編程自我效能感(Durak, 2018)。江紹祥等(Kong et al., 2018)研究發現,具有積極合作態度的學生尤其是小學生,在編程過程中具有更高的自我效能感;同時,在完成編程任務過程中,結對編程提高了學生的編程效能感,但同伴之間仍存在容易發生協作沖突的問題。
由以上分析可見,結對編程在培養計算思維和提升編程效能感方面具有積極作用。考慮到學生編程技能、溝通水平、協作方式存在差異,如何設計有效的協作策略提升結對編程效果,是中小學編程教學亟須解決的現實問題。
三、結對編程中的協作策略設計
結對編程作為團隊協作的一種形式,需要協作策略來保障協作效果。團隊協作的關鍵是參與者開展一些觸發特定學習機制的活動。為了提高團隊的互動性和學習興趣,迪倫堡(Dillenbourg, 1999)提出了協作模式應該具備的4個條件,即設置初始條件、制定協作契約、支持有效交互以及監控和調節。依據協作模式應具備的4個條件,并結合其在結對編程場景中的演進,本研究提出了結對編程協作策略設計原則,即明確分組方式,制定協作契約,設計有效交互和扮演教師角色。基于此,設計了適合小學生結對編程的協作策略(如表1所示)。
學生根據編程興趣和水平等自主選擇同伴,考慮同伴合作意愿和態度。同伴的合作意愿和態度是影響結對編程實施效果的重要因素(Denner et al., 2014)。小學生處于自我意識發展的上升期,和不熟悉的同學結伴,會影響編程中的合作意愿和態度,不和諧的結對可能會干擾學生的學習(Jacobson amp; Schaefer, 2008)。在結對編程前,鼓勵學生自主選擇同伴,良好的同伴關系有助于提升同伴的合作意愿,提高編程效率。
學生通過觀看教學視頻,熟悉協作規程,理解“駕駛員”和“領航員”角色,明確雙方在結對編程中的角色分配和行為規范。小學生作為初級編程者,在結對編程中往往對“駕駛員”和“領航員”角色把握不準,編程參與度不高(鐘柏昌 amp; 黃水艷, 2021),容易引發矛盾。觀看教學視頻有助于學生理解結對編程中雙方角色,減少矛盾發生(Williams et al., 2008)。基于此,在學生結對編程前,教師應讓學生觀看教學視頻,熟悉協作規程,包括協作目標、角色分配、工作流程、溝通方式、沖突解決方式等,幫助學生理解“駕駛員”和“領航員”角色,認識角色輪換的重要性,明確協作規程,減少矛盾的發生。
“駕駛員”和“領航員”角色動態分工,平等交換意見,共同解決編程問題。丹納爾等(Denner et al., 2021)研究發現,在同伴之間進行動態角色分配、平等交換意見對結對編程中參與者不懼困難和失敗具有積極推動作用。因此,本研究提出,為保證富有成效的交互,同伴之間應平等交換意見,對“駕駛員”和“領航員”角色進行動態分工,進而避免不平等溝通甚至角色爭奪等行為對結對編程可能產生的阻礙作用。主題設計以學生最近發展區為參照,以畫圖、聲音、動畫、游戲等Scraino編程為支撐,依據學生協作分工,對結對小組編程作品進行分析評價。在創作作品之前,雙方對作品的目標有清晰的理解和共識。在創作作品的過程中,雙方協商解決問題的方法,以及遇到困難時如何協作。在編程過程中,“駕駛員”和“領航員”保持積極溝通,分享編程思路和想法。“領航員”提供即時反饋和建議;“駕駛員”充分表達自己的思路,以便雙方能夠共同決定下一步的行動。當“駕駛員”遇到困難時,可征求同伴是否愿意以“領航員”角色繼續編程;當“駕駛員”完成作品時可自動轉換為“領航員”繼續編程,直到同伴完成作品。
教師扮演“促進者”角色,進行任務跟蹤并給予反饋,鼓勵合作行為和探索行為,及時處理破壞行為。結對編程過程中往往存在合作、探索和破壞三種行為表現(Campe et al., 2020)。其中,合作行為強調結對雙方以語言或非語言方式交流分享觀點和編程方案,克服編程過程中的困難;探索行為強調結對雙方通過闡述、辯論、傾聽、反思等方式,建設性、批判性地交流觀點和編程方案;破壞行為主要包括“駕駛員”或“領航員”獨斷專行、沒有建設意義的爭吵等。在作品創作過程中,教師密切關注學生行為表現,鼓勵合作行為和探索行為,及時制止破壞行為,必要時教師向學生示范如何進行有效溝通和分工,并定期檢查學生編程進展,提供即時反饋,提高學生編程興趣和協作效率。此外,在作品展示環節,讓學生說出編程過程中的困難以及如何解決困難,給予學生鼓勵,提高學生編程信心。
四、實證研究設計
為驗證本研究提出的結對編程協作策略的有效性,研究團隊在小學開展了為期一學期的實驗,從計算思維和編程效能感兩個維度進行了分析。
(一)研究對象
本研究選取了山東省某小學四年級4個班共166名學生為研究對象,隨機設置實驗組和對照組。實驗組2個班共82人,其中男生49人,女生33人;對照組2個班共84人,其中男生48人,女生36人。在“信息科技”編程教育課程中,使用圖形化編程軟件Scraino培養小學生計算思維。該課程每周一節課,每節課40分鐘。參與實驗的所有學生在計算思維和編程方面具有相似的背景。實驗開始前,對實驗組和對照組學生開展計算思維和編程效能感前測;實驗結束后,對實驗組和對照組學生開展計算思維和編程效能感后測。
(二)研究工具
在研究過程中使用Dr.Scratch平臺評價學生計算思維前測成績與后測成績,通過自動分析學生提交的作品源代碼評估學生的計算思維水平(Moreno-León amp; Robles, 2015)。采用江紹祥(Kong, 2017)開發的編程效能感量表測量小學生編程效能感,量表包括15個問題,其中7個問題用于評價編程知識,8個問題用于評價編程技能。采用李克特五點式量表,量表的Cronbach’s α系數為0.92,編程知識維度和編程技能維度的Cronbach’s α系數分別為0.88和0.93。
(三)實驗設計
實驗組和對照組學生每人一臺電腦,均由同一位經驗豐富的信息科技教師授課。實驗組采用本文提出的結對編程協作策略,即學生自主選擇同伴,雙方討論構思作品,編寫程序,完成任務;對照組采用結對編程傳統策略,即教師指定同伴,學生與教師指定的伙伴共同討論編程項目的設計思路,完善作品構思,確保其符合項目要求。
實驗共持續17周(如圖1所示)。前兩周,教師介紹Scraino基本操作,全體學生完成計算思維和編程效能感前測。計算思維前測于第2周展開,學生完成第一個Scraino作品《幸福的魚兒》。學生完成后,教師將學生作品上傳至Dr. Scratch平臺進行分析,由此得到的成績作為學生計算思維前測水平。
第3—16周,教師按照教學計劃開展教學活動。授課內容包括初識Scraino、畫圖、聲音、動畫、游戲和實踐6個模塊,每個模塊包括2~3個主題,學生需要完成11個作品。主題介紹部分說明了教學內容與計算思維培養的關聯。每個活動圍繞不同的主題進行學習,學生有機會學習和探究不同類型的作品表達形式,在這個過程中逐步發展自己的計算概念,提高計算實踐的熟悉度和流暢性。在初識Scraino模塊的學習中,學生設計易動手操作的編程主題活動,熟練掌握Scraino軟件的功能,培養用編程方法解決問題的興趣。在畫圖模塊的學習中,學生通過用程序繪制圖形,掌握順序、循環等基本代碼的含義,運用計算思維的抽象能力,將復雜的圖形設計轉化為可執行的代碼指令,運用算法思維規劃繪制圖形步驟,并設計完善作品細節。在聲音模塊的學習中,學生通過使用Scraino擴展模塊制作音樂,利用計算思維的抽象和概括能力,將復雜的音樂旋律分解成可執行的代碼指令,并運用算法思維組合和排列不同的聲音元素,使用現有的聲音資源實現所需的音效,創作音樂作品。在動畫模塊的學習中,學生通過編寫相聲,體驗動畫創作的樂趣,運用抽象思維,將相聲劇本中的幽默元素、角色特點以及故事情節提煉出來,運用算法思維編寫相聲動畫腳本,構建交互式的動畫空間,增強互動性和趣味性。在游戲模塊的學習中,學生通過創建定義目標和規則的作品探究游戲,運用計算思維的算法思維能力,將整體的游戲構思拆分成具體的、可執行的編程模塊,利用運動模塊中的代碼對不同角色設置不同游戲指令。在搭建和調試程序的過程中,實現游戲的優化和迭代。在實踐模塊的學習過程中,學生綜合運用計算思維能力,小組協作設計角色,使用動作、控制、外觀、事件模塊以及重復執行嵌套條件判斷語句等拆解任務,解決問題,完成編程作品。
第17周開展計算思維與編程效能感后測,并對部分學生開展半結構化訪談。學生完成期末作品《大魚吃小魚》,同樣,教師上傳該作品至Dr. Scratch平臺進行分析,由此得到的成績作為學生計算思維后測水平。
實驗組和對照組課堂教學流程如表2所示。以“追趕游戲”為例,實驗組教師在講授環節,以游戲導入,創設情境,學生上臺互動,體驗游戲。在作品構思環節,學生觀看教學視頻,熟悉協作規程,明確雙方在結對編程中的角色分配和行為規范。學生與其自主選擇的同伴一起討論編程思路,分析如何選擇角色,搭建場景,進行角色移動,添加積分器,以及每一部分如何實現等。在結對編程環節,結對小組將教師布置的抽象任務具象化,與同伴一起討論,“駕駛員”和“領航員”角色動態互換,預設角色執行指令,利用運動模塊中的代碼對兩個角色設置不同的指令,從而控制兩個角色的運動方向。在作品展示環節,結對小組匯報“追趕游戲”的編程作品,同伴之間實現游戲優化和迭代的思路,以及遇到編程困難時的解決辦法。
對照組教師在講授環節,以游戲導入,創設情境,學生上臺互動,體驗游戲。在作品構思環節,學生與同伴溝通編程思路,分析游戲如何選擇角色,搭建場景,進行角色移動,添加積分器,以及每一部分如何實現等。在結對編程環節,結對小組“駕駛員”和“領航員”角色固定,預設角色執行指令,利用運動模塊中的代碼對兩個角色設置不同的指令,從而控制兩個角色的運動方向。在作品展示環節,結對小組匯報“追趕游戲”的編程作品,以及同伴之間實現游戲的優化和迭代的思路。
(四)數據分析
研究過程中使用SPSS 25.0分析實驗組和對照組的計算思維和編程效能感,先對實驗數據進行描述性統計分析,再應用單因素協方差分析法(Analysis of Covariance, ANCOVA)分析本研究提出的結對編程協作策略對小學生計算思維和編程效能感的影響。
五、實證研究結果
(一)結對編程協作策略對小學生計算思維的影響
1. 實驗組學生的計算思維顯著高于對照組
使用單因素協方差分析法(ANCOVA)對實驗組和對照組的計算思維成績進行分析。為消除計算思維前測成績對后測成績的影響,把學生的計算思維前測成績作為協變量。數據的變量同質性及正態分布檢驗均無顯著性差異(pgt;0.05),滿足使用協方差分析的前提條件。實驗組和對照組的計算思維后測成績如表3所示。考慮前測成績的影響,實驗組調整后的平均值和標準誤分別為14.13和0.36,對照組調整后的平均值和標準誤分別為12.35和0.35。實驗組計算思維后測成績顯著高于對照組[F(1, 163)=12.49,plt;0.001]。結果表明,結對編程協作策略非常顯著地提升了小學生的計算思維成績。
2. 實驗組男生的計算思維顯著高于對照組男生,實驗組女生的計算思維和對照組女生無顯著差異
在對比分析實驗組與對照組學生計算思維的基礎上,進一步分析結對編程協作策略對男生和女生計算思維提升的影響(如表4所示)。
實驗組男生的計算思維顯著高于對照組男生[F(1, 94)=3.94,plt;0.05]。考慮前測成績的影響,實驗組男生調整后的平均值和標準誤分別為14.05和0.47,對照組男生調整后的平均值和標準誤分別為12.23和0.48。實驗組(男男組)中男生的計算思維顯著高于對照組男生(plt;0.01)。實驗組(男男組)男生調整后的平均值和標準誤分別為14.61和0.62,對照組男生調整后的平均值和標準誤分別為12.23和0.48。但是,實驗組(男女組)男生的計算思維與對照組男生沒有顯著差異(pgt;0.05),實驗組(男女組)男生調整后的平均值和標準誤分別為13.31和0.72,對照組男生調整后的平均值和標準誤分別為12.23和0.48。研究結果提示,與結對編程傳統策略相比,結對編程協作策略對提升男男組中男生的計算思維尤為顯著。
實驗組女生和對照組女生的計算思維沒有顯著差異[F(1, 66)=2.67,pgt;0.05]。考慮前測成績的影響,實驗組女生調整后的平均值和標準誤分別為14.23和0.56,對照組女生調整后的平均值和標準誤分別為12.53和0.54。結果表明,結對編程協作策略沒有顯著提升女生的計算思維。
考慮到實驗組女生有兩種分組情況,即女女組(兩名女生一個組)和男女組(一名男生一名女生一個組),進一步分析不同編程方式對實驗組的女女組、男女組與對照組女生的計算思維影響。男女組中女生的計算思維顯著高于對照組女生(plt;0.05)。考慮前測成績的影響,實驗組(男女組)女生調整后的平均值和標準誤分別為14.77和0.71,對照組女生調整后的平均值和標準誤分別為12.53和0.54。然而,與對照組女生相比,實驗組(女女組)女生計算思維沒有顯著提升(pgt;0.05),實驗組(女女組)女生調整后的平均值和標準誤分別為13.28和0.93,對照組女生調整后的平均值和標準誤分別為12.53和0.54。這一結果表明,結對編程協作策略顯著提升了實驗組(男女組)女生的計算思維。
通過以上分析可以看出,從整體上看,實驗組學生的計算思維顯著高于對照組。但是,由于結對方式不同,實驗組男生和女生之間存在性別差異。總體來看,與對照組男生相比,實驗組男生的計算思維水平顯著提升,特別是對實驗組(男男組)男生計算思維提升尤為顯著;與對照組的女生相比,結對編程協作策略并沒有顯著提升實驗組女生(包括女女組和男女組的女生)的計算思維水平,但男女組中女生的計算思維水平顯著高于對照組女生。
(二)結對編程協作策略對小學生編程效能感的影響
1. 實驗組學生的編程效能感顯著高于對照組
使用單因素協方差分析法(ANCOVA)對實驗組和對照組的編程效能感進行分析。為了消除編程效能感前測對后測影響,把學生的編程效能感前測作為協變量。數據的變量同質性及正態分布檢驗均無顯著性差異(pgt;0.05),滿足使用協方差分析的前提條件。實驗組和對照組的編程效能感后測分析結果如表5所示。實驗組和對照組的編程效能感后測成績存在顯著差異[F(1, 163)=12.72,plt;0.001]。考慮前測成績的影響,實驗組調整后的平均值和標準誤分別為62.37和1.46,對照組調整后的平均值和標準誤分別為54.21和1.44。結果表明,與結對編程傳統策略相比,結對編程協作策略顯著提升了小學生的編程效能感。
2. 實驗組男生的編程效能感顯著高于對照組男生,實驗組女生的編程效能感和對照組女生無差異
在對比分析實驗組與對照組學生編程效能感的基礎上,下面分別討論結對編程協作策略與結對編程傳統策略對男生和女生編程效能感影響的差異。實驗組與對照組之間男生和女生編程效能感后測協方差分析結果如表6所示。
根據協方差分析結果,實驗組男生編程效能感顯著高于對照組男生[F(1, 94)=4.33,plt;0.01]。考慮前測成績的影響,實驗組男生調整后的平均值和標準誤分別為63.22和1.68。對照組男生調整后的平均值和標準誤分別為54.33和1.91。結果表明,與結對編程傳統策略相比,結對編程協作策略顯著提升了男生的編程效能感。實驗組(男男組)中男生的編程效能感顯著高于對照組男生(plt;0.05)。考慮前測成績的影響,實驗組(男男組)中男生調整后的平均值和標準誤分別為62.79和2.19,對照組男生調整后的平均值和標準誤分別為54.33和1.91。同時,實驗組(男女組)男生的編程效能感顯著高于對照組男生(plt;0.05)。考慮前測成績的影響,實驗組(男女組)中男生調整后的平均值和標準誤分別為63.80和2.52,對照組男生調整后的平均值和標準誤分別為54.33和1.91。結果表明,與結對編程傳統策略相比,結對編程協作策略均顯著提升了實驗組(男男組)和實驗組(男女組)男生的編程效能感。
關于女生的編程效能感,實驗組女生和對照組女生的編程效能感后測成績沒有顯著差異[F(1, 66)=2.38,pgt;0.05]。考慮前測成績的影響,實驗組女生調整后的平均值和標準誤分別為61.13和1.87,對照組女生調整后的平均值和標準誤分別為54.59和2.01。結果表明,與結對編程傳統策略相比,結對編程協作策略沒有顯著提升女生的編程效能感。實驗組(男女組)中女生的編程效能感與對照組女生沒有顯著差異(pgt;0.05)。考慮前測成績的影響,實驗組(男女組)女生調整后的平均值和標準誤分別為62.46和2.28,對照組女生調整后的平均值和標準誤分別為54.59和2.01。實驗組(女女組)女生的編程效能感與對照組女生也沒有顯著差異(pgt;0.05)。考慮前測成績的影響,實驗組(女女組)女生調整后的平均值和標準誤分別為58.80和3.04,對照組女生調整后的平均值和標準誤分別為54.59和2.01。研究結果顯示,與對照組相比,結對編程協作策略沒有顯著提升實驗組(男女組)和實驗組(女女組)女生的編程效能感。
通過以上分析可以看出,從整體上看,實驗組學生的編程效能感顯著高于對照組,但是存在性別差異。與對照組的男生相比,不管是男男組合,還是男女組合,結對編程協作策略顯著提升了實驗組男生的編程效能感。與此不同的是,與對照組的女生相比,不管是女女組合,還是男女組合,結對編程協作策略并沒有顯著提升實驗組女生的編程效能感。
六、討論
研究結果表明,結對編程協作策略提升了小學生的計算思維和編程效能感。伊斯克列諾維奇-蒙奇洛維奇(Iskrenovic-Momcilovic, 2019)在研究中也發現,初級編程者采用結對編程能夠取得更好的效果。積極態度對于學生保持對編程的學習興趣和動機是非常重要的。這些積極的編程體驗可能會幫助學生繼續努力學習,而不是放棄解決編程中遇到的問題。正如達克沃斯等(Duckworth et al., 2007)指出的,對于長期目標的堅持和熱情是成功的最佳預測。本研究發現,通過觀看教學視頻,學生能夠直觀地了解結對編程的協作規程,明確“駕駛員”和“領航員”的角色定位及其行為規范。“駕駛員”和“領航員”角色的動態分工是一個重要的教學策略,使用結對編程協作策略的學生表現出了對編程學習的興趣和共同承擔有挑戰性的任務的意愿,在幫助學生提升計算思維方面發揮了重要作用。訪談學生可發現,同伴之間平等交換意見,關系融洽,溝通順暢;遇到困難時,會與同伴討論,一起解決編程中的困難;在解決問題的過程中,喜歡幫助或指導同伴,這些現象更多地發生在編程效能感高的學生身上。這一觀察結果與克拉克-米杜拉等(Clarke-Midura et al., 2018)的研究結果一致,即平等交換意見有助于學生提高編程效能感,并提高他們對學習計算機科學的總體興趣。
對于年輕的編程學習者來說,同伴之間的友誼也是值得考慮的重要因素。結對編程協作策略強調學生自主選擇同伴。具有較好同伴關系的組合在編程學習中優于關系較差的組合(李彤彤 等, 2022)。課堂觀察發現,與和不熟悉的同伴結對的學生相比,和朋友結對的學生在編程過程中合作更加愉快,表現更好。這與卡姆佩等(Campe et al., 2020)的觀察結果一致。這一觀察結果提醒教師在進行結對編程分組時,應考慮兩個學生之間的熟悉程度或友誼,因為朋友之間良好的溝通有助于學生提升編程興趣和獲得科學知識的能力(Leman et al., 2016),并有助于促進協作過程(Sullivan amp; Wilson, 2015)。
本研究還發現小學男生和女生在編程方面存在性別差異。正如在研究結果部分呈現的那樣,實驗組學生的計算思維和編程效能感均顯著高于對照組。然而,在使用結對編程協作策略過程中,男生在計算思維和編程效能感方面提升更顯著。實驗組男生在計算思維和編程效能感方面的提升顯著高于對照組男生。在半結構化訪談中,有男生表示,結對編程過程中的合作行為和探索行為受到老師鼓勵,這極大增加了他們克服困難的信心,有助于他們對編程知識和技能的學習。同時也發現,與對照組女生相比,實驗組女生的計算思維和編程效能感均沒有顯著提升。這說明,結對編程協作策略對提升女生計算思維和編程效能感沒有顯著作用。進一步分析訪談數據發現,部分女生表示,在編程活動中感到缺乏信心,進而對自身編程能力產生懷疑,尤其是在面對復雜任務或調試問題時,容易產生放棄的想法。這一現象表明,女生在編程過程中遇到困難時,容易產生畏難情緒。因此,編程教學需要考慮性別差異,需要給予女生更多的引導和情感支持,以幫助她們克服對編程的畏難情緒(孫立會 amp; 胡琳琳, 2021)。
七、總結
本研究提出了針對小學生的結對編程協作策略,并在小學四年級信息科技課程開展了17周的教學實驗。結果表明,協作策略顯著提升了小學生的計算思維和編程效能感。結合對編程教學過程的觀察和師生訪談情況,對小學信息科技課開展編程教學提出以下建議。1)在結對編程前,讓學生觀看教學視頻,了解“領航員”和“駕駛員”角色,把握結對編程過程中“領航員”和“駕駛員”角色變換的時機。2)小學生是初級編程者,教師在開展協作編程教學時,要鼓勵學生自主選擇同伴,同時要充分考慮性別因素,建議優先考慮男男組合的分組方式。另外,教師應保護女生的編程興趣,增強她們對編程的信心,鼓勵她們積極參與編程活動。3)教師要充分發揮“促進者”的作用,在作品創作階段,要鼓勵學生的合作與探索行為,及時處理學生的破壞行為;在作品展示環節,要讓學生說出在編程過程中遇到的困難以及他們是如何解決的,給予學生鼓勵,進一步增強學生的編程信心。
在結對編程教學中,學生與同伴之間的友情也是影響學習效果的重要因素。教師在分組時應充分考慮學生與同伴之間的友情或熟悉程度,以便學生在結對編程過程中能夠與同伴很好地協作(Denner et al., 2014),掌握編程知識。同時,對于小學生而言,學習編程和獲得計算思維是具有挑戰性的(Kalelio lu, 2015)。因此,幫助年輕學習者以高自我效能感(充滿樂趣、動機和自信)進行編程,對于培養他們的計算思維至關重要(Tsai et al., 2019),也有助于學習環境構建(翟雪松 等, 2023)。小學生編程效能感與計算思維之間的關系,以及如何提高女生的計算思維與編程效能感是需要進一步深入研究的問題。
參考文獻
教育部. (2022). 義務教育信息科技課程標準(2022年版). 北京師范大學出版社.
李鋒, 程亮, amp; 顧小清. (2022). 計算思維學業評價的內容構建與方法設計——文獻比較研究的視角. 中國遠程教育(2), 65-75, 77.
李彤彤, 郝晴, 文雨, 蘇新玉, 方玉華 amp; 劉佳旋. (2022). 基于學習風格和伙伴關系的配對編程對小學生計算思維的影響研究. 遠程教育雜志(3), 105-112.
孫立會, amp; 胡琳琳. (2021). 是什么影響了小學生的計算思維——一項基于五省市小學生的橫向研究. 中國電化教育(7), 52-61.
翟雪松, 許家奇, 陳鑫源, 楚肖燕, 李雨珊, amp; 李媛. (2023). 文本呈現方式對視覺舒適度的影響——基于人工智能與腦電協同的分析. 開放教育研究(1), 70-80.
鐘柏昌, amp; 黃水艷. (2021). 合作學習動態分組的研究進展與思考——基于國際文獻的系統綜述. 開放教育研究(4), 85-97.
Atmatzidou, S., amp; Demetriadis, S. (2016). Advancing students’ computational thinking skills through educational robotics: A study on age and gender relevant differences. Robotics and Autonomous Systems, 75, 661-670.
ACARA. (2015, October 18). The Australian curriculum: Digital technologies. Australian CURRICULUM. https://www.australiancurriculum.edu.au/f-10-curriculum/technologies/digital-technologies
Barr, D., Harrison, J., amp; Conery, L. (2011). Computational thinking: A digital age skill for everyone. Learning amp; Leading with Technology, 38(6), 20-23.
Bell, J., amp; Bell, T. (2018). Integrating computational thinking with a music education context. Informatics in Education, 17(2), 151-166.
Benakli, N., Kostadinov, B., Satyanarayana, A., amp; Singh, S. (2017). Introducing computational thinking through hands-on projects using R with applications to calculus, probability and data analysis. International Journal of Mathematical Education in Science and Technology, 48(3), 393-427.
Brennan, K., amp; Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. In Proceedings of the 2012 annual meeting of the American educational research association (pp. 1-25). AERA.
Bundgaard, K., amp; Brogger, M. N. (2019). Who is the back translator? An integrative literature review of back translator descriptions in cross-cultural adaptation of research instruments. Perspectives-studies in Translatology, 27(6), 833-845.
Campe, S., Denner, J., Green, E., amp; Torres, D. (2020). Pair programming in middle school: Variations in interactions and behaviors. Computer Science Education, 30(1), 22-46.
Cheng, G., Zou, D., Xie, H., amp; Wang, F. L. (2024). Exploring differences in self-regulated learning strategy use between high- and low-performing students in introductory programming: An analysis of eye-tracking and retrospective think-aloud data from program comprehension. Computers amp; Education, 208, 1-18.
Chong, J., amp; Hurlbutt, T. (2007). The social dynamics of pair programming. In 29th International conference on software engineering (ICSE’07) (pp. 354-363). IEEE.
Clarke-Midura, J., Poole, F., Pantic, K., Hamilton, M., Sun, C., amp; Allan, V. (2018). How near peer mentoring affects middle school mentees. In Proceedings of the 49th ACM technical symposium on computer science education (pp. 664-669). Association for Computing Machinery.
Crews, T., amp; Butterfield, J. (2003). Gender differences in beginning programming: Anempirical study on improving performance parity.Campus Wide Information Systems, 20(5), 186-192.
Demir, ?., amp; Seferoglu, S. S. (2021). The effect of determining pair programming groups according to various individual difference variables on group compatibility, flow, and coding performance. Journal of Educational Computing Research, 59(1), 41-70.
Denner, J., Green, E., amp; Campe, S. (2021). Learning to program in middle school: How pair programming helps and hinders intrepid exploration. Journal of the Learning Sciences, 30(4-5), 611-645.
Denner, J., Werner, L., Campe, S., amp; Ortiz, E. (2014). Pair programming: Under what conditions is it advantageous for middle school students? Journal of Research on Technology in Education, 46(3), 277-296.
Dillenbourg, P. (1999). What do you mean by collaborative learning? In P. Dillenbourg (Ed.), Collaborative learning: Cognitive and computational approaches (pp. 1-19). Elsevier.
Duckworth, A. L., Peterson, C., Matthews, M. D., amp; Kelly, D. R. (2007). Grit: Perseverance and passion for long-term goals. Journal of personality and social psychology, 92(6), 1087-1101.
Durak, H. Y. (2018). Digital story design activities used for teaching programming effect on learning of programming concepts, programming self-efficacy, and participation and analysis of student experiences. Journal of Computer Assisted Learning, 34(6), 740-752.
Evia, C., Sharp, M. R., amp; Pérez-Qui?ones, M. A. (2015). Teaching structured authoring and DITA through rhetorical and computational thinking. IEEE Transactions on Professional Communication, 58(3), 328-343.
Friedman, J., amp; Jacobson, N. (2018). Computation in practice: An inquiry into the business of computational design. In Codify (pp." 39-49). Routledge.
Hill, C., Corbett, C., amp; St Rose, A. (2010). Why so few? Women in science, technology, engineering, and mathematics. American Association of University Women.
Hsu, T. C., Chang, S. C., amp; Hung, Y. T. (2018). How to learn and how to teach computational thinking: Suggestions based on a review of the literature. Computers amp; Education, 126, 296-310.
ISTE. (2024, April 1). ISTE standards: For students. ISTE. http://www.iste.org/standards/for-students
Iskrenovic-Momcilovic, O. (2019). Pair programming with scratch. Education and Information Technologies, 24, 2943-2952.
Jacobson, N., amp; Schaefer, S. K. (2008). Pair programming in CS1: Overcoming objections to its adoption. ACM SIGCSE Bulletin, 40(2), 93-96.
Kalelio lu, F. (2015). A new way of teaching programming skills to K-12 students: Code.org. Computers in Human Behavior, 52, 200-210.
Kong, S. C. (2017). Development and validation of a programming self-efficacy scale for senior primary school learners. In Proceedings of the international conference on computational thinking education (pp. 97-102). The Education University of Hong Kong.
Kong, S. C., Chiu, M. M., amp; Lai, M. (2018). A study of primary school students’ interest, collaboration attitude, and programming empowerment in computational thinking education. Computers amp; Education,127, 178-189.
Leman, P. J., Skipper, Y., Watling, D., amp; Rutland, A. (2016). Conceptual change in science is facilitated through peer collaboration for boys but not for girls. Child Development, 87(1), 176-183.
Lewis, C. M. (2011). Is pair programming more effective than other forms of collaboration for young students? Computer Science Education, 21(2), 105-134.
Moreno-León, J., amp; Robles, G. (2015). Analyze your Scratch projects with Dr. Scratch and assess your computational thinking skills. In J. Moreno-León amp; G. Robles (Ed.), Scratch Conference (pp. 12-15). AMS.
Ramalingam, V., LaBelle, D., amp; Wiedenbeck, S. (2004). Self-efficacy and mental models in learning to program. In Proceedings of the 9th annual SIGCSE conference on innovation and technology in computer science education (pp. 171-175). SIGCSE.
Rubinstein, A., amp; Chor, B. (2014). Computational thinking in life science education. PLoS Computational Biology, 10(11), e1003897.
Shute, V. J., Sun, C., amp; Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22, 142-158.
Sullivan, F. R., amp; Wilson, N. C. (2015). Playful talk: Negotiating opportunities to learn in collaborative groups. Journal of the Learning Sciences, 24(1), 5-52.
Tsai, M. J., Wang, C. Y., amp; Hsu, P. F. (2019). Developing the computer programming self-efficacy scale for computer literacy education. Journal of Educational Computing Research, 56(8), 1345-1360.
Tsan, J. (2020). Developing adaptive support for collaborative problem solving between upper-elementary computer science learners. North Carolina State University.
Wei, X., Lin, L., Meng, N., Tan, W., Kong, S. C., amp; Kinshuk. (2021). The effectiveness of partial pair programming on elementary school students’ computational thinking skills and self-efficacy. Computers amp; Education, 160, 1-15.
Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., amp; Wilensky, U. (2016). Defining computational thinking for mathematics and science classrooms. Journal of Science Education and Technology, 25(1), 127-147.
Weng, W. (2015). Eight skills in future work. Education, 135(4), 419-422.
Williams, L., amp; Kessler, R. (2002). Pair programming illuminated. Addison-Wesley Longman Publishing Co., Inc.
Williams, L., McCrickard, D. S., Layman, L., amp; Hussein, K. (2008). Eleven guidelines for implementing pair programming in the classroom. In L. Williams, D. S. McCrickard, L. Layman, amp; K. Hussein (Ed.), Agile 2008 Conference (pp. 445-452). IEEE.
Williams, L., Wiebe, E., Yang, K., Ferzli, M., amp; Miller, C. (2002). In support of pair programming in the introductory computer science course. Computer Science Education, 12(3), 197-212.
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.
Zhong, B., Wang, Q., Chen, J., amp; Li, Y. (2017). Investigating the period of switching roles in pair programming in a primary school. Journal of Educational Technology amp; Society, 20(3), 220-233.
A Study on the Impact of Collaborative Strategy Design for Pair Programming on Computational Thinking
Abstract: Computational thinking is an important core literacy in the information technology course, which has become a key developmental goal in global K-12 curriculum. Pair programming is a common method to cultivate computational thinking in primary and secondary school programming education, but there are still practical difficulties such as low programming participation, susceptibility to collaborative conflicts, and lack of feedback. In order to solve this predicament, this study proposes the design principles of pair programming collaborative strategy, namely, “clarifying grouping methods”, “formulating collaborative contracts”, “designing effective interactions”, and “playing the role of teachers”, and on this basis, a collaborative strategy for pair programming is proposed. A quasi-experiment was executed by recruiting 166 grade 4 students as the research subjects, with 82 students in the experimental group (EG) adopting the collaborative strategy for pair programming and 84 students in the control group (CG) adopting the traditional strategy for pair programming. The experimental results show that in terms of computational thinking, the application of collaborative strategy for pair programming resulted in a significant improvement in computational thinking of primary school students. Further analysis revealed that the computational thinking of boys in the experimental group was significantly higher than that of boys in the control group, in which the computational thinking of boy students in the boy-boy group improved significantly. In terms of programming self-efficacy, the collaborative strategy for pair programming significantly improved the programming self-efficacy of primary school students. Further analysis found that the boys in the experimental group had a significantly higher sense of programming self-efficacy than the boys in the control group, and the boys in both boy-boy and boy-girl groups had significantly improved programming self-efficacy. On this basis, teaching suggestions for elementary school programming were summarized from three aspects: role change within the group, group grouping, and teacher role-playing.
Keywords: collaborative strategy; computational thinking; programming self-efficacy; pair programming; programming teaching