王 凡 王 偉 張 鑫
(1.東北師范大學 信息科學與技術學院,吉林 長春 130117;2.沈陽市渾南區(qū)第一小學,遼寧 沈陽 110623)
人工智能時代的到來,促使社會各領域向智能化轉變。計算思維作為人工智能時代處理、分析復雜問題的重要思維能力,得到了全世界的重視與關注。諸多學者對計算思維的內(nèi)涵展開了深入探究,然而迄今為止,對于計算思維的認識并未達成共識。國內(nèi)對于計算思維概念最權威的認定來源于2017年高中信息技術新課標中對計算思維的定義。計算思維是指個人在計算機技術領域和形成問題解決方案過程中的一系列思維活動[1],包括問題界定、抽象特征、建立模型、優(yōu)選問題解決方案、遷移應用等內(nèi)容[2]。國際教育技術學會(ISTE)也曾指出:計算思維的核心能力是CPS(Computational Problem-solving)能力,也就是通過開發(fā)計算機程序來解決問題的一種能力[3]。綜合國內(nèi)外對計算思維的認識,可將計算思維的培養(yǎng)要點歸結為兩方面:一是基礎算法程序知識的掌握;二是利用已有編程算法知識完成問題解決的過程,且在解決問題的過程中要經(jīng)歷抽象、分解、算法、評估、概括等計算思維發(fā)展的要點內(nèi)容。
近年來,培養(yǎng)中小學學生計算思維的方式日益增多,但多以算法程序設計、STEAM 和信息技術課程等為載體,其中程序設計及相關應用的教學是計算思維培養(yǎng)的主要方式[4]。但對于中小學學生來說,復雜的程序設計晦澀難懂、枯燥無味,很難調(diào)動學生的學習興趣,同時難以促使學生利用已知的計算知識展開問題解決的探索。圖形化編程語言的出現(xiàn),打破了傳統(tǒng)編程語言抽象、復雜、專業(yè)性高的局限,將復雜的編程語言封裝為簡易的圖形,通過豐富的色彩和形狀各異的積木塊表示不同的算法功能。學生可通過“卡合”積木的方式體驗學習相關編程知識,在試誤中不斷探索,逐步解決問題。
雖然圖形化編程易入門、易掌握,但依然具備程序設計的算法屬性、抽象屬性、自動化屬性,對學習者的邏輯和推理能力要求并不低[5]。同時圖形化編程中開放的編程環(huán)境為學生的自主探索、創(chuàng)意表達提供了資源與空間支持。因此,圖形化編程作為低齡兒童計算思維發(fā)展的關鍵工具,得到了廣泛關注,也逐漸成為當前中小學計算思維培養(yǎng)的主流方式。然而如何科學地應用圖形化編程助力學生計算思維的發(fā)展尚處于探索階段,需要廣大學者深入探討圖形化編程工具與計算思維的關系,思考設計指向學生計算思維培養(yǎng)的教學活動,以合理的利用圖形化編程促進學生計算思維的進步與發(fā)展。
計算思維作為人們運用計算機科學領域思想方法解決問題的一系列思維活動,不僅包括算法、編程等概念和技能層面的知識內(nèi)容,還包括應用計算機解決問題過程中的學習收獲[6]。美國MIT 媒體實驗室雷斯尼克教授曾明確指出計算思維并不能單獨培養(yǎng),而是以依附于知識系統(tǒng)的形態(tài)存在于課程之中的[7],不同課程體系對計算思維的培養(yǎng)要求不同。圖形化編程作為兒童計算思維培養(yǎng)的重要載體,不僅具有基礎的算法邏輯,還能夠讓學生在拼接積木學習過程中掌握基礎的編程與算法知識。同時圖形化編程工具為學生提供了自由開放的編程環(huán)境,讓在試誤中不斷迭代完成編程作品的制作,其特殊的知識概念與可視化的編程界面對計算思維培養(yǎng)提出了新的要求,也豐富了計算思維的價值內(nèi)涵。因此,結合圖形化編程工具特點及對計算思維的理解,將圖形化編程中計算思維的價值內(nèi)涵歸結為以下4 點:
圖形化編程中指向的計算思維并不是單一技能的進步,它包括知識經(jīng)驗、思路方法、情感認知等多方面因素的綜合內(nèi)容,是在實踐過程中積極參與,不斷積累并動態(tài)更新的思路與方法,是在具象基礎上抽象構建思維模型的拓展與應用,是問題分析能力、抽象化能力、概括能力、算法思維能力、結構化問題分解能力等多種思維能力的有機統(tǒng)一。
真正的計算思維發(fā)展應該以創(chuàng)造為導向[8]。圖形化編程中指向的計算思維核心是一種創(chuàng)造性解決問題的能力,學生能夠從教學情境中抽離出可計算問題,并將復雜問題分解、細化成問題解決方案,并能夠使用圖形化編程工具將方案程序化、自動化,最終解決問題。這個過程學生不僅僅是生搬硬套原有的問題解決方法,而是在已有經(jīng)驗上不斷創(chuàng)造完善的新思路與新方法。
圖形化編程中指向的計算思維并不是一蹴而就的,是學生在不斷調(diào)試、反思、優(yōu)化編程作品的過程中慢慢形成的一般思維能力。兒童在利用編程工具解決問題時,往往需要多次調(diào)試與修改,在修補的過程中產(chǎn)生認知沖突,進而開始反思、嘗試優(yōu)化作品。在整個反思并優(yōu)化的過程中完成認知層次的進階,最終獲得思維上的進步與發(fā)展。
圖形化編程中計算思維最終的外顯成果是以問題解決為背景的編程作品,但思維能力發(fā)展并不止步于問題解決,而是指向遷移應用能力。學生在完成圖形化編程作品后能回顧解決問題的過程,形成算法經(jīng)驗,并且能在相似的編程問題中遷移應用或改造升級算法從而解決更高難度問題,才是學生思維能力的真正進步與發(fā)展。
圖形化編程是通過積木塊拼接進行編程學習的代表,它可以讓學生創(chuàng)建互動的故事和游戲。一般由積木代碼區(qū)、積木搭建區(qū)、舞臺、角色區(qū)組成,如圖1所示。學生可以在角色庫中選擇角色添加到作品中,之后在積木代碼區(qū)選擇相應積木塊,拖拽到搭建區(qū)為該角色搭建相應的代碼,并通過舞臺運行查看是否能實現(xiàn)想要的效果。若演示效果與期待效果有偏差可以再次修改所搭建的積木代碼,直到實現(xiàn)期待效果為止。
圖1 編程平臺頁面
學生通過不同類積木塊的拼搭,可以實現(xiàn)角色移動、跳躍、舞蹈、唱歌等效果。孩子像搭建積木一樣就可以輕松完成動畫、游戲等設計。在此過程中,學生不用考慮復雜的編程語言,而將更多的時間放在思考如何通過編程解決問題上。學生利用圖形化編程工具完成作品創(chuàng)作的過程即為實現(xiàn)問題解決的過程,在此過程中圖形化編程工具本身的特點也為學生解決問題提供思路方法支持,為計算思維的發(fā)展提供了基礎。
圖形化編程可視化的舞臺區(qū)設置,讓學生在完成創(chuàng)意作品的過程中,將復雜的故事內(nèi)容簡化為舞臺上的背景與角色設置,以可視化的背景、角色表征所要解決的核心問題,讓學生在不知不覺中養(yǎng)成抽象化思考與具象化表征的能力。
學生要完成圖形化編程創(chuàng)作時首先要確定主要的角色,根據(jù)每個角色所要完成的動作內(nèi)容將整個作品還原。而這種分角色設置代碼的過程在無形中讓學生將復雜的問題分解為若干個小問題,鍛煉其結構化的問題分解能力。
圖形化編程將復雜程序代碼內(nèi)容封裝為具有一定功能的積木塊,學生通過積木塊搭建即可實現(xiàn)角色相應的動作、效果變化。在此過程中,學生不需要考慮復雜的代碼編寫等問題,而將精力放在如何通過積木塊搭建實現(xiàn)問題解決,并通過積木塊的嵌套、順序卡合等方式展示問題解決方案。
在圖形化編程創(chuàng)作過程中,積木是否能夠自動“卡合”為學生判斷其解決方案的有效性提供了直接反饋。同時舞臺區(qū)能夠將學生所創(chuàng)作的內(nèi)容直觀展示出來,幫助學生在創(chuàng)作過程中不斷調(diào)試優(yōu)化其解決方案。學生在不斷優(yōu)化調(diào)整的過程中獲得知識、經(jīng)驗、問題解決方法的感悟,為其思維進階發(fā)展打下基礎。
圖形化數(shù)字創(chuàng)作是在學生掌握一定問題解決能力后的再度延伸與發(fā)展,圖形化編程色彩豐富、類型多樣的積木塊既能為學生創(chuàng)作提供底層支持,同時對學生復盤整個問題解決過程,如何通過圖形化編程(計算機)自動化實現(xiàn)問題解決提供了幫助。讓學生通過圖形化編程學習不斷地總結方法經(jīng)驗,得到解決新問題的能力。之后利用圖形化編程平臺角色庫、拓展模塊等資源內(nèi)容完成新案例搭建,實現(xiàn)問題解決能力的遷移應用,促進其計算思維的發(fā)展。
學生計算思維能力的培養(yǎng)并不是一蹴而就的,需要教師在相應教學活動的支持下不斷迭代循環(huán),經(jīng)歷計算思維培養(yǎng)的要點,從而實現(xiàn)思維能力的進步。結合圖形化編程工具的特點以及其對計算思維發(fā)展的作用,將圖形化編程中促進學生計算思維發(fā)展的教學活動歸結為激活基礎知識技能、情境問題抽取、分解復雜問題、設計問題解決方案、迭代問題求解算法、遷移與應用、反思總結、復盤思維過程等7 個環(huán)節(jié)。學生在參與到教學活動中的同時能在教師的幫助下經(jīng)歷計算思維的發(fā)展要點,在循環(huán)迭代中培養(yǎng)發(fā)展其復合思維能力、創(chuàng)造性解決問題能力、反思優(yōu)化能力以及遷移應用能力,為其計算思維的培養(yǎng)提供支持,具體如圖2所示。
圖2 面向計算思維發(fā)展的圖形化編程教學活動框架
基礎知識技能掌握是學生展開圖形化編程學習的基礎,包括序列、循環(huán)、事件、并行、條件、運算符以及數(shù)據(jù)等基礎編程概念的掌握,也包括13 大類積木塊的用法。此時學生對知識概念或積木塊的認知多停留在記憶或理解層面,需要教師進一步給予相關學習策略支持,幫助學生更深層次地掌握相關知識技能。
學生應用知識技能解決問題的過程是計算思維養(yǎng)成的關鍵。從復雜任務中抽象表征出具體真實的問題是進行問題解決的第一步,在此過程中教師要為學生提供合適的資源與情境,通過言語、行為以及情感上的支持幫助學生從情境中抽離出真實可解決的問題。
圖形化編程教學中的問題均為教師精心設計準備的問題,學生無法直接實現(xiàn)問題解決,因此進一步細化分解復雜問題使學生完成項目作品制作的基礎。在此過程中,教師要給學生提供相應的分解支架或任務單,學生在這些學習資源的支持下能夠自主或通過尋求教師幫助實現(xiàn)整體復雜問題的化簡分解。
問題解決方案設計是學生利用可視化工具將其問題解決思路表現(xiàn)出來的過程,學生可以利用紙筆,也可通過思維導圖等可視化小工具實現(xiàn)解決方案的設計。在此過程中,學生要在掌握知識技能的基礎上,應用知識技能實現(xiàn)算法方案設計,檢驗其對知識理解與掌握程度。同時,教師要注意觀察學生表現(xiàn),在其遇到問題時及時給予支持,幫助學生形成正確的算法經(jīng)驗。
評估問題解決方案的過程與學生展開編程測試與調(diào)試的關系十分密切,學生根據(jù)已設計好的方案內(nèi)容,通過編程積木塊搭建實現(xiàn)自動化方案,不僅是檢驗方案效果的最佳方式,也是學生不斷試誤迭代完成知識概念新認識的重要部分。在此過程中要注意溝通交流的作用,學生可通過測試修補或與同伴交流分享實現(xiàn)方案的迭代升級優(yōu)化,促進認知與思維觀念的發(fā)展。
問題解決強調(diào)實現(xiàn)一個問題解決后,要能把相關的經(jīng)驗與想法遷移應用至其他領域,這就要求學生不能僅僅掌握了問題解決的內(nèi)容,而是要更進一步掌握問題解決的方法。圖形化編程教學在完成相關基礎案例后,也會提供對應的拓展案例,這就需要學生總結所學過的知識、概念、技能、經(jīng)驗等內(nèi)容,融合遷移至新問題解決過程中。此過程多為學生自主建構,但是也需要教師給予學生知識概念、技能等言語與情感上的支持。
問題成功解決并不是計算思維培養(yǎng)的最后一步,思維是個體內(nèi)部知識、思想、經(jīng)驗、方法的綜合表征,因此若想促進學生思維發(fā)展,必須引導學生展開自我與自我的交互,即自我意識的交互,通過復盤整個問題解決過程,內(nèi)化所獲得的認知、經(jīng)驗、情感等內(nèi)容,融合成具體的思維能力,生成更高位的觀念,并為下一次思維經(jīng)驗迭代打下基礎。
計算思維作為21世紀數(shù)字原住民應對新時代競爭與挑戰(zhàn)必不可少的技能之一,從小培養(yǎng)學生的計算思維,將為學生掌握計算機運行原理,適應以計算機為基礎的智能生活以及養(yǎng)成科學思維方式打下基礎。本研究在探究圖形化編程與計算思維關系的基礎上,結合圖形化編程中計算思維的價值內(nèi)涵以及圖形化編程對計算思維的支持,確定了面向計算思維發(fā)展的圖形化編程教學活動實施流程,以期為教師合理地利用圖形化編程促進學生計算思維的發(fā)展做出貢獻。