








摘 要:智能時代來臨,兒童編程教育開始普及。然而,當前多數編程教學模式預設固定操作路徑,忽視學生“如何學”,學生缺乏獨立探索契機。如何引導學生學習編程已成為當前小學編程教學亟須解決的重要問題。有研究表明,元認知能力可助力編程調控與反思,能有效促進編程學習。因此,該研究將元認知支架引入編程教學,根據編程的問題解決過程對元認知支架進行具體分類與設計,構建了基于元認知支架的小學python編程教學模式并應用于具體教學中,最后通過數據分析發現,該教學模式的實施顯著提高了學生的元認知能力和學業成績。該研究探索了將元認知支架與編程教學相融合的實踐途徑,以期豐富元認知編程教學方式,為小學教師引導學生學會編程提供參考案例。
關鍵詞:元認知支架;編程教學;教學模式;小學python課程
中圖分類號:G4 文獻標志碼:A 文章編號:2096-0062(2024)05-0060-10
收稿日期:2023-04-22
基金項目:2023年度廣東省哲學社會科學規劃學科共建項目(GD23XJY56);2023年度廣東省教育科學規劃課題(高等教育專項)(2023GXJK270)
作者簡介:王洪江(1977— ),男,浙江紹興人,博士,教授、碩士生導師,研究方向為在線教學理論、人工智能教育應用;羅夏斌(1997— ),男,廣西陸川人,碩士,研究方向為少兒編程教育;馬桂秋(1999— ),男,廣東汕頭人,碩士,主要研究方向為在線協作學習、人工智能教育應用,系本文通信作者;廖曉玲(1998— ),女,廣東云浮人,碩士,研究方向為元認知;葉思思(2001— ),女,廣東河源人,碩士研究生,研究方向為人工智能教育應用。
引言
隨著人工智能技術向縱深發展,編程作為實現人工智能的技術基礎,對教育教學提出了更高的要求。新一代人工智能發展規劃明確指出,在中小學階段,我國將逐步開展人工智能相關課程,推廣編程教育。由此可見,我國義務教育階段對編程教育日益重視。圖形化編程具有減少文本編程語法錯誤和操作簡單等優勢,適合小學生的認知發展水平,因此,通過圖形化編程教學落實義務教育階段的編程課程是當前的教育趨勢。
雖然國內學者、一線教師對圖形化編程教學進行了積極探索,并取得豐碩成果,但編程教學仍存在諸多不足。比如,教師在編程教學中多采用講授演練法,往往會預設編程解題的步驟,學生機械地根據步驟完成任務和編寫程序,缺乏獨立探索契機。另外,教師過于關注學生的學習成果,即學生編程作品的完成度和程序結果的正確性,而忽視學生在編程過程中的自主思考。石晉陽等[1]在小學田野調查研究中發現,一些教師往往將編程教學視為“做中學”,對于“學到什么”以及思維怎樣發展缺乏深入探討。可見,當前大多數編程教學雖強調“做中學”,但忽視學生過程性思維的培養。編程實踐與思維發展并非相互割裂,而是相互交接。因此,如何引導學生參與過程性編程實踐,是當前編程教學亟須解決的問題。
國外相關研究指出,學習者的編程學習效果與自身的元認知能力呈正向關系,元認知能力能夠助力學習者監控編程進度、反思問題解決策略的有效性。然而,編程初學者往往元認知能力不足,缺乏對問題解決過程的調節與反思,在出現錯誤時容易出現學習迷航[2]。對此,目前已經有相關研究關注元認知支架在編程教學中的支持作用,認為元認知支架可以引導學生進行編程調控與反思,并促進其對編程的理解。例如,詹姆斯·普拉瑟(James Prather)等[3]以問題形式提供元認知支架,幫助學生明確編程問題解決的關鍵步驟,有效促進學生理解編程概念和完成編程任務。保羅·丹尼(Paul Denny)等[4]發現,接受元認知支架干預的實驗組學生在編程時出現的錯誤較少,且元認知支架有助于引導學生在編程前對程序進行計劃,并在編程后進行反思。然而,目前國外學者多關注大學生群體在元認知支架支持下的編程教學,對小學生群體的相關研究較少,國內學者則鮮少從元認知視角開展編程教學的設計和實施,缺少元認知理論指導下的編程教學模式。
綜上所述,針對當前小學編程教學預設固定操作路徑、忽視學生過程性思考等問題,結合元認知在編程學習中發揮的作用,本研究以小學圖形化python課程為例,構建基于元認知支架的小學python編程教學模式,探索將元認知支架與編程教學相融合的實踐途徑。
一、理論基礎
(一)問題解決過程分析與啟示
編程是問題解決的過程,為更好地實現元認知支架與編程教學的融合,需要問題解決過程理論的指引。達斯蒂尼·洛克薩(Dastyni Loksa)等[5]為有效地激發學習者在編程學習中的元認知意識,提出監控編程學習過程的問題解決六階段理論,將元認知作用于理解編程思路、及時更換方案、再次理解問題等方面。基于已有研究,本研究提出編程問題解決過程,如圖1所示。
編程問題解決過程可分為三階段六步驟,各階段之間不是單向關系,而是相互作用關系:“編程中”階段反饋“預編程”階段,“編程后”階段又反饋、調整前面的“預編程”和“編程中”階段,發揮元認知能力的監控和反思功能,及時調整方案,以確保方案順利執行。(1)在預編程階段,首先理解、解釋問題,初步形成問題表征;其次追憶相關問題,尋找類似問題解決方案,加深問題理解;最后根據解決方案制訂執行計劃、分解復雜問題,在無法解決問題時,則需要再次表征問題、制訂計劃。(2)在編程中階段,首先需要評估解決方案的適切性和思路的正確性,接著調動執行力實施方案,以實現預期目標。在無法解決問題時,需要回到預編程階段,再次表征問題和更換解決方案,避免持續使用不合適的解決方案。(3)在編程后階段,需要評估編程問題解決思路的正確性、目標達成性、計劃合理性等,并根據自評、互評與師評修改方案,總結所獲,以反思帶動提高。
(二)元認知理論分析與啟示
1.元認知結構
元認知是對認知的認知,由約翰·弗拉維爾(John Flavell)[6]首次提出,至今已形成比較系統的研究體系。對于元認知的組成部分,不同學者的研究側重點不同,對元認知結構也有不同的理解。目前,在教育學界受到普遍認同的觀點為董奇[7]提出的元認知三元結構,即包含元認知知識、元認知體驗與元認知監控三部分。元認知知識包括認知主體、認知任務、認知策略,元認知體驗是個體在認知過程中產生的認知與情感體驗,元認知監控涵蓋制訂計劃、執行控制、檢查結果、采取補救措施四部分。
結合編程問題解決過程,可得元認知結構對編程實踐的啟示,包括:(1)在編程前,學生需要依據學習目標,制訂計劃、選擇學習策略、確定問題解決方案;(2)在編程中,學生進行自我監控,及時發現存在的問題,并根據問題反饋采取補救措施,及時調整;(3)在編程后,學生需要進行自我評價與反思,以進一步培養元認知能力。
2.元認知支架內涵
元認知支架是元認知理論指導下的教學支架,通過提供元認知相關資源或提出問題等方式引導學習者計劃、監控、反思和調節,被廣泛應用于各學科教學領域。元認知支架能夠幫助學習者明確學習目標、制訂學習計劃、組織學習活動、進行自我監控與評估。李英蓓等[8]在系統分析教學支架中指出,元認知支架涵蓋專家示范、問題提示、同伴反饋及按步驟檢索等方面,可在進度監控、階段性反思、澄清概念以及明確需求等方面提供學習支持。例如,茅島路子等[9]使用計劃外化工具支架幫助學生制訂計劃、調節學習過程。
結合元認知結構啟示,本研究認為在編程教學中提供的元認知支架是指引導學生在編程過程中解釋問題、制訂計劃、調控編程進程、自我評價與反思的一系列元認知支持。
3.元認知支架表現形式與分類
元認知支架有多種表現形式,如專家范例、自我提問、提示、圖表、流程圖、評價量表等。在教師層面上,元認知支架主要以提示形式展現,包括提問問題、提供元認知提示等;在學生層面上,元認知支架的表現形式主要是自我監測單、項目評估表、學習情況表等,以引導學生自我監控與反思。例如,黛安娜·富蘭克林(Diana Franklin)等[10]在Scratch編程教學中設計了嵌入問題的工作表,幫助學生了解編程項目的目標與主題、探索角色功能以及制訂計劃。
元認知支架有多種類型,目前尚未形成統一的分類標準。現有的元認知支架分類主要從元認知結構與元認知支架整體兩方面進行探討。在元認知結構上,元認知支架通常被分為定向、計劃、監控和反思四種類型。在元認知支架整體上,以元認知為整體,通過問題提示支架等方式提出問題,引發認知沖突,從而加深學習者對問題的理解。
綜上所述,結合編程問題解決過程、元認知結構和元認知支架理論,本研究將元認知支架分為五種類型:問題提示支架、計劃支架、監控支架、調節支架和反思支架。五大支架的具體解釋如下:(1)問題提示支架支持創設問題情境,提出對應問題,引導學生理解、解釋問題,形成問題表征,喚醒先前圖式。(2)計劃支架包括選擇需要的學習策略、制訂編程問題解決方案、分解任務、確定所需程序等。(3)監控支架支持監控編程進程,及時檢查任務分解、問題理解、內容掌握、時間安排等,確保順利執行編程任務,達到目標。(4)調節支架支持對監控過程、交流分享中出現的問題進行調整、修正。(5)反思支架支持檢查編程過程與成效,在綜合評價與自我反思中以反饋帶動自我提高,修正問題解決方案。
二、基于元認知支架的編程教學模式的設計與構建
(一)元認知支架設計
基于元認知支架分類,本研究將元認知支架應用分為教師提示層面與學生應用層面,從而進一步闡述元認知支架在小學python編程教學中的應用。
在教師提示層面,主要以元認知問題形式提供元認知支架,即通過提問的方式,幫助學生理解問題、制訂計劃、實施監控、反饋調節、評價反思,引發學生思考,調動學生的編程元認知意識,進而培養學生的元認知能力。結合編程問題解決階段,本研究歸納總結出教師提示層面元認知支架的各部分內容及其子維度,如表1所示(見下頁)。
在學生應用層面,元認知支架需要引導學生監控編程進程,避免學習迷航。本研究設計了自我提問單與學習情況表。在自我提問單中,通過問題形式引導學生監控編程學習進程,以自問自答、自問自檢的方式,引發學生主動思考并監控編程進程,如表2(見下頁)所示。在學習情況表中,引導學生將編程思路、學習困難及解決方案、學習反思記錄下來,教師針對問題提供元認知提示與反饋,引導學生調控編程進程,如表3(見下頁)所示。
(二)模式構建
為將所構建的元認知支架有效應用于編程教學,本研究結合上述設計的編程問題解決六步驟,設計了小學編程教學六環節和相應的師生活動,最終構建出基于元認知支架的編程教學模式,如圖2(見下頁)所示。該教學模式呈上、中、下三層分布,上層和下層為師生活動,中層為在五類元認知支架支持下的編程問題解決階段與教學環節。該模式整體上分為三階段、六步驟、六環節,元認知支架支持從理解問題到編程實踐再到編程反思的編程全過程。
1.預編程階段
預編程階段主要是創設問題情境,引導學生理解問題、解釋問題,能夠參考類似的問題解決方案,確定編程問題解決方案,進而制訂執行計劃,初步形成問題表征。
(1)在創設情境環節,教師首先在課前進行學情分析,了解學生先前學習中的編程思路、學習困難、解決方案等,把握學生的實際發展水平;接著,在課堂中針對學生存在的普遍問題進行講解;隨后,結合現實生活,創設問題情境,提供問題提示支架,明確學習目標與學習任務,激發學生的學習興趣,提高學生的目標意識。
(2)在分析舊知環節,教師引入新課知識點,并布置學習任務。通過計劃支架引導學生分解任務,把大任務分解成小問題;通過問題提示支架引導學生參考類似問題的解決方案,幫助學生理解新問題,提高學生的問題意識。
(3)在確定方案環節,通過問題提示支架引導學生明確解決思路,并提供計劃支架引導學生確定問題解決方案。
2.編程中階段
編程中階段主要是學生開展編程實踐,實施自定的問題解決方案,驗證當前方案的有效性,落實教學目標。在此階段,教師需引導學生填寫學習情況表、瀏覽自我提問單,幫助學生進行目標與任務監控、問題理解監控、編程實踐監控,判斷方案的執行情況和有效性。
(1)在編程實踐環節,教師巡堂觀察學生編程進展,了解學生編程實踐情況,提供編程思路的引導,適當提供監控支架與調節支架,提示學生遇到問題時如何調整解決方案,如重新理解和解釋問題、更換解決方案、重新制訂計劃等。在編程實踐中,要發揮師生雙向監控的作用,避免學生在遇到問題后出現學習迷航。
(2)在調試修正環節,根據學生所填表單中存在的不足,提供監控與調節支架引導學生自我調控,重新理解問題、修正解題思路,如重新審視解決方案、與教師和同學討論或分享、優化程序等。在集體討論中引導學生厘清認知矛盾,通過反饋、調節鞏固所學。
3.編程后階段
在編程后階段主要是效果評價環節,通過學生自評、互評、師評促進編程反思。教師提供反思支架,引導學生審閱并填寫表單,反思教學目標的完成度、學習計劃與方法策略的合理性、解決問題與調整方案的適當性等,以調整學習活動、彌補不足。通過作品展示,引導學生對比、審視自己的解決方案,進行自我評價與反思,重新理解任務、改進問題解決方案、完善編程作品,進而通過反思推動自我提升。
三、基于元認知支架的小學python編程教學模式教學案例
(一)教學案例介紹
教學案例選自某編程教育公司的python語言入門教材第8課“繪制小雛菊”,結合“未來教室”網絡平臺配套的精品微課,適當增刪部分內容,以符合學生的認知特點。本課的主要知識點為“圓與循環嵌套”,結合“重復執行”繪制小雛菊,可操作性強。本課的教學目標是:在知識與技能上,能夠通過畫圓與循環嵌套繪制小雛菊,能解釋循環嵌套的編程思路;在過程與方法上,能夠通過元認知支架進行編程調控與討論交流;在情感態度與價值觀上,能夠強化編程監控、調節反饋的意識,并在交流討論中解決認知沖突、培養編程興趣。
(二)教學過程設計
“繪制小雛菊”在實驗班的具體教學過程如表4(見下頁)所示。
四、基于元認知支架的小學python編程教學模式應用效果分析
(一)實驗設計
1.實驗對象
本研究采用準實驗法。實驗對象為某市某小學五年級兩個班的學生,共83人,其中,男生44人,女生39人;五年級(1)班為實驗班(N=42人),五年級(2)班為對照班(N=41人)。實驗對象掌握信息技術的基礎操作;具備一定的邏輯思維能力,課中樂于發表想法;具備一定的表達能力和問題解決能力;能夠進行圖形化python編程的學習,已習得利用“重復執行”繪制小紅花、六芒星等形狀的知識和技能,對“重復執行”“旋轉”等知識要領有一定的認知基礎。前期問卷調查結果表明,學生間編程水平差距較小。少數學生在校外學習過編程,且接觸編程的大多數學生學習過圖形化編程,如編程貓Kitten,極少數學生學習過基于文本的編程,如C++,僅有個別學生學習過python。整體而言,多數學生沒有學習過編程,python編程基礎一致,能夠保證兩個班級的控制條件一致,兩個班學生的編程學習水平基本上處于同一水平。
2.實驗變量與假設
實驗變量為編程教學模式,實驗班采用基于元認知支架的編程教學模式,對照班采用“講解—演示”的傳統教學模式。為排除無關變量的干擾,兩個班的教學內容、教學環境、前測水平、授課教師及進度保持一致。本研究的實驗假設為:
(1)元認知支架教學模式能有效提升學生的元認知能力;
(2)元認知支架教學模式能有效提高學生的編程期末測試成績。
3.實驗內容
在了解實驗學校的教學環境和學生的編程學習現狀后,本研究以某編程教育公司的python語言入門教材和“未來教室”網絡平臺配套的python圖形化精品課為參考內容,共設計10節課,每周1節課,每節課1個課時,每個課時40分鐘。
4.實驗過程
本研究選擇小學五年級兩個原始自然班作為研究對象,開展前后測對照實驗。實驗時間為2021年9月初至2021年12月底,持續時長為4個月。教學實驗設計流程如圖3所示。
在實驗開始前,本研究參考雷恩·斯珀林(Rayne Sperling)等[11]針對小學三年級至五年級學生編制的元認知問卷,編制了元認知能力量表;而后結合課堂知識點和教材測試題,并參考具有多年信息技術教學經驗的一線教師的意見,設計了python編程期末測試方法。在實驗開始之前,進行元認知能力前測,結果顯示實驗組和對照組的元認知能力不存在顯著性差異,符合實驗條件。在實驗過程中,將基于元認知支架的小學python編程教學模式融入實驗班級的教學中,依據學習者的學習情況、元認知能力水平,有針對性地采取培養策略,以促進學生的編程思維與能力的發展。在實驗后,分別對實驗班和對照班的學生進行元認知能力后測,并進行python編程期末測試,對測試數據進行歸納、整理,進行數據統計分析,驗證實驗假設,得出實驗結論。
(二)數據分析
1.實驗前后元認知能力差異性分析
在實驗班的元認知能力測試中,有效問卷為37份,問卷有效率為92.86%。由表5可知,在元認知能力實驗組配對樣本t檢驗中,元認知知識、元認知體驗、元認知監控和總體元認知能力的Sig.值均小于 0.05,說明元認知能力的各個維度均存在顯著性差異。因此,元認知支架教學模式對學生元認知能力有正向的顯著影響,假設(1)得到有效檢驗。
2.實驗后期末測試成績差異性分析
在實驗結束后,向實驗班與對照班的學生發放Python編程期末測試題,實驗班回收42份,對照班回收41份,兩班的測試有效率均為100%。由表6可知,在兩個班級的Python編程測試成績統計分析中,實驗班的平均分高于對照班,相差5.269分;在獨立樣本t 檢驗中,Sig.(2-tailed)=0.036lt;0.05。因此,實驗班的Python編程測試成績與對照班存在顯著差異,說明元認知支架教學模式能有效提高學生的編程期末測試成績,假設(2)得到有效檢驗。
五、結語
在小學人工智能課程與編程教育逐漸普及的背景下,引導學生學會編程、培養過程性思維已成為時代發展的現實需求,而元認知能力能夠幫助學生在編程實踐中進行計劃、調控與反思,從而影響學生的編程學習過程與效果。因此,本研究根據編程問題解決過程,在元認知理論的指導下,構建了基于元認知支架的小學圖形化python編程教學模式,通過具體案例描述了元認知支架如何應用于編程教學,并通過數據采集與分析發現該教學模式的實施顯著提高了學生的元認知能力和編程學業成績,為小學編程教學提供教學模式借鑒與案例參考。
參考文獻
[1]石晉陽,陳剛.論兒童編程學習中反思性思維的發生[J].電化教育研究,2021,42(2):93-98.
[2]ROLL I, HOLMES N G, DAY J, et al. Evaluating metacognitive scaffolding in guided invention activities[J]. Instructional science, 2012, 40(4): 691-710.
[3]PRATHER J, PETTIT R, BECKER B A, et al. First things first: providing metacognitive scaffolding for interpreting problem prompts[C]//SIGCSE’19 Proceedings of the 50th ACM Technical Symposium on Computer Science Education, 2019: 531-537.
[4]DENNY P, PRATHER J, BECKER B A, et al. A closer look at metacognitive scaffolding: solving test cases before programming[C]//Koli calling’19: Proceedings of the 19th koli calling international conference, on computing education research. 2019: 1-10.
[5]LOKSA D, KO A J, JERNIGAN W, et al. Programming, problem solving, and self-awareness: effects of explicit guidance[C]//Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, 2016: 1449-1461.
[6]FLAVELL J H. Metacognitive aspects of problem solving[J].The nature of intelligence ,1976(12): 231-235.
[7]董奇.論元認知[J].北京師范大學學報,1989(1):68-74.
[8]李英蓓,邁克爾·J.漢納芬,馮建超,等.促進學生投入的生本學習設計框架:論定向、掌握與分享[J].開放教育研究,2017,23(4):12-29.
[9]茅島路子,稻葉昭子,滕梅芳.元認知技能模型及促進措施[J].數字教育,2017,3(2):78-85.
[10]FRANKLIN D, SALAC J, CRENSHAW Z, et al. Exploring student behavior using the TIPPamp;SEE learning strategy[C]//Proceedings of the 2020 ACM Conference on International Computing Education Research. 2020: 91-101.
[11]SPERLING R A, HOWARD B C, MILLER L A, et al. Measures of children’s knowledge and regulation of cognition[J].Contemporary educational psychology,2002, 27(1):51-79.
(責任編輯 李強)
Design and Construction of Children’s Programming Teaching Model Based on Metacognitive Scaffolding
—Taking the Python Course in Primary School as an Example
Wang Hongjiang1, Luo Xiabin2, Ma Guiqiu3, Liao Xiaoling4, Ye SiSi1
(1.School of Information Technology in Education, South China Normal University, Guangzhou, Guangdong, China 510631;
2. Shenzhen City Longgang District Shouzhen Primary School, Shenzhen, Guangdong, China 518111;
3. Dongguan Auto Technology School, Dongguan, Guangdong, China 523400;
4. Dongguan Chang An Experimental Middle School, Dongguan, Guangdong, China 523840)
Abstract: With the advent of the intelligent era, children’s programming education has become popular. However, most of the current programming teaching models preset fixed operation paths, ignoring how students learn, and thus resulting in students’ lack of independent exploration. How to guide students to learn programming is an important focus of current programming teaching. Some studies have shown that metacognition can help programming regulation and reflection, and effectively influence the programming learning process. Therefore, this study intends to introduce metacognitive scaffolding into programming teaching. Based on the problem solving process of programming, the metacognitive scaffolding is specifically classified and designed under the guidance of metacognitive theory, and the elementary school python programming teaching model based on metacognitive scaffolding is constructed and applied to specific teaching. Finally, through the data collection and analysis, it is found that the implementation of this teaching model significantly improves the metacognitive ability of students, academic performance. By exploring the practical way of integrating metacognitive scaffolding and programming teaching, this paper aims to enrich the metacognitive programming teaching method and provide reference cases for primary and secondary school teachers to guide students to learn programming.
Key words: Metacognition; Programming teaching; Teaching mode; python curriculum in primary school