摘要:在計(jì)算素養(yǎng)至關(guān)重要的時(shí)代,全球許多中小學(xué)校均在強(qiáng)調(diào)編程教育的重要性?;趬K(BPM)和基于文本編程(TPM)是編程教學(xué)中最主要的兩種編程模式,然而鮮有研究從學(xué)習(xí)過程和學(xué)習(xí)結(jié)果相結(jié)合的角度探究這兩種編程模式的差異,本研究旨在通過準(zhǔn)實(shí)驗(yàn)設(shè)計(jì),比較中學(xué)生在這兩種模式下的編程行為和計(jì)算思維水平。研究發(fā)現(xiàn):①TPM學(xué)習(xí)者遇到了更多的語法錯誤,調(diào)試時(shí)間間隔更長,相比之下,BPM學(xué)習(xí)者通過調(diào)整編程塊進(jìn)行更多的代碼修改,進(jìn)行更多次調(diào)試,并表現(xiàn)出更多的無關(guān)行為;②BPM學(xué)習(xí)者在計(jì)算思維水平上顯著優(yōu)于TPM學(xué)習(xí)者;③通過對學(xué)生在兩種編程模式下的行為分析,識別出了代碼修改者、最少調(diào)試者、最多調(diào)試者、分心編程者和平均表現(xiàn)者五類學(xué)生。最后,研究根據(jù)結(jié)果討論了相關(guān)的教育啟示。
關(guān)鍵詞:基于文本編程模式;基于塊編程模式;計(jì)算思維;編程行為
中圖分類號:G434 文獻(xiàn)標(biāo)識碼:A 論文編號:1674-2117(2024)14-0009-06
引言
計(jì)算思維是21世紀(jì)中小學(xué)生不可或缺的一項(xiàng)能力,中國、美國和英國等國家已將編程教育納入其中小學(xué)課程[1],編程主要采用兩種核心方法:基于塊編程模式(BPM)和基于文本編程模式(TPM)。[2]BPM利用視覺輔助工具,使其更容易被初學(xué)者所接受,而TPM可以輔助學(xué)習(xí)者完成專業(yè)的編程任務(wù)。[3]已有研究盡管評估了學(xué)生在學(xué)習(xí)BPM和TPM方面的差異,但缺乏從學(xué)習(xí)過程的角度探究不同編程模式如何影響編程學(xué)習(xí)效果的研究,因此,了解每種模式各自的特征以及它們?nèi)绾斡行У卮龠M(jìn)學(xué)生的學(xué)習(xí)至關(guān)重要。[4]本研究旨在通過研究中學(xué)生在兩種模式中的編程行為和計(jì)算思維水平,來評估編程模式對編程學(xué)習(xí)效果的影響,相關(guān)研究發(fā)現(xiàn)它可以指導(dǎo)教育工作者設(shè)計(jì)更有效的教學(xué)方法,以提升學(xué)生的編程技能,發(fā)展學(xué)生的計(jì)算思維。
文獻(xiàn)綜述
1.基于塊和基于文本編程
圖靈獎獲得者迪科斯徹(Dijkstra)強(qiáng)調(diào),我們使用的工具正在塑造我們對事物的認(rèn)知能力,這一原則能夠遷移到編程模式對學(xué)生思維方面的影響上,因此,如何運(yùn)用編程工具的ddc3342ac6b9ee3514bd6a86d4e5a583模式是編程教育工作者需要考慮的一個(gè)關(guān)鍵因素?;趬K和基于文本編程在中小學(xué)編程教育中被廣泛使用,基于塊編程利用原始的拼圖法(programming-primitive-as-puzzle-piece)使得編程行為更為簡易和直觀,從而簡化使用并避免語法錯誤,對于新手學(xué)習(xí)者來說十分友好,如Blockly、Alice等多個(gè)基于塊編程平臺旨在通過降低語法復(fù)雜性來降低編程學(xué)習(xí)的難度。由于具有這些優(yōu)勢,基于塊編程被認(rèn)為是新手學(xué)習(xí)者開展入門編程學(xué)習(xí)的首選。相較而言,尤其是對已經(jīng)具備理解文本代碼語法和邏輯能力的高階學(xué)習(xí)者來說,基于文本編程更受歡迎,他們認(rèn)為基于文本編程在其編程過程中更加接近真實(shí)的產(chǎn)業(yè)應(yīng)用場景并且功能更加強(qiáng)大?;谖谋揪幊烫峁┝烁唠A編程學(xué)習(xí)和參與專業(yè)工作的機(jī)會,而這些可能是基于塊編程無法實(shí)現(xiàn)的。然而,在基于文本編程學(xué)習(xí)的過程中,學(xué)習(xí)者經(jīng)常遇到語法錯誤以及感受到挫敗感,導(dǎo)致相關(guān)課程的輟學(xué)率更高。因此,研究者嘗試采用各種教學(xué)策略來提高學(xué)生對基于文本編程的學(xué)習(xí)興趣和學(xué)習(xí)動力。[5]
2.計(jì)算思維與編程教育
計(jì)算思維(Computational Thinking)的概念可分為特定領(lǐng)域的定義以及通用領(lǐng)域的定義。前者涉及解決計(jì)算機(jī)科學(xué)或編程中專業(yè)問題的知識和技能,如周以真教授指出,計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題解決、系統(tǒng)設(shè)計(jì),以及理解人類行為的思維過程[6],特定領(lǐng)域的計(jì)算思維可以采用Dr.Scratch或Bebras測試等工具進(jìn)行評估;后者將計(jì)算思維視為通用問題解決方面的能力,受到更高層次的元認(rèn)知技能調(diào)節(jié),包含創(chuàng)造力、算法思維、批判性思維、問題解決能力和協(xié)作能力等,已有研究人員開發(fā)了成熟的量表對學(xué)生進(jìn)行評估。[7]已有的關(guān)于不同編程模式教學(xué)效果的研究通常對學(xué)習(xí)者的知識掌握程度進(jìn)行評估,而較少關(guān)注學(xué)習(xí)者的高階思維能力發(fā)展。因此,在探究不同編程模式的差異時(shí),計(jì)算思維是一個(gè)重要的考慮因素。
可見,探究基于塊編程和基于文本編程對學(xué)習(xí)者編程學(xué)習(xí)的影響是一個(gè)重要的研究課題。因此,本研究將通過采集學(xué)習(xí)者在基于塊和基于文本編程學(xué)習(xí)過程中的細(xì)粒度數(shù)據(jù),來分析不同編程模式對其編程行為和計(jì)算思維水平的影響。
方法
1.研究目的和問題
本研究旨在通過在中學(xué)開展準(zhǔn)實(shí)驗(yàn)研究,收集包括學(xué)習(xí)日志和計(jì)算思維測試在內(nèi)的數(shù)據(jù),并使用統(tǒng)計(jì)分析和聚類分析等方法來比較學(xué)習(xí)者在基于塊和基于文本編程過程中的編程行為和計(jì)算思維水平。研究結(jié)果將為未來的計(jì)算機(jī)編程教學(xué)提供策略上借鑒和啟示。具體的研究問題是:
研究問題1:學(xué)習(xí)者在基于塊和基于文本編程學(xué)習(xí)過程中的編程行為存在什么差異?
研究問題2:學(xué)習(xí)者在基于塊和基于文本編程學(xué)習(xí)中的計(jì)算思維水平存在什么差異?
2.教育背景
研究在2020年秋季學(xué)期的信息技術(shù)課中進(jìn)行,采用準(zhǔn)實(shí)驗(yàn)設(shè)計(jì)的方式探究學(xué)習(xí)者在基于塊和基于文本編程中的編程行為和計(jì)算思維水平的差異。BPM班和TPM班均有32名學(xué)習(xí)者。學(xué)生年齡在13歲左右,他們中的大多數(shù)人沒有接受過正式的編程教育。課程由同一位教師開展授課,教師在兩種模式下保持相似的教學(xué)風(fēng)格,向?qū)W習(xí)者提供相同主題的教學(xué)材料(內(nèi)容通過BPM或TPM的形式呈現(xiàn)),并在每個(gè)班級開展相同的教學(xué)實(shí)踐。
該課程包括三個(gè)階段和六個(gè)教學(xué)課時(shí),每個(gè)課程持續(xù)45分鐘。第一階段教師介紹了編程基礎(chǔ)知識以及基于塊或基于文本編程的概念。第二階段教師在指定的編程模式中使用順序、選擇、循環(huán)和函數(shù)結(jié)構(gòu)開展編程教學(xué)。第三階段是一系列綜合項(xiàng)目,旨在測試學(xué)習(xí)者在第二階段學(xué)習(xí)的編程知識和技能。研究使用的平臺是自我改編的Code4all(如下頁圖1)平臺,這是一個(gè)由PencilCode開發(fā)的環(huán)境,同時(shí)支持基于塊和基于文本編程。但是,與PencilCode不同的是,為了便于研究的開展,Code4all不允許學(xué)習(xí)者切換基于塊或基于文本編程的界面。因此,BPM學(xué)習(xí)者通過拖拽編程塊進(jìn)行編程,而TPM學(xué)習(xí)者采用逐字輸入的形式進(jìn)行代碼編寫。除了編程模式之外,平臺其他元素均是相同的,包括功能菜單、界面和環(huán)境腳手架。
3.數(shù)據(jù)收集
為了解學(xué)習(xí)者的編程學(xué)習(xí)表現(xiàn),研究收集了平臺日志和學(xué)生的計(jì)算思維測試數(shù)據(jù)。計(jì)算思維測試工具改編自科爾克馬茲(Korkmaz)等人在2017年開發(fā)的計(jì)算思維量表(CTS)[8],包含五個(gè)因子(創(chuàng)造力、算法思維、合作性、批判性思維和問題解決能力)共計(jì)22個(gè)測試題目。值得注意的是,已有學(xué)者將該量表在中國中小學(xué)階段的學(xué)習(xí)者中進(jìn)行了驗(yàn)證。[9]
4.數(shù)據(jù)分析
研究采用統(tǒng)計(jì)分析和聚類分析等多種方法考察了BPM和TPM對學(xué)習(xí)者編程學(xué)習(xí)效果的影響。首先,研究根據(jù)提取的變量和前人的研究[10]確定了五種編程行為:平均代碼更改次數(shù)(AnC)、無關(guān)行為次數(shù)(NoIB)、調(diào)試次數(shù)(NoD)、兩次調(diào)試之間的平均時(shí)間(AtD)和錯誤次數(shù)(NoE)。值得注意的是,盡管學(xué)習(xí)者以不同的編程模式進(jìn)行編程,但Code4all平臺記錄的編碼均為文本格式。研究采用描述性統(tǒng)計(jì)呈現(xiàn)了BPM和TPM學(xué)習(xí)者編程行為分布的總體情況,為了從復(fù)雜的數(shù)據(jù)中發(fā)現(xiàn)隱藏的模式,研究進(jìn)一步采用學(xué)習(xí)者日志數(shù)據(jù)進(jìn)行聚類,并在每個(gè)聚類中分析學(xué)習(xí)者的編程行為。筆者采用了經(jīng)典的K-means算法,該算法包括最佳聚類數(shù)量選擇、變量選擇、數(shù)據(jù)標(biāo)準(zhǔn)化和初始聚類中心選擇,研究采用RapidMiner和Python來進(jìn)行聚類。[11]此外,研究采用獨(dú)立樣本T檢驗(yàn)來分析BPM和TPM學(xué)生在計(jì)算思維水平上的差異。
結(jié)論
1.兩種模式下學(xué)習(xí)者的編程行為
表1的結(jié)果顯示,在兩種編程模式下,學(xué)習(xí)者的編程行為存在明顯差異。其中,TPM學(xué)習(xí)者遇到的語法錯誤(NoE:M=8.81,SD=20.17)多于BPM學(xué)習(xí)者(NoE:M=4.97,SD=5.31)。學(xué)習(xí)者在TPM中兩次點(diǎn)擊調(diào)試按鈕所花費(fèi)的平均時(shí)間(AtD:M=84.74,SD=83.35)幾乎是BPM中學(xué)習(xí)者的兩倍(AtD:M=46.97,SD=32.19)。此外,學(xué)習(xí)者在BPM中的平均代碼更改次數(shù)(AnC:M=25.80,SD=15.93)略高于在TPM中的平均代碼更改次數(shù)(AnC:M=24.81,SD=39.33)。BPM學(xué)習(xí)者點(diǎn)擊調(diào)試按鈕的次數(shù)(NoD:M=37.73,SD=20.25)高于TPM學(xué)習(xí)者點(diǎn)擊調(diào)試按鈕的次數(shù)(NoD:M=32.03,SD=43.06)。BPM學(xué)習(xí)者的無關(guān)行為(NoIB:M=35.20,SD=24.06)多于TPM學(xué)習(xí)者的無關(guān)行為(NoIB:M=25.53,SD=17.26)。
為了進(jìn)一步探究學(xué)習(xí)者在兩種編程模式下的學(xué)習(xí)行為差異,筆者利用表1中的數(shù)據(jù)對學(xué)習(xí)者進(jìn)行了聚類。以往的研究發(fā)現(xiàn),利用編程課程的細(xì)粒度行為數(shù)據(jù)可以抽取出一定的模式。在本研究中,K-means聚類在第10次迭代時(shí)達(dá)到了收斂,k=5為最佳值,輪廓系數(shù)最高(0.57)。因此,所有學(xué)習(xí)者被分成五個(gè)聚類,其中23.44%的學(xué)習(xí)者被分配到第1個(gè)聚類,20.31%的學(xué)習(xí)者被分配到第2個(gè)聚類,3.12%的學(xué)習(xí)者被分配到第3個(gè)聚類,6.25%的學(xué)習(xí)者被分配到第4個(gè)聚類,46.88%的學(xué)習(xí)者被分配到第5個(gè)聚類。
比較五個(gè)聚類的特征可以發(fā)現(xiàn),聚類1被標(biāo)識為“代碼修改者”,他們的代碼修改次數(shù)(AnC:M=44.53,SD=10.69)和調(diào)試點(diǎn)擊次數(shù)(NoD:M=60.73,SD=11.28)在五個(gè)聚類中排名第二,無關(guān)行為次數(shù)(NoIB:M=23.73,SD=12.09)在五個(gè)聚類中排名第二,錯誤次數(shù)(NoE:M=10.67,SD=7.89)在五個(gè)聚類中排名中等。根據(jù)聚類分析發(fā)現(xiàn),有5名TPM學(xué)生和10名BPM學(xué)生被歸入該聚類。聚類2被標(biāo)識為“最少調(diào)試者”,學(xué)生兩次點(diǎn)擊調(diào)試的時(shí)間間隔最長(AtD:M=174.43,SD=72.95),代碼更改頻率(AnC:M=4.00,SD=2.45)、點(diǎn)擊調(diào)試次數(shù)(NoD:M=7.69,SD=3.73)和錯誤次數(shù)(NoE:M=0.38,SD=0.62)最低。根據(jù)聚類分析結(jié)果,該聚類包括10名TPM學(xué)生和3名BPM學(xué)生。此外,2名TPM學(xué)生被分配到聚類3,該群組被標(biāo)識為“最多調(diào)試者”,他們的代碼更改次數(shù)(AnC:M=162.00,SD=35.00)和調(diào)試次數(shù)(NoD:M=179.50,SD=40.50)在五個(gè)聚類中最高,他們遇到的錯誤次數(shù)(NoE:M=82.00,SD=14.00)在五個(gè)聚類中最高,而無關(guān)行為的數(shù)量(NoIB:M=14.78,SD=10.78)在五個(gè)聚類中最少。第4組被標(biāo)識為“分心編程者”,其無關(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學(xué)生和2名BPM學(xué)生。聚類5被認(rèn)定為“平均表現(xiàn)者”,其代碼更改頻率、調(diào)試次數(shù)、錯誤次數(shù)、無關(guān)行為以及兩次點(diǎn)擊調(diào)試之間的時(shí)間間隔在五個(gè)聚類中處于平均水平。
2.兩種編程模式下學(xué)習(xí)者的計(jì)算思維水平差異
TPM和BPM學(xué)習(xí)者在研究干預(yù)前的計(jì)算思維水平?jīng)]有顯著差異(創(chuàng)造力:p=0.286;算法思維:p=0.185;合作能力:p=0.217;批判性思維:p=0.067;問題解決能力:p=0.095;整體計(jì)算思維技能:p=0.941)。在研究干預(yù)后,BPM學(xué)習(xí)者在算法思維(t=3.23,p=0.002)、合作能力(t=-2.11,p=0.038)、問題解決能力(t=-2.72,p=0.008)和總體計(jì)算思維水平(t=-2.58,p=0.012)方面均顯著優(yōu)于TPM學(xué)習(xí)者(如下頁表2)。
討論
隨著編程教育的日益普及,探究學(xué)習(xí)者如何在兩種典型編程模式(基于塊和基于文本編程)下開展學(xué)習(xí)的研究逐漸受到重視。本研究通過收集多模態(tài)數(shù)據(jù)分析兩種編程模式中學(xué)習(xí)者的編程行為和計(jì)算思維水平。針對研究問題1,本研究發(fā)現(xiàn),基于文本編程模式中的學(xué)習(xí)者遇到了更多語法錯誤,調(diào)試的時(shí)間間隔更長;基于塊編程模式中的學(xué)習(xí)者在代碼修改(操作編程塊和調(diào)整參數(shù))上花費(fèi)了更多的時(shí)間,并進(jìn)行了更頻繁的調(diào)試,然而也存在更多的無關(guān)行為?;趯W(xué)習(xí)者的編程行為,本研究揭示了基于學(xué)生編程行為的五個(gè)聚類,包括代碼修改者、最少調(diào)試者、最多調(diào)試者、分心編程者和平均表現(xiàn)者。因此,針對不同類型的學(xué)習(xí)者,教師應(yīng)當(dāng)提供切實(shí)的教學(xué)干預(yù)和學(xué)習(xí)支架來對其進(jìn)行引導(dǎo)。[5]
針對不同編程模式中學(xué)習(xí)者的計(jì)算思維水平分析表明,基于塊編程模式中的學(xué)習(xí)者在算法思維、合作能力和整體計(jì)算思維能力方面表現(xiàn)顯著優(yōu)于基于文本編程模式中的學(xué)習(xí)者。究其原因,基于塊編程模式開發(fā)的編程平臺或系統(tǒng)(如Scratch或Blockly)能夠讓學(xué)習(xí)者看到更為直觀的編程效果,有助于學(xué)習(xí)者理解基本編程概念和發(fā)展算法思維。此外,這類平臺提供了一定的輔助工具來促進(jìn)計(jì)算思維的發(fā)展,如編程平臺討論區(qū)承載的溝通、合作和社交技能等功能。需要注意的是,從長遠(yuǎn)開展編程學(xué)習(xí)的角度來看,基于塊編程模式開發(fā)的平臺依賴于預(yù)先構(gòu)建的代碼塊,可能會限制其能夠解決問題的難度。盡管學(xué)習(xí)者可能會遇到更多的語法問題,但基于文本編程語言(如Python)需要學(xué)習(xí)者靈活運(yùn)用各種問題解決方式,自主編寫代碼并進(jìn)行調(diào)試,這對發(fā)展學(xué)習(xí)者的計(jì)算思維和提升學(xué)習(xí)者的解決問題能力具有至關(guān)重要的影響,如促使學(xué)習(xí)者更深入地理解編程概念,并熟練地剖析和解決編程問題。[12]
結(jié)語
深入探究不同編程模式的差異能夠?yàn)榫幊探逃拈_展和學(xué)習(xí)者的計(jì)算思維水平提升等提供堅(jiān)實(shí)的理論和實(shí)踐基礎(chǔ)。這項(xiàng)在中學(xué)進(jìn)行的準(zhǔn)實(shí)驗(yàn)研究比較了基于塊和基于文本編程模式對學(xué)習(xí)者編程行為和計(jì)算思維水平的影響,并針對研究發(fā)現(xiàn)進(jìn)行了深入的探討。然而,本研究仍存在一定的局限:一是研究樣本的代表性不足;二是研究采用問卷的形式收集計(jì)算思維數(shù)據(jù),而不同的學(xué)生對量表中內(nèi)容的理解和感知情況可能存在一定的差異;三是多模態(tài)數(shù)據(jù)的采集維度不夠豐富。因此,未來研究將拓展研究對象,采用混合數(shù)據(jù)分析的方法來對定性和定量數(shù)據(jù)進(jìn)行協(xié)同分析,以深入研究學(xué)習(xí)者在基于塊和基于文本編程學(xué)習(xí)過程中的行為、認(rèn)知、元認(rèn)知和社交活動。整體而言,本研究探討了基于塊與基于文本編程模式的差異,為有效開展中小學(xué)編程教育和提升學(xué)習(xí)者的計(jì)算思維水平提供了寶貴的經(jīng)驗(yàn)。
參考文獻(xiàn):
[1]孫丹,李艷.國內(nèi)外青少年編程教育的發(fā)展現(xiàn)狀、研究熱點(diǎn)及啟示——兼論智能時(shí)代我國編程教育的實(shí)施策略[J].遠(yuǎn)程教育雜志,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階段學(xué)生計(jì)算思維評價(jià)工具構(gòu)建與應(yīng)用[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—),女,漢族,浙江杭州人,本科生,研究方向?yàn)槿斯ぶ悄芙逃?/p>
基金項(xiàng)目:2023年國家自然科學(xué)基金青年項(xiàng)目“基于多模態(tài)知識圖譜的青少年編程學(xué)習(xí)自適應(yīng)推薦及關(guān)鍵技術(shù)研究”(項(xiàng)目編號:62307011)。