孫立會 王曉倩
摘要:對計算思維概念本質(zhì)與結(jié)構(gòu)框架的提煉是計算思維教授策略的基礎(chǔ)。文章以皮亞杰認知發(fā)展階段論的兒童思維發(fā)展邏輯為框架基礎(chǔ),劃分計算思維培養(yǎng)的四階段:實體感知與行為互動中的前計算思維階段、符號象征與任務(wù)驅(qū)動中的計算思維準備階段、邏輯推演與思維抽象中的計算思維形成階段及假設(shè)推理與形式運演中的計算思維發(fā)展階段。根據(jù)各階段兒童認知心理與行為特點的不同設(shè)定相應(yīng)的教學方式與策略:以實物感知與實體操作浸潤前計算思維階段、以邏輯任務(wù)與人機交互貫穿計算思維準備階段、以圖形化編程與計算參與助力計算思維形成階段、以學科領(lǐng)域延伸與深度邏輯推理滲透計算思維發(fā)展階段。
關(guān)鍵詞:計算思維;皮亞杰;培養(yǎng)階段;認知發(fā)展;教授方式
中圖分類號:G434
文獻標識碼:A
計算思維作為21世紀學生必備的一項技能,自提出以來便廣受各界關(guān)注。教育信息化蓬勃發(fā)展、智能教育如火如荼開展的先決條件為計算思維的教授與培養(yǎng)提供了良好的硬件環(huán)境與軟件基礎(chǔ)。外界商業(yè)刺激、面向未來社會人才需求都為計算思維的培養(yǎng)與發(fā)展提供了有力的外在助推,技術(shù)的魅力不在于技術(shù)本身而在于技術(shù)的使用,如何有效使用外在因素推動計算思維的內(nèi)在培養(yǎng)是目前教育領(lǐng)域迫切需要解決的問題。計算思維的提出最早可追溯到人工智能教育先驅(qū)西蒙·派珀特(Seymour Papert),而時至今日,人們對他的技術(shù)助學思想仍未徹底理解及有效踐行;周以真(Jeannette M.Wing)教授關(guān)于計算思維的新視界將計算思維推向了更為寬廣的研究與應(yīng)用領(lǐng)域,同時也將社會各界對計算思維的探討上升到思維認知層面。教育是裝備下一代勞動力的重要方式,課堂教學成為推廣普及計算思維的主陣地。而計算思維應(yīng)該教授什么、如何教授等方法策略層面的問題仍未深入開墾,有待深耕。如今,計算思維已不是一個新鮮的名詞,但其抽象性的內(nèi)涵本質(zhì)為其實踐推進帶來了諸多阻礙,如何將其與教學及生活實踐接軌以使計算思維從幕后走到臺前、從思維活動反射出行為活動,需要一定的教授方法作為樞紐。計算思維的培養(yǎng)不可一蹴而就,應(yīng)是逐漸推進的階段性過程。對計算思維培養(yǎng)進行階段劃分、明晰各階段的兒童思維特點及教授策略,是計算思維教授的先行之舉。
一、計算思維概念的產(chǎn)生及發(fā)展
對計算思維內(nèi)涵本質(zhì)的理解與提煉是實施相應(yīng)教授策略的前提與基礎(chǔ)。計算思維(ComputationalThinking,簡稱CT)的雛形見于麻省理工學院教授西蒙·派珀特1 980年的著作Mindstorms: Children,Computers,and Powerful Ideas中,在此,派珀特首次提出計算思維并將其闡述為兒童在通過計算機學習時所訓(xùn)練與培養(yǎng)的思維技能[1];2006年,周以真教授在美國計算機權(quán)威雜志Communieations of the ACM發(fā)表了Computational Thinking一文,以顛覆性的視角給計算思維以全新的定義,并奠定了之后計算思維研究與實踐的基調(diào)。周以真教授將計算思維定義為運用計算機科學基礎(chǔ)概念求解問題、設(shè)計系統(tǒng)和理解人類的行為,并描述了計算思維具有概念化、基礎(chǔ)化、以人類為思維主體、強調(diào)數(shù)學與工程思維的互補融合、強調(diào)思維特點及面向所有人及所有領(lǐng)域等六大特性[2]。這為計算思維賦予了思想高度的靈魂,由此引發(fā)了此后計算思維研究的熱潮;隨后幾年間周以真教授基于時代背景的更新及教育需求的變化不斷豐富與深化計算思維的理論及實踐內(nèi)涵;2008年,她將對計算思維的認識整合到科學、技術(shù)與社會三方驅(qū)動的背景之下,對計算思維內(nèi)涵的主要組成(如抽象與自動化等概念)進行了詳細探討,列舉了相關(guān)應(yīng)用領(lǐng)域的實施案例,體現(xiàn)出計算思維的“無所不在”性,并厘清了計算、計算技術(shù)以及計算思維的概念邊界,計算思維是希望學習者像計算機科學家一樣思考而不是像計算機一樣思考,應(yīng)該在利用好計算工具的同時更好地理解與踐行計算思維理念[3];2010年在智能人機協(xié)作時代前奏之下,周以真將計算思維闡述為制定問題及其解決方案所涉及的思維過程,以便于解決方案以一種可以有效地由信息處理代理執(zhí)行的形式來表示。這些解決方案可以由人、機器或人和機器結(jié)合的方式執(zhí)行[4]。 2011年,國際教育技術(shù)協(xié)會(ISTE)和計算機科學教師協(xié)會(CSTA)等制定了K-12教育中計算思維的操作性定義,認為計算思維作為解決問題的過程,具備但不限于以下特征:能夠使用計算機和其它工具來幫助解決問題;邏輯地組織和分析數(shù)據(jù);通過模型和模擬等抽象來表示數(shù)據(jù);通過算法思維自動化解決方案;確定、分析和實施可能的解決方案,實現(xiàn)步驟和資源最有效的組合;概括問題解決過程,并用于各種各樣的問題上。相對于其它的定義,操作性定義指出了培養(yǎng)計算思維的傾向性態(tài)度,包括:處理復(fù)雜性的信心;堅持不懈地處理困難問題;對歧義的容忍;處理開放式問題的能力;與他人溝通和合作以實現(xiàn)共同目標或解決方案的能力[5]。這從計算思維操作者的角度出發(fā),不僅將計算思維的聚焦點放在問題解決的過程,同時也關(guān)注了學習者的情感態(tài)度以及思維中的“人”性層面,為理解計算思維提供了不同的維度。
在此基礎(chǔ)之上,計算思維教育實踐逐步走向落地,各研究者對計算思維的教學框架與實踐推進進行了諸多探討,其中最具影響力的當屬伯南與雷斯尼克(Karen Brennan&Mitchel Resnick)基于兒童編程環(huán)境Scratch構(gòu)建的計算思維三維框架,框架分為三個維度,分別為計算概念:設(shè)計者在編程時所涉及的概念,包括序列、循環(huán)、并行性、事件、條件、運算符和數(shù)據(jù);計算實踐:設(shè)計者在創(chuàng)建項目時參與的設(shè)計實踐,包括增量和迭代、測試和調(diào)試、重用和再混合、以及抽象和模塊化;計算觀念:設(shè)計者對自己的不斷發(fā)展的理解,對自己與他人及世界的看法,包括表達、連接和提問[6]。該框架從概念內(nèi)容、實踐操作以及觀念延伸三個層面對計算思維的教學培養(yǎng)設(shè)定了層次路徑,成為此后諸多計算思維教學的理論支撐及實踐指導(dǎo);此外,不斷有研究者在此基礎(chǔ)之上進行擴充及延伸,阿斯特拉罕與布里格斯(Astrachan&Briggs)基于計算機科學原理構(gòu)建標準框架,解釋了六大計算思維實踐:連接計算、開發(fā)計算工件、分析問題和工件、抽象、通信和協(xié)作與七大計算機科學思想:創(chuàng)造力、抽象、數(shù)據(jù)和信息、算法、編程、互聯(lián)網(wǎng)和全球影響[7]。安吉莉(Angeli)等在K-6中探討計算思維,認為計算思維是一個利用抽象、概括、分解、算法思維和調(diào)試(檢測和糾正錯誤)元素的思維過程[8]。也有學者考慮到計算思維解決問題的靈活適用性,在跨學科的背景下定義計算思維[9]。賈拉勒(Jalal)等在計算思維技能之外確定了21世紀技能相關(guān)的一般技能,通過實證研究將認知技能和態(tài)度、語言技能、創(chuàng)造性問題解決的技能和態(tài)度、合作技能和態(tài)度等擴充到計算思維三維框架之中[10],使計算思維的理論內(nèi)核及延伸路向不斷清晰。
梳理歸納各界計算思維研究成果并非是期于得出計算思維具體確切的定義,但通過分析各研究主線及結(jié)論能夠發(fā)現(xiàn)其共同之處。因此,本研究從解決問題及培養(yǎng)技能兩層面來理解并提煉計算思維的內(nèi)核本質(zhì)及內(nèi)生結(jié)構(gòu),站在問題解決視角理解與描述計算思維,并將其細化到問題解決的具體過程之中(如圖1所示);同時基于人與問題兩大主體,對計算思維問題解決之外的技能培養(yǎng)分類劃歸(如圖2所示);基于國內(nèi)外相關(guān)研究,整理出問題解決與技能培養(yǎng)兩層結(jié)構(gòu)框架中具體內(nèi)容組成(如下頁表1所示),以期深刻理解計算思維本質(zhì)進而有效開展教學實踐活動。
通過分析發(fā)現(xiàn),計算思維的問題解決過程主要包括抽象、數(shù)據(jù)結(jié)構(gòu)、算法、循環(huán)與迭代、最優(yōu)化、測試、歸納與遷移:操作者提煉問題本質(zhì),忽略不必要的細節(jié),將復(fù)雜的問題情境加以抽象[11-13],依據(jù)關(guān)鍵變量將感性認識組織為計算可解的問題[14];而要深刻理解和解決問題,需要充分體現(xiàn)收集、表示和分析數(shù)據(jù)的過程[15];鄧肯(Duncan)等在設(shè)計小學生計算思維課程時,將算法、編程、數(shù)據(jù)表示、數(shù)字化設(shè)備、數(shù)字化應(yīng)用及人與計算機的關(guān)系作為思考課程內(nèi)容的基礎(chǔ)[16]。其中,數(shù)據(jù)表示即二進制編碼不同種的數(shù)據(jù)類型,算法即問題解決的程序化規(guī)劃。將問題轉(zhuǎn)化為可解決的問題的重點在于在問題中提取有效數(shù)據(jù)并進行模型建構(gòu)(數(shù)據(jù)結(jié)構(gòu)),研究數(shù)據(jù)的處理方法與操作步驟(算法)并獲取指令;算法思維作為解決問題的關(guān)鍵,是計算思維的核心組成結(jié)構(gòu),即用推理思維來獲取問題解決方案[17],可以用來解決學科交叉領(lǐng)域的問題[18],也是開發(fā)和表達計算問題解決方案的工具[19]。通過一系列算法所得出的是解決問題的眾多指令,通過對指令的分析、重復(fù)利用及自身調(diào)用(循環(huán)與迭代)等以形成完整的問題解決方案,并對比不同的方案(最優(yōu)化),確定最終解決方案,將問題轉(zhuǎn)化為方便解決的問題;無論是國際教育技術(shù)協(xié)會和計算機科學教師協(xié)會等提出的計算思維操作性定義的特征,還是伯南與雷斯尼克構(gòu)建的計算思維三維框架,其中都強調(diào)了循環(huán)迭代及最優(yōu)化解決方案的思想。方案的實施需落實在具體的操作步驟之中,思維的結(jié)果需反射在現(xiàn)實的行動之中。借助技術(shù)設(shè)備(測試)、人(歸納與遷移)或技術(shù)與人結(jié)合的方式得到問題解決結(jié)果。一些學者將測試定義為調(diào)試及錯誤檢測,即發(fā)現(xiàn)方案中的錯誤并進行修正[20-22]。將問題解決方案泛化并用于解決其他相關(guān)問題這一技能,被廣泛認為是計算思維的一部分[23][24]。在培養(yǎng)技能方面,各項研究結(jié)論主要涉及到處理復(fù)雜性的信心,處理困難問題的穩(wěn)定性,對不確定性的容忍,以及處理開放式問題的能力,與他人溝通和合作以克服共同解決方案的能力等,以及培養(yǎng)批判性思維[25-27]、創(chuàng)造力及發(fā)散思維[28]。我們基于主體維度從三個角度將其歸類劃分,分別是操作者自身方面(自我認知及反思)、操作者與問題方面(解決問題的態(tài)度、創(chuàng)造力及發(fā)散思維)以及操作者與其他操作者方面(溝通、協(xié)作、接納與批判)。
二、計算思維培養(yǎng)的四個階段
計算思維培養(yǎng)階段層次的劃分能夠助力計算思維教學實踐的落地。思維的養(yǎng)成是知識不斷獲取的過程,也是學習者認知發(fā)展變化的過程,皮亞杰提出的認知發(fā)展理論很好地解釋了兒童認知的形成與發(fā)展過程,成為此后兒童發(fā)展相關(guān)研究的理論支撐及發(fā)展基礎(chǔ)。皮亞杰作為心理學家以及兒童認知發(fā)展專家,其理論被諸多研究者以不同角度及層面加以延用發(fā)展。計算思維同樣作為一種高階思維能力,其發(fā)展與培養(yǎng)也需要循序漸進的過程與豐富多樣的形式。在此,我們同樣嘗試借助皮亞杰的認知發(fā)展階段理論構(gòu)筑計算思維培養(yǎng)與形成的階段藍圖,但有所不同的是,我們并非要精確借鑒認知發(fā)展階段論中對兒童思維發(fā)展的年齡劃分,而是希望通過每階段所表現(xiàn)出的思維發(fā)展特點和發(fā)展連貫性等反映計算思維習得過程,借助認知發(fā)展階段的思維邏輯設(shè)定來劃分計算思維的培養(yǎng)階段框架,為計算思維教學實踐提供發(fā)展依附與理論支持。
(一)前計算思維階段——實體感知與行為互動中的計算思維蓄力
國外有研究提出要將計算思維轉(zhuǎn)變?yōu)樗姆N基本技能之一就必須使計算思維在小學階段就出現(xiàn),然后一直持續(xù)到中學,甚至更長時間內(nèi)[29]。一提到計算思維,人們很自然地就會將其與計算機編程相聯(lián)系,誠然,編程確實是培養(yǎng)計算思維的重要方式之一,但年齡層次較低的兒童在編程認知接受和實際操作過程中會存在著一定的困難,探求低齡兒童計算思維培養(yǎng)的規(guī)律和方式需要更加豐富的教學形式支持。皮亞杰在感知運動階段中對兒童心理認知和行為發(fā)展的觀察描述給我們以啟示。兒童通過感官與運動體驗世界以獲取知識。通過看、聽、吸吮、抓取等動作建立與外界的聯(lián)系,在互動中逐漸形成對世界的認識,這是思維養(yǎng)成在兒童大腦中萌芽的起點。兒童產(chǎn)生了有目的采取行動以獲得相應(yīng)結(jié)果的意識,這為兒童預(yù)想方案以實現(xiàn)簡單的目標奠定思維基礎(chǔ)。在感知運動的后期階段,兒童開始識別代表物體或事件的符號,并使用簡單的語言來編目對象,此階段兒童開始思考自身與客體、客體與客體之間的關(guān)系[30],自我認知逐漸形成。同時,兒童產(chǎn)生了實用智能,即設(shè)想目標并通過計劃一系列的活動實現(xiàn)目標[31],我們可以將其視為兒童早期解決問題的思維雛形。兒童的強模仿力驅(qū)動兒童進行重復(fù)性的活動,為兒童對循環(huán)的理解奠定思想根基。在此階段,他們并不是沒有進行思考,而是其認知系統(tǒng)僅限于出生時的運動反射,但正是在這些反射的基礎(chǔ)上發(fā)展出更復(fù)雜的程序[32]。與其說這一階段的兒童逐漸養(yǎng)成自我的思維,不如說在養(yǎng)成構(gòu)建思維的基礎(chǔ),培養(yǎng)一種潛在的計算思維意識,在大腦中埋下計算思維的“種子”,我們將這一階段定義為前計算思維階段。正如皮亞杰所說,在感知運動性智力或感知運動性活動的第一水平上獲得的東西,并不是一開始就能在思維水平上得到適當?shù)谋憩F(xiàn)的[33]。前計算思維階段的兒童,其認知能力可以在兒童與實體的感知與互動中得以啟發(fā)。關(guān)鍵的成熟事件使基本的認知過程就位,然后允許抽象思維、計劃和認知靈活性的發(fā)展[34]。皮亞杰認為感覺運動行為構(gòu)成了所有認知架構(gòu)的基礎(chǔ),兒童在此基礎(chǔ)上構(gòu)建對物體本身的新認知及處理物體的新方法[35]。在前計算思維階段,兒童大腦區(qū)域之間的交流逐漸增多,兒童在整合運動、感覺和信息認知方面的能力逐漸增強[36],為更高階思維能力的產(chǎn)生與發(fā)展奠定了基礎(chǔ)。
(二)計算思維準備階段——符號象征與任務(wù)驅(qū)動中的計算思維
具有一定象征意義的項目任務(wù)能夠提供活動框架和環(huán)境支撐,推動兒童在一定的游戲情境或?qū)嵺`過程中培養(yǎng)計算思維。在前運算階段,兒童開始理解符號的意義并學習使用符號,語言技能及視覺能力的發(fā)展利于其用文字和圖片表現(xiàn)物體,能夠使用合適的語法及句式表示概念,認知符號及表述事實使得兒童的抽象思維技能得以鍛煉并發(fā)展。前運算階段兒童認知的主要特征之一為“象征性思維”,兒童開始象征性地思考,傾向于從事象征性游戲并操縱象征物。但此時兒童在理解復(fù)雜的抽象思維方面仍有困難,缺乏分類及系列化,無法很好地提煉不同概念中的共同特征或解決同一問題的不同方案。我們將這一階段稱為計算思維準備階段。計算思維準備階段的兒童在具有設(shè)定任務(wù)的游戲中調(diào)動自身的好奇心、激發(fā)探索問題解決方案的潛意識并以此提高自身的問題解決能力。兒童在以解決問題為主線、且具有一定的邏輯意義的游戲(如分配水果、送小動物回家、繪制有一定要求的圖形等)中形成自身認知事物的合理觀點及完成游戲的邏輯思維,而邏輯思維正是算法思維的早期形態(tài),為兒童解決復(fù)雜問題提供前期練習及準備。計算思維準備階段的兒童在認知理解力及操作性動力方面有所增強,兒童的算法思維逐漸顯現(xiàn)但并不成熟。前運算階段的兒童比年幼的孩子更容易想象不存在的人或物體(例如有翅膀的蜥蜴),而且喜歡創(chuàng)造自己的游戲[37],兒童計算思維中的創(chuàng)造力成分在這一階段逐漸顯現(xiàn)并發(fā)揮作用。想象力正是創(chuàng)造力及發(fā)散思維的前身,利于兒童創(chuàng)造新的情境或行為,為兒童全面地看待問題、提出多角度的問題解決方案提供思維可能,進而推動邏輯思維的發(fā)展。任何一種思維的形成都需要經(jīng)歷一個復(fù)雜的大腦認知、修正及成熟過程,而計算思維作為一種綜合化、融合化了眾多思維技能的高階思維,在不同的階段劃分中有不同的行為體現(xiàn)。前運算階段中兒童的認知特點啟示我們,這一階段兒童大腦發(fā)展的生理與認知基礎(chǔ)還不足以進行高階的思維操作活動,而兒童抽象思維的發(fā)展、簡單算法思維的形成、創(chuàng)造力與發(fā)散思維的迸發(fā)能夠使兒童在抽象的符號操作及簡單的項目任務(wù)中培養(yǎng)與展現(xiàn)計算思維。
(三)計算思維形成階段——邏輯推演與思維抽象中的計算思維生長
在計算思維準備階段思維特點的基礎(chǔ)之上,關(guān)注并推動兒童社會情感及技能方面的發(fā)展,情感技能作為一種更高級的思維方式,同樣也是計算思維發(fā)展的重要組成要素。在具體運算階段,兒童的認識獲得了較大的發(fā)展,兒童的思維延伸到了更廣闊的范圍空間中。皮亞杰認為兒童能夠理解復(fù)雜抽象的概念,并將概念附于具體的情境中加以分析,兒童的抽象性思維開始逐漸展現(xiàn)出其作用。同時,兒童開始接觸并理解學習規(guī)則的含義,產(chǎn)生了一定的自我約束及行為設(shè)定,兒童在思考問題的過程中,基于一定的規(guī)則條件學習如何更抽象與更假設(shè)地思考。具體運算階段的兒童具有了歸納邏輯,他們能夠從特定的方案中推理出一般的邏輯,并將一般化的問題解決方案遷移到具有共性的問題之中,從而幫助他們系統(tǒng)化地解決問題。同時兒童也具有了可逆性思考的能力,他們能夠理解一些物體被改變后仍可以恢復(fù)原狀,兒童將對物體的可逆性特征遷移到思維的可逆性上來,這也就說明,兒童能夠更為自由地設(shè)想、控制、整合解決問題的各個環(huán)節(jié)步驟,可逆性思維是兒童解決問題時所使用的非常重要的思維之一。相對于前運算階段,具體運算階段的兒童有了明顯的“去自我中心化”的特征,兒童協(xié)作交流能力進一步提升,兒童開始思考其他人如何看待問題,并能夠從他人的角度思考問題,兒童在接受他人觀點的同時,得以更深入地理解問題的本質(zhì)。兒童也由只考慮問題表象逐漸轉(zhuǎn)化為關(guān)注一個問題的多個方面,這會幫助他們選擇合適的方案解決問題。但兒童不能考慮到邏輯上的所有結(jié)果,對問題解決方案中潛在的風險無法有效地捕捉。具體運算階段的兒童相對于前一階段的兒童在認知思維上產(chǎn)生了質(zhì)的飛躍,其所形成的思維能力及情感技能基本構(gòu)成計算思維的大部分組成結(jié)構(gòu),我們將這一階段稱為計算思維形成階段。在此階段,兒童的高階思維能力進一步發(fā)展,能夠?qū)栴}情境進行邏輯推演,創(chuàng)造力及發(fā)散思維在多樣化的任務(wù)中進一步釋放。兒童對同伴的渴求心理及所處教育環(huán)境為兒童進行交流協(xié)作提供了情感需求及客觀條件,兒童與他人的溝通協(xié)作技能得以培養(yǎng),使得思維發(fā)展從封閉走向開放。
(四)計算思維發(fā)展階段——假設(shè)推理與形式運演中的計算思維延展
計算思維能力發(fā)展的指向是問題化地看待目標對象,具備忽視細節(jié)抽象問題的本質(zhì),在此過程中延伸到技術(shù)操作、學科知識等更為廣泛的情境領(lǐng)域。形式運算階段思維認知的大跨度發(fā)展與此階段計算思維的養(yǎng)成形成了呼應(yīng)與交契。在形式運算階段,兒童能夠理解更抽象的術(shù)語,可以在不同情境中提出假設(shè)并進行有效的推理,能夠迅速地做出可行的策略與計劃,并考慮行動的可能結(jié)果。兒童的遷移能力有所提高,可以將一個情境中的學習理念用于另一個情境,能夠制定出多種潛在的解決方案,創(chuàng)造性地解決問題,并能夠結(jié)合計算機基本知識實現(xiàn)系統(tǒng)地調(diào)試。形式運算階段的兒童具有了元認知的意識,能夠合理思考自己的想法與他人的想法,批判性思維也在這一階段出現(xiàn)。在此階段,社會環(huán)境尤為重要[38],此時兒童所處的教育環(huán)境使得該年齡段的兒童對計算機知識的掌握由簡單了解變?yōu)檩^熟練使用,具備了對抽象復(fù)雜的算法程序原理消化處理的能力,兒童逐漸理解計算機的相關(guān)概念,對數(shù)據(jù)在計算機中的存儲形式也有所掌握。同時,兒童在對程序的認知過程中也對計算思維有了直接的認識,我們將這一階段稱為計算思維發(fā)展階段。相較于上一階段,計算思維的發(fā)展具有兩個方面的明顯特征,一是兒童的計算思維在兒童思維認知結(jié)構(gòu)中更加穩(wěn)定,計算思維的結(jié)構(gòu)中囊括了對數(shù)據(jù)的分析能力、對解決方案潛在問題的分析及修補錯誤的能力、批判性思維以及兒童自身解決問題的態(tài)度、信心等情感方面的技能。計算思維的結(jié)構(gòu)更為完善,并在更多的實踐問題中得到發(fā)展。二是兒童開始將計算思維運用到更復(fù)雜與更廣闊的實際問題之中,從解決特定的、設(shè)想性的預(yù)設(shè)任務(wù)向解決不確定的、實際的復(fù)雜任務(wù)過渡,計算思維發(fā)揮其真正的社會性意義上的作用,致力于解決社會生活的實際問題,從而形成一種計算思維大環(huán)境意識。同時,計算思維作為兒童思維結(jié)構(gòu)中不可缺少的部分,對兒童的認知發(fā)展具有指導(dǎo)性的意義,助力兒童完成更高層面的自我思想升華,在兒童成年之后,由于兒童心智、認知等各方面的成熟,計算思維的發(fā)展具有專業(yè)性與針對性,對于未來從事計算機行業(yè)的人員,計算思維將深度發(fā)展;而對于其他行業(yè)的人員,計算思維則更傾向于廣度發(fā)展。
三、計算思維教授策略的探討
對計算思維培養(yǎng)階段的劃分能夠為計算思維的教授提供載體和依托,但計算思維教學目標的實踐落地更需要教授策略的支撐。計算思維自提出至今已不僅僅是派珀特強調(diào)的兒童在與Logo程序語言互動中的計算形式的思維,更多的重點則偏向了“思維”部分,其作為一種高階思維能力而存在于人們生活學習的問題解決和操作實踐中。計算思維的定義內(nèi)涵、教學評價以及教授方式是當前研究的集中方向。國內(nèi)外已有研究從不同角度采用多樣化的方式探究了計算思維的教學策略,除熟知的圖形化編程形式外、實體編程,不插電活動(Computer Science Unplugged)、紙筆編程(Paper-and-pencil Programming Strategy,簡稱PPS)等也是主要的教學形式,它們也是適應(yīng)計算思維培養(yǎng)需求和兒童思維發(fā)展特點的存在。各研究雖自成一派、各有特色,體現(xiàn)并適用與計算思維培養(yǎng)的不同層面與需求,但并未形成系統(tǒng)連貫的教學和學習體系。因此,本研究將已有成熟的計算思維教學策略與案例整理劃歸于計算思維教學階段之中,一方面可以為教學工作者提供豐富多樣的策略選擇,另一方面也是計算思維教學系統(tǒng)化和規(guī)范化開展的嘗試,以期能夠為一線教師教學展開提供指導(dǎo)性的借鑒。
(一)實物感知與實體操作浸潤前計算思維階段
利用真實世界的實物,鼓勵兒童多看、多聽、多說、多觸摸,充分調(diào)動兒童的感覺器官幫助兒童樹立對世界存在及自我存在的客觀認知。這一階段的兒童模仿力很強,通過重復(fù)性的簡單語言及動作培養(yǎng)兒童計算思維能力的發(fā)展。庫尼亞(Cunha)等認為在低齡兒童階段進行編程活動與計算思維的教學相對而言成本投入更低同時教學效果更為持久[39]。通過實物體現(xiàn)具備特定外觀的實體符號更加符合此階段兒童思維發(fā)展的特點。通過移動、排列、組合等一系列實體操作培養(yǎng)兒童的動手能力,同時豐富兒童的思維環(huán)境,積木堆積、操控有聲實物等行為能夠極大激發(fā)這一階段兒童的動手興趣。實物感知與實體操作通過一種要求兒童操作具有象征意義的物理對象的方式,幫助他們產(chǎn)生對簡單符號的認知及思考,從而向復(fù)雜的符號思維能力過渡[40]。寓教于樂的教育思想及游戲化形式無疑滿足了前計算思維階段兒童對未知世界極強的探索欲以及其較為初級的認知水平的發(fā)展需求。
美國塔夫茨大學(Tufts University)艾略特·皮爾森兒童研究和人類發(fā)展學部的技術(shù)發(fā)展研究小組(DevTech Research Group)在探究有形實物編程(Tangible Programmlng)與機器人技術(shù)對低齡兒童影響的研究方面獨樹一幟。在一項名為TangibleKRobotics Program的項目中,主要研究學齡前幼兒如何以與其生理發(fā)育適當?shù)膶嵺`方式積極參與到編程和機器人技術(shù)活動中,并由此培養(yǎng)計算思維和排序能力等[41][42]。課程以發(fā)展兒童學習過程中的“強大的想法(Powerful Idea)”展開,包括工程設(shè)計、機器人技術(shù)、順序與指令流程和參數(shù)與傳感器流程等四個模塊。課程的展開多輔之以幼兒熟悉的學習與生活環(huán)境主題,除在其中體現(xiàn)程序機械等原理外,又與其他學科內(nèi)容相聯(lián)系滲透,實踐材料主要為樂高組塊、機器組件或裝有傳感芯片的程序塊等。項目課程共計劃20個小時的課堂時間,包括10小時的活動開展時間以及10個小時的最終項目制作時間,總計教學時長不變,課程分散在接下來的幾個月當中,沒有根據(jù)學校實際情況展開2-3小時的教學活動,執(zhí)行教師合理安排各部分教學時長。每次主題都遵循相同的基本架構(gòu):(1)游戲引入,計算概念強化;(2)活動挑戰(zhàn),強化主題;(3)單獨或協(xié)作探索;(4)交流研討,共享策略;(5)自由探索,拓展延伸;(6)項目評估。研究結(jié)論表明,低齡兒童能夠通過實物操作方式參與編程活動,并從中培養(yǎng)和發(fā)展計算思維能力[43]。工程設(shè)計流程主題中一課的教學案例如表2所示。
(二)邏輯任務(wù)與人機交互貫穿計算思維準備階段
計算思維準備階段的兒童主要在小學低年級,其認知逐漸發(fā)展成熟,具備了一定邏輯判斷與思維操作能力。在此階段可以通過一些小的邏輯任務(wù)幫助兒童在一定情境框架之下發(fā)展計算思維能力。不插電活動對培養(yǎng)兒童計算思維能力具有獨特優(yōu)勢。不插電的計算機科學最初是由西班牙學者蒂姆·貝爾(Tim Bell)設(shè)計的不使用計算機設(shè)備而是通過任務(wù)型游戲、魔術(shù)等活動形式來使兒童學習計算機科學概念,培養(yǎng)邏輯思維能力的教學方式[44]。 “不插電”活動不僅對于教育信息化覆蓋率低的計算科學教學活動有著重要的輔助作用,并且也是訓(xùn)練兒童計算思維能力的重要方式。 “不插電”活動隨著教學需求也在不斷地優(yōu)化與豐富,每年都會有在其社區(qū)網(wǎng)站上進行教學案例的更新。當前, “不插電”活動不再單純地傳達的是計算機相關(guān)概念知識,也更加貼合兒童學習情境及學科內(nèi)容主題等。巴西與西班牙的研究者們曾合作探究了“不插電”活動對于小學生計算思維能力發(fā)展的影響。研究者在實驗干預(yù)前后都進行了計算思維能力的測試,實驗原定周期五周,每周一節(jié)課,每節(jié)課一小時,后應(yīng)學校要求每周再增加一些課程。研究結(jié)果表明,干預(yù)后實驗組學生的計算思維技能顯著提高,而對照組則沒有,并且通過定性觀察與訪談發(fā)現(xiàn),在不同題目類別上,學生的學習體驗和態(tài)度也存在差異[45]。同時,教師在進行“不插電”活動的主題教學時也應(yīng)當注意,找到知識內(nèi)容與計算思維概念的內(nèi)在銜接點,不是所有的教學內(nèi)容都適合于此方式,不應(yīng)刻意為之。教學案例設(shè)計的節(jié)選如表3所示。
㈢圖形化編程與計算參與助力計算思維形成階段
計算思維形成階段的兒童在抽象理解與思維轉(zhuǎn)化方面的能力得到進一步發(fā)展,可視化編程軟件的使用是培養(yǎng)的主流形式。相對于Java、C語言等專業(yè)復(fù)雜的傳統(tǒng)編程工具,圖形化的編程環(huán)境(如Scratch、Alice、Greenfoot等)更符合兒童此階段的發(fā)展特點,同時也是目前國內(nèi)外研究的熱點方向。在計算思維形成階段,這一載體將依附于計算機而存在。如Scratch為兒童提供了更具形象化的編程方式,通過拖動操作塊、排列操作塊完成對運動過程的設(shè)計。Scratch本身所具有的形式與操作特點,如互相嵌合、功能多樣的程序塊,腳本運行的邏輯關(guān)系等就與計算思維的基本概念與實踐內(nèi)容相吻合,因此基于Scratch展開的計算思維教學活動、項目評估等研究也不勝枚舉。英國西蘇格蘭大學的研究探究了在Scratch中運用游戲能夠提高兒童編程參與度與計算思維能力。教學活動分四個階段進行:(1)任務(wù)目標;(2)合作探討;(3)指導(dǎo)實踐;(4)評價拓展。在具體的教學主體情境中,研究者在基于迷宮游戲原理重新設(shè)計游戲規(guī)則,學生需設(shè)計幫助小精靈穿過炸彈到達終點。炸彈分為兩種,分別是小精靈觸碰后會死亡的紅炸彈以及對小精靈沒有影響的黑炸彈。玩家通過控制W、A、S、D鍵操控小精靈的移動路線。學生需設(shè)計游戲人物(小精靈)及道具(炸彈、終點旗幟)等元素,并對觸發(fā)鍵進行程序設(shè)計,以賦予其功能。在過程中,學生之間進行討論交流,并在設(shè)計結(jié)束后進行作品展示,完成師生評價并加以優(yōu)化改進。學生的邏輯思維以及問題分析能力得以加強,交流與協(xié)作在培養(yǎng)學生溝通能力的同時,注重批判性思維的運用,學生通過不斷測試及修正以完成程序的設(shè)計。教學流程圖如圖3所示。
(四)學科領(lǐng)域延伸與深度邏輯推理滲透計算思維發(fā)展階段
計算思維作為一種廣泛性思維,其應(yīng)用范圍絕不局限于計算機編程技術(shù),計算思維發(fā)展階段的主要任務(wù)是將學習者的計算思維進一步鞏固并發(fā)展,以將其用于生活實踐之中,真正發(fā)揮計算思維解決實踐問題之用。將計算思維融入學科教學中是一種更有成效的手段。計算思維的跨學科研究有助于各領(lǐng)域的創(chuàng)新和發(fā)現(xiàn),或許會成為未來教育領(lǐng)域不可或缺的一部分[46]。計算思維作為一種思維方式其與學科教學的融合需要厘清以下幾點問題:(1)計算思維與專業(yè)學科知識之間的聯(lián)系;(2)教學范式的選擇,是以計算機編程環(huán)境為依托還是其他類型為活動形式;(3)主題內(nèi)容的選擇,即學科中哪部分內(nèi)容與計算思維結(jié)合更能容易教授和學習;(4)系統(tǒng)教學過程的確立等。美國范德比爾特大學(VanderbiltUniversity)的研究者們探討了計算思維與K-12科學教育相結(jié)合的教學策略。計算思維所包括的計算概念與實踐,如:問題表示、抽象、分解、模擬、驗證和預(yù)測等也是發(fā)展科學和數(shù)學學科專業(yè)知識的核心。研究者首先探討了科學探究與計算思維內(nèi)容的相關(guān)之處;并選擇了一種可視化的編程環(huán)境作為操作平臺,使得學習者能夠設(shè)計目標對象的活動;并且選擇了生物與物理學的相關(guān)知識內(nèi)容,如學生對于生物學基本概念與行為有著直觀的理解,但涉及到動態(tài)過程(例如物種之間的相互依賴性和種群動態(tài))就較難理解了,而這正體現(xiàn)了計算建模方式的重要性。
通過讓學生參與軟件設(shè)計活動,將行動和反思交織在一起。學生首先要對假定的現(xiàn)象有一個初步的抽象理解,然后在可視化編程平臺中設(shè)計一個涉及到這個現(xiàn)象的實體和過程的模型;然后,學生通過將他們的模型與現(xiàn)象的“專家”模型進行比較,迭代地模擬和提煉模型的行為,從而發(fā)展解釋和論點以加深他們的理解;最后,學生將開發(fā)的模型和學到的科學概念應(yīng)用到新的解決問題的情境中,使得該模型在構(gòu)建、執(zhí)行、分析、反思和細化的循環(huán)中無縫進步[47]。該研究為計算思維與學科內(nèi)容整合提供了可借鑒的嘗試。教學模式與流程圖如圖4所示。
高度邏輯化的問題解決任務(wù)對計算思維能力的培養(yǎng)與教授更具針對性。黃蔚等學者通過任務(wù)活動搭建思維圖示的“腳手架”以提升學習者的批判性思維能力[48]。邏輯任務(wù)需要學習者獨立構(gòu)建情境,抽象問題本質(zhì),建立問題解決模型,以此將問題分解、調(diào)試直至解決,使學習者更了解問題本質(zhì),并深刻體會問題解決的過程。濟州國立大學的金鐘勛博士等人提出使用紙筆編程策略教授學習者計算思維以提高他們的邏輯思維能力,這種方式倡導(dǎo)用紙和鉛筆繪制或書寫插圖、圖表、句子、代碼、符號、流程圖、表格或任何其他有意義的符號表示他們的問題解決過程,與Logo教學相比,紙筆編程的邏輯思維測試結(jié)果具有更高水平[49]。研究者將其基本教學流程劃分為五步:(1)分析問題,教師出示基本情境問題,如自動販賣機的工作流程;(2)設(shè)計解決方案;(3)建構(gòu)方案,學習者運用數(shù)字、符號、代碼等通過手繪表格、流程圖表示問題解決的基本過程;(4)操作實施,通過基本的邏輯流程解決問題;(5)算法調(diào)試,不斷修正完善已有的方案步驟。實驗參與者的紙筆編程如圖5所示。
四、結(jié)語
計算思維教育實踐與教授策略的探究是印證計算思維可行、可教、可用的關(guān)鍵之舉。本研究通過對國外計算思維教學的主要方式的梳理,將已有成熟的教學形式與案例劃歸于計算思維培養(yǎng)階段之中,嘗試探索計算思維教授的連貫體系。本研究一方面提供了計算思維教授策略的豐富形式,另一方面對探究計算思維階段性與連貫性教學策略進行了深入討論。當然,各個階段的教學案例并不能完全代表該種教學方式的全部特征,只是依據(jù)其自身形式以及面向計算思維培養(yǎng)的側(cè)重點進行的分類劃歸,從而逐步實現(xiàn)計算思維真正的教學實踐落地。
參考文獻
[1] Papert,S.Mindstorms:Children,computers,and powerful ideas[M].NewYork:Basic Books,1980.
[2][17] Wing,J.M.Computational thinking[J].Communications of theACM,2006,49(3):33-35.
[3] Wing,J.M.Computational thinking and thinking about computing[J].Philosophical Transactions of the Royal Society A:Mathematical,Physicaland Engineering Sciences,2008,366(1881):3717-3725.
[4] Wing,J.M.Computational Thinking:What and Why?[DB/OL].http://www.cs.cmu.edu/~CompThink/resources/TheLinkWing.pdf,2010-11-17.
[5][23] CSTA and ISTE.Operational Definition of Computational Thinkingfor K-12 Education[EB/OL].https://id.iste.org/docs/ct-documents/computational-thinking-operational-definition-flyer.pdf,2019-09-02.
[6] Brennan,K.Resnick,M.New frameworks for studying and assessing thedevelopment of computational thinking[A].Proceeding of the AnnualMeeting of the American Educational Research Association[C].Vancouver:AERA,2012.39-48.
[7][11] Astrachan,O,Briggs,A.The CS principles project[J].AcmInroads,2012,3 (2):3 8-42.
[8][13] Angeli,C,Voogt,J,F(xiàn)luck,A,et al.A K-6 Computational ThinkingCurriculum Framework:lmplications for Teacher Knowledge[J].Educational Technology&Society,2016,19(3):47-57.
[9] Zhang,L,Nouri,J.A systematic review oflearning computational thinkingthrough Scratch in K-9[J].Computers in Education,2019,141(1):1-25.
[10] Nouri,J,Zhang,L,Mannila L,et al.Development of computationalthinking,digital competence and 21st century skills when learningprogramming in K-9[DB/OL].https://www.researchgate.net/publication/333642505,2019-06-13.
[12] Lye,S,Y,Koh,J,H,L.Review on teaching and learning of computationalthinking through programming:What is next for K-12?[J].Computers inHuman Behavior,2014,41(1):51-61.
[15] Filiz,K,Yasemin,G,Volkan,K.A Framework for ComputationalThinking Based on a Systematic Research Review[J].ModernComputing,2016,4(3):583-596.
[16] Duncan,C,Bell,T.A Pilot Computer Science and Programming Coursefor Primary School Students[A].Proceeding of the Workshop in Primaryand Secondary Computing Education[C].London:ACM,2015.39-48.
[18] Barr,V,Stephenson,C.Bringing computational thinking to K-12:Whatis involved and what is the role of the computer science educationcommunity?[J].Acm Inroads,2011,2(1):48-54.
[19][24] Grover,S,Pea,R.Computational thinking in K-12 a review of thestate of the field[J].Educational Researcher,2013,42(1):38-43.
[20] Matthew,B,Lee V,R.Collaborative Strategic Board Games as a Site forDistributed Computational Thinking[J].International Journal of Game-Based Learning,2011,1(2):65-81.
[21] Yadav A,Mayfield C,Zhou N,et al.Computational Thinking inElementary and Secondary Teacher Education[J].ACM Transactionson Computing Education,2014,14(1):1-16.
[22] Atmatzidou,S,Demetriadis,S.Advancing students' computational thinking skills through educational robotics:A study on ageand gender relevant differences[J].Robotics and AutonomousSystems,2016,10(75):661-670.
[25] Ater-Kranov,A,Bryant,R,Orr,G,et al.Developing a communitydefinition and teaching modules for computational thinking:accomplishments and challenges[A].Proceeding of the 2010ACM conference on Information technology education[C].Midland:ACM,2010.143-148.
[26] Caspersen,M,E,Nowack P.Computational thinking and practice:Ageneric approach to computing in Danish high schools[A].Proceedingof the Fifteenth Australasian Computing Education Conference[C].Adelaide:Australian Computer Society,lnc,2013.137-143.
[27] Shailaja,J,Sridaran,R.Computational Thinking the IntellectualThinking for the 21st century[J].International Journal of AdvancedNetworking Applications,2015,20(9):39-46.
[28] Vieira,C,Magana,A,J.Using backwards design process for the designand implementation of computer science(CS)principles:A case studyof a colombian elementary and secondary teacher developmentprogram[A].Proceeding of the Frontiers in Education Conference[C].Oklahoma:IEEE,2013.879-885.
[29] Qualls,J,A,Sherrell,L,B.Why computational thinking should beintegrated into the curriculum[J].Journal of Computing Sciences inColleges,2010,25(5):66-71.
[30] Thomas,R,M.Comparing theories of child development[M].PacificGrove,CA:Brooks/Cole Publishing Company,1996.
[31] Piaget,J,Cook,M.The Construction of Reality in the Child[M].NewYork:Basic Books71954.
[32] Carey,S,Zaitchik,D,Bascandziev I.Theories of development:ln dialogwith Jean Piaget[J].Developmental Review,2015,38(1):36-54.
[33][35] Piaget,J.The origins of intelligence in children[M].NewYork:lnternational Universities Press,1952.
[34] Harvey,S,Levin,Kathleen,A.Developmental changes in performanceon tests of purported frontal lobe functioning[J].Developmental Neuropsychology,1991,7(3):377-395.
[36] Lefmann,T,Combs-Orme,T.Early Brain Development for SocialWork Practice:lntegrating Neuroscience with Piaget's Theory ofCognitive Development[J].Journal of Human Behavior in the SocialEnvironment,2013,23 (5):640-647.
[37] Ribaupierre,A,D.Piaget's Theory of Child Development[J].IntemationalEncyclopedia of the Social&Behavioral Sciences,2001,4(4):11434-11437.
[38] Dipietro,J,A.Baby and The Brain:Advances in Child Development[J].Annual Review ofPublic Health,2000,21(1):455-471.
[39] Cunha,F(xiàn),Heckman,J.The technology of skill formation[J].TheAmerican Economic Review,2007,97(2):31-47.
[40] Lu,J,J,F(xiàn)letcher,G,H,L.Thinking about computational thinking[A].Proceeding of the 40th ACM technical symposium on Computerseience education[C].Chattanooga:ACM,2009.260-264.
[41] Bers,M,U.The TangibleK robotics program:Applied computationalthinking for young children[J].Early Childhood Research andPractice,2010,12(2):20.
[42] Kazakoff,E,Bers,M.Programming in a Robotics Context in theKindergarten ClassroomThe Impact on Sequencing Skills[J].Journal ofEducational Multimedia&Hypermedia,2012,21(3):371-391.
[43] Bers,M,U&Horn,M,S.Tangible programming in early chilc:lhood:Revisitingdevelopmental assumptions through new technologies[M].Boston:lnformation Age Publishing,2010.
[44] Tim,Bell,Ian,H.Witten,Mike,F(xiàn)ellows.Computer Science Unpluggedoff-line activities and games for all ages[DB/OL].http://jmvidal.cse.sc.edu/library/be1198a.pdf,1998-06-09.
[45] Brackmann,Robles,et al.Development of Computational ThinkingSkills through Unplugged Activities in Primary School[A].Proceedingof the 12th Workshop on Primary and Secondary ComputingEducation[C].Nijmegen:ACM,2017.65-72.
[46] Lockwood,J,Mooney A.Computational Thinking in Education:Wheredoes it Fit?A systematic literary review[J].International Journal ofComputer Science Education in Schools,2018,2(1):1-58.
[47] Sengupta,P,Kinnebrew,J,S,Satabdi B,et al.lntegrating computationalthinking with K-12 science education using agent-basedcomputation:A theoretical framework[J].Education and InformationTechnologies,2013,18(2):351-380.
[48]黃蔚,曹榕等.人工智能時代批判性思維能力的提升策略——思維圖示的應(yīng)用對小學生批判性思維能力提升的實證研究[J].中國電化教育,2019,(10):102-108.
[49] Kim,B,KimTKim,J.Paper-and-Pencil Programming Strategy towardComputational Thinking for Non-Majors:Design Your Solution[J].Journal of Educational Computlng Research,2013,49(4):437-459.
作者簡介:
孫立會:副教授,博士,博士生導(dǎo)師,研究方向為兒童編程教育、中日教育比較(sunlh777@163.com)。
王曉倩:在讀碩士,研究方向為兒童編程教育(wangxqss11@163.com).*本文系全國教育科學“十三五”2019年國家青年課題“非計算機化與計算機化兒童編程教育的理論與實踐研究”(課題編號:CCA190261)階段性研究成果。