摘要:在計算素養(yǎng)至關(guān)重要的時代,全球許多中小學校均在強調(diào)編程教育的重要性?;趬K(BPM)和基于文本編程(TPM)是編程教學中最主要的兩種編程模式,然而鮮有研究從學習過程和學習結(jié)果相結(jié)合的角度探究這兩種編程模式的差異,本研究旨在通過準實驗設(shè)計,比較中學生在這兩種模式下的編程行為和計算思維水平。研究發(fā)現(xiàn):①TPM學習者遇到了更多的語法錯誤,調(diào)試時間間隔更長,相比之下,BPM學習者通過調(diào)整編程塊進行更多的代碼修改,進行更多次調(diào)試,并表現(xiàn)出更多的無關(guān)行為;②BPM學習者在計算思維水平上顯著優(yōu)于TPM學習者;③通過對學生在兩種編程模式下的行為分析,識別出了代碼修改者、最少調(diào)試者、最多調(diào)試者、分心編程者和平均表現(xiàn)者五類學生。最后,研究根據(jù)結(jié)果討論了相關(guān)的教育啟示。
關(guān)鍵詞:基于文本編程模式;基于塊編程模式;計算思維;編程行為
中圖分類號:G434 文獻標識碼:A 論文編號:1674-2117(2024)14-0009-06
引言
計算思維是21世紀中小學生不可或缺的一項能力,中國、美國和英國等國家已將編程教育納入其中小學課程[1],編程主要采用兩種核心方法:基于塊編程模式(BPM)和基于文本編程模式(TPM)。[2]BPM利用視覺輔助工具,使其更容易被初學者所接受,而TPM可以輔助學習者完成專業(yè)的編程任務。[3]已有研究盡管評估了學生在學習BPM和TPM方面的差異,但缺乏從學習過程的角度探究不同編程模式如何影響編程學習效果的研究,因此,了解每種模式各自的特征以及它們?nèi)绾斡行У卮龠M學生的學習至關(guān)重要。[4]本研究旨在通過研究中學生在兩種模式中的編程行為和計算思維水平,來評估編程模式對編程學習效果的影響,相關(guān)研究發(fā)現(xiàn)它可以指導教育工作者設(shè)計更有效的教學方法,以提升學生的編程技能,發(fā)展學生的計算思維。
文獻綜述
1.基于塊和基于文本編程
圖靈獎獲得者迪科斯徹(Dijkstra)強調(diào),我們使用的工具正在塑造我們對事物的認知能力,這一原則能夠遷移到編程模式對學生思維方面的影響上,因此,如何運用編程工具的ddc3342ac6b9ee3514bd6a86d4e5a583模式是編程教育工作者需要考慮的一個關(guān)鍵因素?;趬K和基于文本編程在中小學編程教育中被廣泛使用,基于塊編程利用原始的拼圖法(programming-primitive-as-puzzle-piece)使得編程行為更為簡易和直觀,從而簡化使用并避免語法錯誤,對于新手學習者來說十分友好,如Blockly、Alice等多個基于塊編程平臺旨在通過降低語法復雜性來降低編程學習的難度。由于具有這些優(yōu)勢,基于塊編程被認為是新手學習者開展入門編程學習的首選。相較而言,尤其是對已經(jīng)具備理解文本代碼語法和邏輯能力的高階學習者來說,基于文本編程更受歡迎,他們認為基于文本編程在其編程過程中更加接近真實的產(chǎn)業(yè)應用場景并且功能更加強大?;谖谋揪幊烫峁┝烁唠A編程學習和參與專業(yè)工作的機會,而這些可能是基于塊編程無法實現(xiàn)的。然而,在基于文本編程學習的過程中,學習者經(jīng)常遇到語法錯誤以及感受到挫敗感,導致相關(guān)課程的輟學率更高。因此,研究者嘗試采用各種教學策略來提高學生對基于文本編程的學習興趣和學習動力。[5]
2.計算思維與編程教育
計算思維(Computational Thinking)的概念可分為特定領(lǐng)域的定義以及通用領(lǐng)域的定義。前者涉及解決計算機科學或編程中專業(yè)問題的知識和技能,如周以真教授指出,計算思維是運用計算機科學的基礎(chǔ)概念進行問題解決、系統(tǒng)設(shè)計,以及理解人類行為的思維過程[6],特定領(lǐng)域的計算思維可以采用Dr.Scratch或Bebras測試等工具進行評估;后者將計算思維視為通用問題解決方面的能力,受到更高層次的元認知技能調(diào)節(jié),包含創(chuàng)造力、算法思維、批判性思維、問題解決能力和協(xié)作能力等,已有研究人員開發(fā)了成熟的量表對學生進行評估。[7]已有的關(guān)于不同編程模式教學效果的研究通常對學習者的知識掌握程度進行評估,而較少關(guān)注學習者的高階思維能力發(fā)展。因此,在探究不同編程模式的差異時,計算思維是一個重要的考慮因素。
可見,探究基于塊編程和基于文本編程對學習者編程學習的影響是一個重要的研究課題。因此,本研究將通過采集學習者在基于塊和基于文本編程學習過程中的細粒度數(shù)據(jù),來分析不同編程模式對其編程行為和計算思維水平的影響。
方法
1.研究目的和問題
本研究旨在通過在中學開展準實驗研究,收集包括學習日志和計算思維測試在內(nèi)的數(shù)據(jù),并使用統(tǒng)計分析和聚類分析等方法來比較學習者在基于塊和基于文本編程過程中的編程行為和計算思維水平。研究結(jié)果將為未來的計算機編程教學提供策略上借鑒和啟示。具體的研究問題是:
研究問題1:學習者在基于塊和基于文本編程學習過程中的編程行為存在什么差異?
研究問題2:學習者在基于塊和基于文本編程學習中的計算思維水平存在什么差異?
2.教育背景
研究在2020年秋季學期的信息技術(shù)課中進行,采用準實驗設(shè)計的方式探究學習者在基于塊和基于文本編程中的編程行為和計算思維水平的差異。BPM班和TPM班均有32名學習者。學生年齡在13歲左右,他們中的大多數(shù)人沒有接受過正式的編程教育。課程由同一位教師開展授課,教師在兩種模式下保持相似的教學風格,向?qū)W習者提供相同主題的教學材料(內(nèi)容通過BPM或TPM的形式呈現(xiàn)),并在每個班級開展相同的教學實踐。
該課程包括三個階段和六個教學課時,每個課程持續(xù)45分鐘。第一階段教師介紹了編程基礎(chǔ)知識以及基于塊或基于文本編程的概念。第二階段教師在指定的編程模式中使用順序、選擇、循環(huán)和函數(shù)結(jié)構(gòu)開展編程教學。第三階段是一系列綜合項目,旨在測試學習者在第二階段學習的編程知識和技能。研究使用的平臺是自我改編的Code4all(如下頁圖1)平臺,這是一個由PencilCode開發(fā)的環(huán)境,同時支持基于塊和基于文本編程。但是,與PencilCode不同的是,為了便于研究的開展,Code4all不允許學習者切換基于塊或基于文本編程的界面。因此,BPM學習者通過拖拽編程塊進行編程,而TPM學習者采用逐字輸入的形式進行代碼編寫。除了編程模式之外,平臺其他元素均是相同的,包括功能菜單、界面和環(huán)境腳手架。
3.數(shù)據(jù)收集
為了解學習者的編程學習表現(xiàn),研究收集了平臺日志和學生的計算思維測試數(shù)據(jù)。計算思維測試工具改編自科爾克馬茲(Korkmaz)等人在2017年開發(fā)的計算思維量表(CTS)[8],包含五個因子(創(chuàng)造力、算法思維、合作性、批判性思維和問題解決能力)共計22個測試題目。值得注意的是,已有學者將該量表在中國中小學階段的學習者中進行了驗證。[9]
4.數(shù)據(jù)分析
研究采用統(tǒng)計分析和聚類分析等多種方法考察了BPM和TPM對學習者編程學習效果的影響。首先,研究根據(jù)提取的變量和前人的研究[10]確定了五種編程行為:平均代碼更改次數(shù)(AnC)、無關(guān)行為次數(shù)(NoIB)、調(diào)試次數(shù)(NoD)、兩次調(diào)試之間的平均時間(AtD)和錯誤次數(shù)(NoE)。值得注意的是,盡管學習者以不同的編程模式進行編程,但Code4all平臺記錄的編碼均為文本格式。研究采用描述性統(tǒng)計呈現(xiàn)了BPM和TPM學習者編程行為分布的總體情況,為了從復雜的數(shù)據(jù)中發(fā)現(xiàn)隱藏的模式,研究進一步采用學習者日志數(shù)據(jù)進行聚類,并在每個聚類中分析學習者的編程行為。筆者采用了經(jīng)典的K-means算法,該算法包括最佳聚類數(shù)量選擇、變量選擇、數(shù)據(jù)標準化和初始聚類中心選擇,研究采用RapidMiner和Python來進行聚類。[11]此外,研究采用獨立樣本T檢驗來分析BPM和TPM學生在計算思維水平上的差異。
結(jié)論
1.兩種模式下學習者的編程行為
表1的結(jié)果顯示,在兩種編程模式下,學習者的編程行為存在明顯差異。其中,TPM學習者遇到的語法錯誤(NoE:M=8.81,SD=20.17)多于BPM學習者(NoE:M=4.97,SD=5.31)。學習者在TPM中兩次點擊調(diào)試按鈕所花費的平均時間(AtD:M=84.74,SD=83.35)幾乎是BPM中學習者的兩倍(AtD:M=46.97,SD=32.19)。此外,學習者在BPM中的平均代碼更改次數(shù)(AnC:M=25.80,SD=15.93)略高于在TPM中的平均代碼更改次數(shù)(AnC:M=24.81,SD=39.33)。BPM學習者點擊調(diào)試按鈕的次數(shù)(NoD:M=37.73,SD=20.25)高于TPM學習者點擊調(diào)試按鈕的次數(shù)(NoD:M=32.03,SD=43.06)。BPM學習者的無關(guān)行為(NoIB:M=35.20,SD=24.06)多于TPM學習者的無關(guān)行為(NoIB:M=25.53,SD=17.26)。
為了進一步探究學習者在兩種編程模式下的學習行為差異,筆者利用表1中的數(shù)據(jù)對學習者進行了聚類。以往的研究發(fā)現(xiàn),利用編程課程的細粒度行為數(shù)據(jù)可以抽取出一定的模式。在本研究中,K-means聚類在第10次迭代時達到了收斂,k=5為最佳值,輪廓系數(shù)最高(0.57)。因此,所有學習者被分成五個聚類,其中23.44%的學習者被分配到第1個聚類,20.31%的學習者被分配到第2個聚類,3.12%的學習者被分配到第3個聚類,6.25%的學習者被分配到第4個聚類,46.88%的學習者被分配到第5個聚類。
比較五個聚類的特征可以發(fā)現(xiàn),聚類1被標識為“代碼修改者”,他們的代碼修改次數(shù)(AnC:M=44.53,SD=10.69)和調(diào)試點擊次數(shù)(NoD:M=60.73,SD=11.28)在五個聚類中排名第二,無關(guān)行為次數(shù)(NoIB:M=23.73,SD=12.09)在五個聚類中排名第二,錯誤次數(shù)(NoE:M=10.67,SD=7.89)在五個聚類中排名中等。根據(jù)聚類分析發(fā)現(xiàn),有5名TPM學生和10名BPM學生被歸入該聚類。聚類2被標識為“最少調(diào)試者”,學生兩次點擊調(diào)試的時間間隔最長(AtD:M=174.43,SD=72.95),代碼更改頻率(AnC:M=4.00,SD=2.45)、點擊調(diào)試次數(shù)(NoD:M=7.69,SD=3.73)和錯誤次數(shù)(NoE:M=0.38,SD=0.62)最低。根據(jù)聚類分析結(jié)果,該聚類包括10名TPM學生和3名BPM學生。此外,2名TPM學生被分配到聚類3,該群組被標識為“最多調(diào)試者”,他們的代碼更改次數(shù)(AnC:M=162.00,SD=35.00)和調(diào)試次數(shù)(NoD:M=179.50,SD=40.50)在五個聚類中最高,他們遇到的錯誤次數(shù)(NoE:M=82.00,SD=14.00)在五個聚類中最高,而無關(guān)行為的數(shù)量(NoIB:M=14.78,SD=10.78)在五個聚類中最少。第4組被標識為“分心編程者”,其無關(guān)行為最多(NoIB:M=84.25,SD=11.09),調(diào)試次數(shù)少(NoD:M=10.00,SD=11.47),錯誤發(fā)生次數(shù)中等(NoE:M=11.75,SD=3.47)。該聚類包括2名TPM學生和2名BPM學生。聚類5被認定為“平均表現(xiàn)者”,其代碼更改頻率、調(diào)試次數(shù)、錯誤次數(shù)、無關(guān)行為以及兩次點擊調(diào)試之間的時間間隔在五個聚類中處于平均水平。
2.兩種編程模式下學習者的計算思維水平差異
TPM和BPM學習者在研究干預前的計算思維水平?jīng)]有顯著差異(創(chuàng)造力:p=0.286;算法思維:p=0.185;合作能力:p=0.217;批判性思維:p=0.067;問題解決能力:p=0.095;整體計算思維技能:p=0.941)。在研究干預后,BPM學習者在算法思維(t=3.23,p=0.002)、合作能力(t=-2.11,p=0.038)、問題解決能力(t=-2.72,p=0.008)和總體計算思維水平(t=-2.58,p=0.012)方面均顯著優(yōu)于TPM學習者(如下頁表2)。
討論
隨著編程教育的日益普及,探究學習者如何在兩種典型編程模式(基于塊和基于文本編程)下開展學習的研究逐漸受到重視。本研究通過收集多模態(tài)數(shù)據(jù)分析兩種編程模式中學習者的編程行為和計算思維水平。針對研究問題1,本研究發(fā)現(xiàn),基于文本編程模式中的學習者遇到了更多語法錯誤,調(diào)試的時間間隔更長;基于塊編程模式中的學習者在代碼修改(操作編程塊和調(diào)整參數(shù))上花費了更多的時間,并進行了更頻繁的調(diào)試,然而也存在更多的無關(guān)行為?;趯W習者的編程行為,本研究揭示了基于學生編程行為的五個聚類,包括代碼修改者、最少調(diào)試者、最多調(diào)試者、分心編程者和平均表現(xiàn)者。因此,針對不同類型的學習者,教師應當提供切實的教學干預和學習支架來對其進行引導。[5]
針對不同編程模式中學習者的計算思維水平分析表明,基于塊編程模式中的學習者在算法思維、合作能力和整體計算思維能力方面表現(xiàn)顯著優(yōu)于基于文本編程模式中的學習者。究其原因,基于塊編程模式開發(fā)的編程平臺或系統(tǒng)(如Scratch或Blockly)能夠讓學習者看到更為直觀的編程效果,有助于學習者理解基本編程概念和發(fā)展算法思維。此外,這類平臺提供了一定的輔助工具來促進計算思維的發(fā)展,如編程平臺討論區(qū)承載的溝通、合作和社交技能等功能。需要注意的是,從長遠開展編程學習的角度來看,基于塊編程模式開發(fā)的平臺依賴于預先構(gòu)建的代碼塊,可能會限制其能夠解決問題的難度。盡管學習者可能會遇到更多的語法問題,但基于文本編程語言(如Python)需要學習者靈活運用各種問題解決方式,自主編寫代碼并進行調(diào)試,這對發(fā)展學習者的計算思維和提升學習者的解決問題能力具有至關(guān)重要的影響,如促使學習者更深入地理解編程概念,并熟練地剖析和解決編程問題。[12]
結(jié)語
深入探究不同編程模式的差異能夠為編程教育的開展和學習者的計算思維水平提升等提供堅實的理論和實踐基礎(chǔ)。這項在中學進行的準實驗研究比較了基于塊和基于文本編程模式對學習者編程行為和計算思維水平的影響,并針對研究發(fā)現(xiàn)進行了深入的探討。然而,本研究仍存在一定的局限:一是研究樣本的代表性不足;二是研究采用問卷的形式收集計算思維數(shù)據(jù),而不同的學生對量表中內(nèi)容的理解和感知情況可能存在一定的差異;三是多模態(tài)數(shù)據(jù)的采集維度不夠豐富。因此,未來研究將拓展研究對象,采用混合數(shù)據(jù)分析的方法來對定性和定量數(shù)據(jù)進行協(xié)同分析,以深入研究學習者在基于塊和基于文本編程學習過程中的行為、認知、元認知和社交活動。整體而言,本研究探討了基于塊與基于文本編程模式的差異,為有效開展中小學編程教育和提升學習者的計算思維水平提供了寶貴的經(jīng)驗。
參考文獻:
[1]孫丹,李艷.國內(nèi)外青少年編程教育的發(fā)展現(xiàn)狀、研究熱點及啟示——兼論智能時代我國編程教育的實施策略[J].遠程教育雜志,2019,37(03):47-60.
[2]Jocius,Robin,O’Byrne,W.Ian,ect.Infusing computational thinking into STEM teaching:From professional development to classroom practice[J].Educational Technology & Society,2021,24(04):166-179.
[3]Weintrop,David,Wilensky,ect.Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms[J].Computers&Education,201,9142(103646):1-17.
[4]Grover,Shuchi.Teaching and assessing for transfer from block-to-text programming in middle school computer science[C].Transfer of learning,Transfer of learning.Research in mathematics education.2021,Springer,Cham.
[5]Sun,Dan,Ouyang,ect.Three contrasting pairs’collaborative programming processes in China’s secondary education[J].Journal of Educational Computing Research,2021(08):54.
[6]Wing,Jeannette(2014).Computational thinking benefits society[EB/OL].http://socialissues.cs.toronto.edu/index.html.
[7]Román-González,Marcos,Pérez-González,ect.Which cognitive abilities underlie computational thinking? Criterion validity of the computational thinking test[J].Computers in Human Behavior,2017,72:678-691.
[8]Korkmaz,zgen,akir,ect.A validity and reliability study of the computational thinking scales(CTS)[J].Computers in Human Behavior,2017,72:558-569.
[9]白雪梅,顧小清.K12階段學生計算思維評價工具構(gòu)建與應用[J].中國電化教育,2019(10):83-90.
[10]Pereira,F(xiàn)ilipe D.,Oliveira,ect.Using learning analytics in the Amazonas:Understanding students’behaviour in introductory programming[J].British Journal of Educational Technology,2020,51(04):955-972.
[11]Rousseeuw,Peter J.Silhouettes:A graphical aid to the interpretation and validation of cluster analysis[J].Journal of Computational and Applied Mathematics,1987,20:530–65.
[12]K?lling,Michael,Brown,ect.Proceedings of the workshop in primary and secondary computing education[C].ACM,2015,29-38.
第一作者簡介:戚展研(2005.6—),女,漢族,浙江杭州人,本科生,研究方向為人工智能教育。
基金項目:2023年國家自然科學基金青年項目“基于多模態(tài)知識圖譜的青少年編程學習自適應推薦及關(guān)鍵技術(shù)研究”(項目編號:62307011)。