多召軍 劉巖松 任永功



[摘? ?要] 編程教育是培養兒童計算思維的主要方式,分析兒童編程促進計算思維發展的內在機理,有助于更加高效、精準地開展兒童編程教育。文章將編程問題解決活動作為計算思維的載體,分析了問題探索、問題表征、方案生成、計劃執行、反思評價五個問題解決活動與分解思維、抽象思維、程序化思維、迭代思維、概括評估思維五種計算思維之間的聯系;構建了分階段、結構化設計兒童編程學習活動的框架,以及支持結構化表征、程序化表征、圖形化表征的技術環境,以小學信息技術課程“算法與程序設計模塊”為例開展實證研究。研究結果顯示:學生計算思維水平顯著提升,且分解思維、抽象思維、程序化思維與迭代思維的提升具有相關性,說明基于問題解決過程模型結構化設計編程學習活動與技術環境,能夠促進兒童計算思維要素同步發展。
[關鍵詞] 計算思維; 兒童編程; 問題解決; 學習活動; 技術環境
[中圖分類號] G434? ? ? ? ? ? [文獻標志碼] A
[作者簡介] 多召軍(1988—),男,內蒙古阿拉善人。講師,博士研究生,主要從事兒童編程教育、在線個性化學習研究。E-mail:476790465@qq.com。任永功為通訊作者,E-mail:ygren@lnnu.com。
一、引? ?言
計算思維(Computational Thinking,CT)起源于20世紀80年代,當時派珀特試圖提倡和推動兒童學習編程。2006年,Wing將CT定義為“利用計算機科學的基本概念,解決問題、設計系統和理解人類行為”的過程,認為是信息化社會人人必備的重要能力之一[1]。可見,CT自誕生以來始終與編程教育密切聯系在一起,編程教育也被認為是培養計算思維的主要方式。計算思維培養導向的編程教學仍處在探索階段,存在培養內容不夠全面、編程工具使用效果參差不齊等問題[2-3]。圖形化編程是小學乃至學前兒童階段編程教育開展的主要形式,可以把程序設計思想通過拼接代碼塊加以實現[4],進行直觀操作,降低編程的難度。然而,如果程序設計的整個過程都依賴于圖形化編程工具,學生則傾向試錯式的程序編寫[5],容易忽視問題分解、模式識別、算法設計等計算思維的參與。因此,本研究從學生思維參與的視角,將編程問題解決活動作為計算思維的載體,分析編程過程與計算思維發展的關系,進一步結構化設計編程學習活動與支持環境,旨在實現計算思維要素同步發展。
二、內在機理:編程問題解決活動對
CT核心要素的承載關系
(一)編程問題解決過程模型
編程問題屬于設計類的問題,是一類源于現實生活場景、復雜度較高的非良構問題。基于認知心理學構建的劣構問題解決框架得到廣為引用,例如:Sinnott提出,劣構問題解決過程包括建構問題空間、選擇和生成解決方案及監控階段[6];Jonassen提出,劣構問題解決模型包括闡明問題空間及情境限制,識別和厘清各種可選擇的觀點及立場,生成可能的問題解決方案,通過建構論點和個人信念評價各種方案的有效性,監控問題空間和各種解決方案選項,實施與監控解決方法及調整解決方法[7];OECD(2013)問題解決框架涉及探索與理解、表征與系統化闡述、計劃與執行、控制與反思四個過程。基于上述觀點,本研究認為,編程問題解決是一個動態的過程,以生成完善的計算機程序為目的,個體需要在與問題情境交互的過程中,探索與理解對象(角色)的相關信息與事件,表征各對象(角色)的狀態及相互之間的關系,生成可能的編程方案,制定計劃,編寫程序,迭代優化,直到形成完善的、可執行的計算機程序,最后對問題解決過程進行總結與評價。問題解決過程包含問題探索、問題表征、方案生成、計劃執行、反思評價等認知活動。
(二)CT核心要素
國內外學者從不同的角度闡述計算思維所涵蓋的內容,例如:Barr與Stephenson的模型在不同的學科背景下呈現了CT的能力,包含抽象、問題分解、算法與程序化、測試與驗證[8];Brennan與Resnick的框架包括抽象與模塊化、計算概念(對應于Scratch編程塊)、測試與調試等[9];Selby描述了CT的思維過程,包括算法思維、評估、分解、抽象、概括這五個核心要素[10];在Selby 等人的研究基礎上,傅騫等人從抽象思維、分解思維、算法思維、評估思維和泛化思維五個層面進行研究[11];朱珂等人結合STEM教育的教學過程,將計算思維能力分為分解能力、概括能力、算法思維、評估能力以及抽象化五個要素[12]; Shute等人開發了可用于CT能力評估的模型,涉及抽象(數據收集與分析、模式識別、模型化)、分解、算法(算法設計、類比、效率、自動化)、調試、概括及迭代[13]。綜上所述,計算思維模型或框架的定義主要包括兩個方面:一是描述思維過程,二是描述構成計算思維能力的要素。從思維過程出發,計算思維是問題邏輯分析、問題分解、給出詳細的解決方案、設計相應的算法進行實施以及反思與優化的思維過程,涉及分解思維、抽象思維、程序化思維、迭代思維及概括評估思維五個核心要素。分解思維是按照問題的功能要素把復雜問題分解為易操作問題的思維過程;抽象思維是從問題情境中推理分析解決問題關鍵信息以及用結構化邏輯表示信息的思維過程;程序化思維是按有序的步驟去解決問題的思維過程;迭代思維是一種不斷用變量的舊值遞推新值的思維過程;概括評估思維是總結與評價問題的解決辦法,并擴展給定問題中的現有解決方案以覆蓋更多的問題。
(三)編程問題解決活動對CT核心要素的承載關系
綜上所述,編程問題解決過程包含問題探索、問題表征、方案生成、計劃執行、反思評價五個環節。從思維過程的視角解釋計算思維,包括分解思維、抽象思維、程序化思維、迭代思維與概括評估思維五個核心要素,進而建立編程問題解決活動對CT核心要素的承載關系模型,如圖1所示。
1. 問題探索與分解思維
面對復雜的編程問題,如果將其作為一個整體而尋找解決方案時,學生可能會產生畏懼心理;如果能夠按照功能要素、角色或其他邏輯將其分解為易于操作的問題,這將使得編程問題解決的流程更簡單。當學生通過實踐工作形成自己的問題時,學習將變得更有意義[14]。因此,問題探索的目的在于學生與問題情境交互的過程中,運用分解思維尋找問題拆分的邏輯,將客觀世界的問題轉化為學生能夠理解的問題;運用已掌握的知識與經驗,發現自己能夠解決的問題或通過努力能夠解決的問題。
2. 問題表征與抽象思維
在明確可能解決問題的基礎上,需要繼續從問題情境中獲取與每個問題相關的所有信息,提取或補充與這些問題相關的領域知識,形成問題空間中所有信息的語義網絡。其中,構建語義網絡需要識別信息結構背后的模式與規則,用模型表示各要素的關系與運作過程。可以發現,問題表征活動與Shute等人提出的抽象思維三要素相吻合,即數據收集與分析、模式識別及模型化[13]。
3. 方案生成與程序化思維
編程問題解決方案中明確定義的問題解決步驟是學生自主開發的一組指令或規則,不論是人還是計算機,只要準確執行,就會得出問題答案。因此,問題解決方案是學生程序化思維的體現,問題解決方案的形成過程能夠促進學生程序化思維的發展。
4. 計劃執行與迭代思維
計劃執行活動是以問題解決方案為依據,設計與開發程序原型;測試程序,明確程序的錯誤與漏洞;優化程序,根據反饋結果返回原型進行修改。這是一個不斷迭代與持續優化的過程,學生運用迭代思維反復測試與優化原型,直至達到理想狀態。
5. 反思評價與概括評估思維
反思評價活動是對問題解決結果和過程的自我反思、評價與歸因,是對編程問題解決方法與策略的概括與總結,并能夠將其遷移應用到更廣泛的問題解決中。因此,反思與評價活動促進了概括評估思維的應用與發展。
三、框架設計:“五環節”編程學習活動
設計模型
問題解決取向的計算思維培養側重于“做”,但并不是盲目地“做”,學習者要對習得的方法進行抽象化并遷移到新情境中加以應用、 創造,需要主動的思維參與才能實現[15]。本研究基于編程問題解決活動對CT核心要素的承載關系,從問題探索、問題表征、方案生成、計劃執行、反思評價五個環節,分段梳理兒童編程學習活動的目標,制定適合的編程學習活動策略,構建兒童編程學習活動結構化設計模型,如圖2所示,旨在引導學習者主動的思維參與。
(一)“五環節”編程學習活動目標分析
問題探索環節的編程學習活動目標是學生在與情境交互的過程中識別編程要素或角色,明確針對每個角色的編程問題;問題表征環節需要學生圍繞每個要素廣泛收集數據,抽象出各要素狀態變化的模式;方案生成環節是學生建立問題解決思路,形成可能的問題解決方案,通過循證與分析,確定最終的問題解決方案;計劃執行環節旨在設計與開發程序原型,測試、評價及迭代優化原型程序;反思評價環節是對編程問題解決過程的反思與歸因。
(二)“五環節”編程學習活動設計策略
基于皮亞杰的兒童認識發展心理學,游戲化學習與認知沖突教學法是支持編程學習活動設計的重要策略,游戲化學習能夠激發學生對編程的興趣與動機,進而激勵行動、促進學習和解決問題[16];認知沖突是學生持續編程的動力源泉,基于“情境創設—誘發認知沖突—產生新平衡”的策略,能夠推動學生完成編程任務。以下從“五環節”分別闡述編程學習活動設計策略。
1. 問題探索環節的編程學習活動設計策略
“分而治之”是解決復雜問題最有效的方法,在學生與問題情境的交互過程中,可通過角色扮演等游戲化活動,激勵學生探索與理解編程要素或角色,據此將問題分解和轉化為多個易于操作的子問題。在問題情境創設時,基于最近發展區理論,盡可能誘發學生產生已有知識經驗與問題情境之間的不平衡狀態,激發學生進行有效的問題分解與轉化。
2. 問題表征環節的編程學習活動設計策略
小組協作頭腦風暴法是促進問題表征的重要策略,在可視化技術的支持下,對各個問題的語義關系網絡進行自由發散的討論,進行結構化的歸納與整理。策劃頭腦風暴活動時,需要進一步誘發學生的認知沖突,進而抽象出有創意的模式。
3. 方案生成環節的編程學習活動策略
算法與自動化是該環節編程學習活動設計應關注的焦點。流程圖或決策樹是用來表示自動化決策過程的一種方式,既可以用來可視化機器使用算法時可能采取的步驟,也可以使決策的結果更容易理解。因此,該環節應充分使用流程圖、決策樹等可視化技術,設計“學生扮演機器,流程圖填空、拼接、連線”等活動,引導學生形成有效解決當前問題的算法,深入理解機器執行算法的過程。同時,成功的方案能夠消解學生的認知沖突,提升學生開發程序原型的信心。
4. 計劃執行環節的編程學習活動策略
計劃執行是重復反饋的過程,對于檢查錯誤、調試程序、迭代算法等一系列操作,學生會有抵觸心理,一次改變一個變量的策略(Vary-One-Thing-At-At-Time,VOTAT)可以幫助學生逐步思考與檢測程序的合理性,逐個擊破程序異常與漏洞,將模糊的問題清晰化。Greiff等人通過分析PISA(2012)測試過程中產生的計算機日志數據發現,VOTAT策略應用情況與問題解決績效之間呈強顯著關系[17]。因此,該環節應圍繞VOTAT理念和“結對編程”的協作學習策略設計編程學習活動。
5. 反思評價環節的編程學習活動策略
交流、共享、組內評價、組間評價是促進學生反思的有效方法。準備作品分享的過程是學生對編程問題解決過程與結果進行總結、概括的過程;與他人交流、評價他人作品的過程,也會激勵學生反思自己開發的程序以及編程過程中遇到的問題與解決方法。
四、環境支持:“三種表征”支持技術框架
問題探索與問題表征環節需要結構化表示問題信息,方案生成環節需要按照執行順序流程化表示問題信息,計劃執行與反思評價環節需要基于圖形要素系統化表示問題信息。三種表征方式差異較大,可能出現兩次思維跳躍,且前兩次的不充分表征可能導致不完善的編程結果。因此,本研究提出融合思維可視化工具與圖形化編程工具的編程學習環境,如圖3所示,包括結構化表征支持工具、流程化表征支持工具及圖形化編程工具,一方面使隱性的思維過程與思維結果顯性化,另一方面增加學生程序設計過程的連續性。
(一)結構化表征支持工具
編程問題探索與編程問題表征環節需要探索問題情境中的所有相關信息,梳理問題信息之間的關系,當缺少必要的支持時,學生提取的問題信息可能是片面的、零散的,只能從事表面工作。在編程學習中借助思維可視化工具,可以將分散的知識進行系統化的處理,幫助學生厘清元素之間的關系;也可以將比較復雜的編程任務細化分解,用結構化的邏輯從整體到部分分層思考[18-19]。例如:思維導圖作為思維可視化工具實現了學習者所學知識之間的連接,促進了有意義學習的發生[20];括號圖可以把問題從多個方面進行合理拆分,對每一種拆分方式給出合理的解釋[21]。
(二)流程化表征支持工具
流程圖等流程化表征工具作為“思維發聲”支架,聚焦于學習者的思維加工過程和方法習得[22],使學生明確程序的執行過程,能夠有效助力程序化思維發展。此外,學生在問題分解、要素信息分析的基礎上,借助流程圖設計解決編程問題的一系列步驟,將問題解決的過程進行可視化表達,降低對編程語言的關注度,有助于學生理解程序的實現過程。
(三)圖形化編程工具
借助圖形化編程工具的編程是學生依據問題情境,凝練問題信息,并轉化為圖形化要素表示的信息[5]。相較于文本編程語言晦澀的語法與關鍵字拼寫,圖形化編程工具可以有效降低復雜代碼編寫所帶來的認知難度,使學生將注意力集中于問題解決本身,更有助于提升學生的計算思維能力,以及更容易完成復雜的創意作品[11]。
五、實證研究:以小學信息技術課程
“算法與程序設計模塊”為例
(一)教學設計
1. 基本情況
本研究以沈陽市某小學五年級的30名學生為教學對象,以信息技術課程中的“算法與程序設計模塊”為教學內容開展為期五周的準實驗研究。基于五年級學生思維發展特征和教學內容特征,設計了四個連續的協作學習任務。其中,第四個“奇妙的海底世界”為綜合性的學習任務,需要學生對Scratch多個模塊的命令按照實際需求綜合應用,下文將對該任務的學習活動進行詳細闡述。
2. 結構化編程學習活動設計
本案例設計了“情境觀察、信息探索”“分解問題、厘清思路”“明確流程、生成方案”“程序設計、迭代優化”及“歸納總結、交流分享”五個活動。采用不插電編程與圖形化編程相融合的方式,前三個活動在紙質任務單的支持下開展不插電編程,后兩個活動基于Scratch工具與紙質任務單相結合的方式,主要學習活動見表1。
(二)數據收集與分析
1. 數據收集
本研究通過計算思維量表與學習任務單相結合的方式采集數據。計算思維量表參照Korkmaz 等人的CTS量表設計,包括抽象思維、分解思維、程序化思維、迭代思維、概括和評估思維等5個維度,共24個題項,每個題項采用1~5點(非常不符合到非常符合)計分。前測、后測兩次各發放30份量表,有效量表各回收30份,兩次共回收60份,回收率為100%,前測與后測的總體內部一致性信度Cronbach's α 為0. 859。
通過學習任務單數據分析學生在問題探索、問題表征、方案生成、計劃執行、反思評價環節的表現。本次實驗共完成四個任務的作品創作,每個任務回收各個小組在四個環節的四份學習任務單。
2. 實驗數據分析
(1)計算思維前后測結果分析
采用GraphPad Prism對實驗前測與后測的計算思維調查數據進行配對樣本t檢驗,分析結果如圖4(a)所示,分解思維、抽象思維、程序化思維、迭代思維及概括評估思維的后測水平均值高于前側,而且前測與后測數據出現了較強的顯著性差異。通過前后測結果連接圖4(b)可以發現,幾乎每個學生的分解思維、抽象思維與程序化思維能力都有所提升,表明在三種表征技術支持下,基于問題解決過程模型結構化設計編程學習活動,對兒童計算思維發展產生了積極的影響;有超過一半的學生的概括評估思維能力有明顯提升,有部分學生幾乎沒有變化,結合教學實際情況來看,小組作品分享活動中并非全員參與,有效參與分享活動能夠促進學生概括評估自身的問題解決過程。
(2)計算思維五要素的相關性分析
計算思維后測與前測結果之間的差值表示經過五周編程學習之后思維水平上的變化。因此,本研究對計算思維五要素前后測的差值作相關性分析,以判斷哪些要素是協同提升的。通過Kolmogorov-Smirnov檢測發現,計算思維五要素中分解思維、程序化思維與迭代思維呈非正態分布,故采用Spearman相關性分析方法進行分析,分析結果見表2,分解思維與抽象思維之間的相關性(r=0.467**)、分解思維與程序化思維之間的相關性(r=0.568**)、抽象思維與程序化思維之間的相關性(r=0.419*)、抽象思維與迭代思維之間的相關性(r=0.446*)為中等正相關;分解思維與迭代思維之間的相關性(r=0.633**)、程序化思維與迭代思維之間的相關性(r=0.845**)為強正相關;概括評估思維與其他思維要素之間沒有顯著的相關關系。結果表明,基于問題解決過程模型設計兒童編程學習活動,能夠促進分解思維、抽象思維、程序化思維與迭代思維的同步發展。
(3)問題解決行為數據分析
①問題探索與問題表征環節,從完整性、邏輯性、發散性以及創新性四個方面評價問題信息表征結果。經過前兩周的訓練,完整性方面,學生都能較完整地分析要素和功能;邏輯性方面,后兩次任務信息表示的層次性有明顯提高;發散性方面,思維導圖分支數量逐漸增多,開始從不同角度分析問題;創新性方面,仍然鮮有獨特和創新的想法。總體來看,在可視化表征技術支架的支持下,大部分學生能夠從問題情境中抽象出“角色”的關鍵特征,識別角色的多種模式,實現問題的轉化,說明該環節的編程學習活動設計積極地影響了學生分解思維與抽象思維發展。
②方案生成環節,根據任務的復雜度與學生的認知水平發展,四次學習任務分別以“簡單”連線、“復雜”連線及填寫與粘貼卡片等多樣化的形式設計流程圖。循序漸進的過程中,大部分學生能較好地使用流程圖,明確自動化執行步驟的算法。說明流程圖工具支持的問題解決方案生成活動促進了學生程序化思維發展。
③計劃執行環節,遇到程序錯誤與漏洞時,由第一個任務的不知所措、立即尋求幫助,逐漸變成有部分學生開始自主調試程序,在“可視化修改記錄支架”輔助下,對程序模塊進行逐一檢查與修改,說明學生開始逐漸形成應用VOTAT策略迭代與調試程序的思維與技能。
六、總結與展望
(一)結論與討論
從三個方面對實踐研究的數據分析結果進行總結與討論。
1. 結構化設計編程學習活動能夠促進兒童計算思維持續參與及協同發展
數據結果表明,學生的計算思維水平在五周的編程學習之后有了顯著的提升,而且分解思維、抽象思維、程序化思維與迭代思維的提升之間具有一定的相關性,說明從思維參與的視角分五個環節結構化設計編程學習活動,融合三類表征技術構建可視化編程環境,能夠促進兒童分解思維、抽象思維、程序化思維、迭代思維在編程中的持續參與,進而推動計算思維各要素的協同發展。其中,分解思維與迭代思維為強正相關關系,說明當學生能夠將復雜問題分解為多個易于操作的子問題時,也能夠有效應用VOTAT策略對程序進行不斷的優化與完善;程序化思維與迭代思維為強正相關關系,說明不斷優化與完善程序的迭代過程,能夠促進學生深入理解機器執行算法的過程。
2. 編程學習活動不應止步于完成作品,有效的編程過程總結與評價更重要
計算思維作為一種廣泛性思維,并不局限于計算機編程學習,更需要將其應用于其他學科學習、問題解決及生活實踐之中[23]。學習者自我總結與評價活動應該貫穿于問題解決的各個環節,通過啟發性問題,引導學習者對編程問題解決過程進行反思、評價與歸因[24],是問題解決方案、策略與思維實現廣泛遷移的前提。數據分析結果表明,有效參與分享活動能夠促進學生概括評估自身的問題解決過程。然而,本次實驗中有部分學生的概括評估思維并沒有明顯變化,而且概括評估思維與分解思維、抽象思維、程序化思維、迭代思維沒有顯著的相關性。如何將反思評價活動貫穿于整個編程問題解決過程中尤為重要,在未來的研究中需要進一步優化設計。
3. 結構化設計編程學習活動,能夠激發學生發揮最大的潛能
分階段、結構化設計編程學習活動與可視化表征支持技術環境,并非限制學生自由創造,而是通過系列活動引導學生發揮最大的潛能,引導學生開展有意義的編程學習活動。結構化并非僵化,隨著學生認知的發展,應綜合運用多通道策略、多表征策略、支架策略設計每個環節的編程學習活動[25];同時,可視化表征技術環境作為學習支架,應根據實際情況適時撤下,避免影響學生的發散思維與創造力。
(二)未來展望
我國兒童編程教育實踐仍處于初步探索階段,目標導向的編程教學活動設計研究具有重要的意義。計算思維是青少年發展的核心素養,從思維過程視角解釋計算思維,與設計類問題解決過程有著密切的聯系。通過理論與實踐研究,本文分析、建立了編程問題解決過程與計算思維之間的映射關系,在未來的研究中可以通過對問題解決活動行為數據的建模與分析,進而測評學生的思維參與狀態及思維模式,為計算思維參與狀態測評提供新視角,這是對目前基于量表與編程作品評價形式的擴展。
[參考文獻]
[1] WING J M. Computational thinking[J]. Communications of the ACM, 2006, 49(3): 33-35.
[2] 高宏鈺,李玉順,代帥,蔣云宵.編程教育如何更好地促進早期兒童計算思維發展——基于國際實證研究的系統述評[J].電化教育研究,2021,42(11):121-128.
[3] 李陽.計算思維導向的跨學科兒童編程教育模式研究——基于芬蘭兒童編程教育的經驗與啟示[J].現代教育技術,2020,30(6):19-25.
[4] 郭守超,周睿,鄧常梅,等.基于App Inventor和計算思維的信息技術課堂教學研究[J].中國電化教育,2014(3):91-96.
[5] 孫立會,周丹華.基于Scratch的兒童編程教育教學模式的設計與構建——以小學科學為例[J].電化教育研究,2020,41(6):75-82.
[6] SINNOTT J D. A Model for solution of Ill-structured problems: Implications for everyday and abstract problem solving[M]//SINNOTT J D. Everyday problem solving: theory and applications. New York: Praeger Publishers, 1989:72-99.
[7] JONASSEN D H. Instructional design models for well-structured and Ill-structured problem-solving learning outcomes[J]. Educational technology research and development, 1997, 45(1): 65-94.
[8] BARR V, STEPHENSON C. Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community?[J]. ACM Inroads, 2011, 2(1): 48-54.
[9] BRENNAN K, RESNICK M. New frameworks for studying and assessing the development of computational thinking[C]//Proceedings of the 2012 Annual Meeting of the American Educational Research Association. Vancouver: AERA, 2012: 1-25.
[10] SELBY C, WOOLLARD J. Computational thinking: the developing definition[C]//Proceedings of the 18th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education. Canterbury: ACM, 2013: 1-6.
[11] 傅騫,解博超,鄭婭峰.基于圖形化工具的編程教學促進初中生計算思維發展的實證研究[J].電化教育研究,2019,40(4):122-128.
[12] 朱珂,賈鑫欣.STEM視野下計算思維能力的發展策略研究[J].現代教育技術,2018,28(12):115-121.
[13] SHUTE V J, SUN C, ASBELL-CLARKE J. Demystifying computational thinking[J]. Educational research review, 2017, 22: 142-158.
[14] FRIESEN S, SCOTT D. Inquiry-based learning: a review of the research literature[J]. Alberta ministry of education, 2013, 32: 1-32.
[15] 石晉陽, 陳剛. 論兒童編程學習中反思性思維的發生[J].電化教育研究,2021,42(2):93-98.
[16] 于穎,陳文文,于興華. STEM游戲化學習活動設計框架[J].開放教育研究,2021,27(1):94-105.
[17] GREIFF S, WUSTENBERG S, AVVISATI F. Computer-generated log-file analyses as a window into students' minds? A showcase study based on the pisa 2012 assessment of problem solving[J]. Computers & education, 2015, 91: 92-105.
[18] 王佑鎂,宛平,南希烜,等. 實體編程促進計算思維發展:工具與策略[J].中國電化教育,2021(8): 92-98.
[19] DURAK H Y, SARITEPECI M. Analysis of the relation between computational thinking skills and various variables with the structural equation model[J]. Computers & education, 2018, 116: 191-202.
[20] 趙國慶,熊雅雯,王曉玲.思維發展型課堂的概念、要素與設計[J].中國電化教育,2018(7):7-15.
[21] 趙國慶,楊宣洋,熊雅雯.論思維可視化工具教學應用的原則和著力點[J].電化教育研究,2019,40(9):59-66,82.
[22] 郁曉華,王美玲.流程圖支持下的計算思維培養實踐研究[J]. 中國遠程教育, 2019(9): 83-91.
[23] 孫立會,王曉倩.計算思維培養階段劃分與教授策略探討——基于皮亞杰認知發展階段論[J].中國電化教育,2020(3):32-41.
[24] 任永功,林禹竹,多召軍.面向深度學習的項目式編程學習優化設計與實踐[J].現代遠距離教育,2020(1):46-53.
[25] 楊剛,張銀榮,徐佳艷,等.圖形化編程環境下建模方式對學生計算思維與編程行為的影響研究[J].電化教育研究,2022,43(4):107-115.
Research on Internal Mechanism and Teaching Practice of Programming
Education for Development of Children's Computational Thinking
DUO Zhaojun,? LIU Yansong,? REN Yonggong
(School of Computer and Information Technology, Liaoning Normal University, Dalian Liaoning 116081)
[Abstract] Programming education is the main way to cultivate children's computational thinking. Programming education for children can be carried out more efficiently and accurately by analyzing the internal mechanism of children's programming promoting the development of computational thinking. This paper takes programming problem-solving activities as the carrier of computational thinking, and analyzes the relationship between five problem-solving activities, namely problem exploration, problem representation, scheme generation, plan execution, reflection and evaluation, and five types of computational thinking, namely, decomposition thinking, abstract thinking, procedural thinking, iterative thinking, and generalized evaluation thinking. This paper constructs a framework for designing children's programming learning activities in a structured manner, as well as a technical environment to support structured, procedural and graphical representation. The empirical research is carried out by taking
"Algorithm and Programming module" of primary school information technology course as an example. The results show that the level of students' computational thinking has been significantly improved, and the improvement of decomposition thinking, abstract thinking, procedural thinking and iterative thinking are correlated, indicating that structured design programming learning activities and technical environment based on problem-solving process model can promote the simultaneous development of children's computational thinking elements.
[Keywords] Computational Thinking; Children's Programming; Problem Solving; Programming Education; Learning Activities; Technical Environment
基金項目:2021年遼寧省社會科學基金項目“常態化疫情防控下數據驅動大學生學業焦慮測量與診斷研究”(項目編號:L21CSH006);2020年遼寧省教育廳科研項目 “基于大數據的問題解決思維可視化表征研究”(項目編號:W201783653)