姜強 王利思 趙蔚 潘星竹
摘要:隨著人工智能時代的來臨,編程教育日益受到重視。學生在編程過程中的行為,實質(zhì)上反映了其對利用計算工具解決問題的認知水平,也映射出其計算思維的發(fā)展過程,挖掘三者間的隱含關系有助于通過優(yōu)化編程任務設計改善對學生計算思維的培養(yǎng)。基于認知目標分類和計算思維三維框架構建映射關系,以Scratch可視化編程任務作為研究案例,采用編程操作視頻分析與學生訪談相結(jié)合的方法,從編程行為表征的視角對認知水平與計算思維間的隱含關系進行挖掘后發(fā)現(xiàn):一方面,認知水平與編程行為之間存在密切關系,知道與理解是編程行為的基礎性認知,應用與分析是編程行為的核心,評價推動學生對編程行為的反思,而創(chuàng)造可激發(fā)編程行為產(chǎn)生新的作品。另一方面,在編程活動中,學生的認知水平與計算思維的發(fā)展彼此關聯(lián)且相互促進,編程行為中的低階認知目標的達成是形成計算觀念的基礎,編程實踐引發(fā)的高階思維認知需求可促進學生對計算思維的領悟。因此,應當遵循認知水平與計算思維的發(fā)展規(guī)律,有針對性地將面向各類認知目標的編程任務嵌入到教學設計中,方可有效實現(xiàn)利用編程教育對學生計算思維的培養(yǎng)。
關鍵詞:編程教育;計算思維;認知水平;行為表征;Scratch
中圖分類號:G434? ?文獻標識碼:A? ? 文章編號:1009-5195(2020)02-0094-10? doi10.3969/j.issn.1009-5195.2020.02.011
*基金項目:教育部人文社會科學研究青年基金項目“大數(shù)據(jù)時代在線學習者情感挖掘與干預研究”(16YJC880046) ;東北師范大學教師教育研究基金項目“職前教師信息技術應用能力培養(yǎng)與發(fā)展研究”(JSJY20180301)。
作者簡介:姜強,博士,教授,博士生導師,東北師范大學信息科學與技術學院(吉林長春 130117);王利思,碩士研究生,東北師范大學信息科學與技術學院(吉林長春 130117);趙蔚,博士,教授,博士生導師,東北師范大學信息科學與技術學院(吉林長春 130117);潘星竹,二級教師,大連市甘井子區(qū)奧林小學(遼寧大連 116031)。
一、引言
隨著人工智能時代的來臨,編程教育的課程化成為一種趨勢。國務院與教育部分別印發(fā)的《新一代人工智能發(fā)展規(guī)劃》和《2019年教育信息化和網(wǎng)絡安全工作要點》明確提出要在中小學階段設置人工智能相關課程、建設人工智能學科、逐步推廣編程教育(國務院,2017;教育部辦公廳,2019)。編程教育與新時代下所倡導的STEAM教育、創(chuàng)客教育理念不謀而合,有利于學生從科技的消費者變?yōu)榭萍嫉膭?chuàng)造者,進而獲得技能轉(zhuǎn)移,使其在具體的編程語言環(huán)境中通過運用較復雜的思維技能來培養(yǎng)高階思維和計算思維,以提高問題解決能力和創(chuàng)新能力。目前,中小學生主要利用Scratch完成編程任務,其作為一種可視化編程工具,以“所見即所得”的編程思想為原則,可形象地表征個體的思維過程,促使個體主動地進行知識建構,形成自己的知識網(wǎng)絡。
然而,在編程環(huán)境中,當學生在通過創(chuàng)建程序解決問題時,其注意力已從操作層面轉(zhuǎn)移到理解編程的認知層面,其利用計算機語言進行計算式思考的過程,實質(zhì)上反映了其利用計算工具解決問題的一系列認知過程。僅依靠對最終程序或作品的分析往往不能全面解釋學生對編程問題的理解及其思維過程,要深度理解“隱形”于計算機操作知識中的計算思維,還需關注學生實踐過程中的行為表現(xiàn)和認知水平,以剖析學生的概念應用能力、拆組項目能力、糾錯分析能力以及問題解決能力。因此,本文基于修訂版布魯姆認知目標分類體系和美國麻省理工學院(MIT)提出的計算思維三維框架,聚焦于對學生編程行為過程的理解,判斷編程實踐引發(fā)的認知需求,挖掘?qū)W生認知水平與計算思維間的關系,旨在揭示編程教育對思維發(fā)展的普適性價值,為針對性地設計適合學生思維特點的可視化編程任務,進而從認知角度根本改善計算思維的培養(yǎng)方式提供啟示。
二、相關概念與理論框架
作為一種復雜的心智活動,計算思維(Computational Thinking)涉及問題制定、解決方案形成、方案執(zhí)行和評估的迭代過程,其以抽象和自動化為特征,以計算資源為手段,以問題解決為目標,是新時代人才適應數(shù)字化生存的必要技能。Wing(2006;2010)指出計算思維是“21世紀的新素養(yǎng)”,是與聽、說、讀、寫同等重要的基本技能之一,是一套利用計算機科學的基本概念解決問題、設計系統(tǒng)和理解人類行為的完整思維工具。美國計算機科學教師協(xié)會(Computer Science Teachers Association,CSTA)提出了計算思維用于問題解決的操作性定義,即以機器協(xié)助方式形式化問題,以邏輯方法處理數(shù)據(jù)、抽象化表示數(shù)據(jù)、算法化自動解決方案,以有效方式解決問題并將知識和技能遷移至其他問題情境(Chen et al.,2017)。陳國良等(2013)指出計算思維是一種綜合性思維,包含數(shù)學思維、工程思維和科學思維。李廉(2012)認為計算思維與實證思維、邏輯思維一樣,是人類科學思維的重要組成部分。戰(zhàn)德臣等(2013)指出計算思維是一種思維方式,學生不應僅著眼于“知識”(即事實)的學習,而應更多地訓練“思維”。此外,吳忭等(2019)基于量化民族志的分析方法對計算思維能力進行了評估,張進寶(2019)從計算學科、普適化和認知發(fā)展三個視角對計算思維概念進行了系統(tǒng)化分析。
目前,各國均十分關注和重視對學生計算思維的培養(yǎng)。英國全面改革中小學計算機課程教學大綱,從側(cè)重于軟件應用的信息通信技術教育轉(zhuǎn)向以計算思維培養(yǎng)為重點的計算機科學教育(Department for Education,2014)。美國《K-12計算機科學框架》指出,兒童需要在獲得一定的計算機操作技能基礎上,構建扎實的計算思維(ACM et al.,2016)。新加坡啟動了“智慧國家計劃”,注重開發(fā)學生的計算思維能力(Seow et al.,2017)。意大利啟動Programma il Futuro項目,以Code.org開發(fā)的教學材料為基礎,強化培養(yǎng)學生的計算思維(Nardelli et al.,2015)。“澳大利亞課程:數(shù)字技術”(Australian Curriculum: Digital Technologies)強調(diào)讓學生開發(fā)和運用計算思維技能,在創(chuàng)建、交流和共享信息及管理項目時,使用編程技術和數(shù)字化方式來解決特定的問題或需求(ACARA,2012)。芬蘭將編程作為小學教育的綜合要素之一,大力培養(yǎng)學生的計算思維(Heintz et al.,2016)。愛沙尼亞啟動ProgeTiger項目,旨在把編程和機器人技術引入教育領域,將計算思維與人工智能活動相結(jié)合,以應對技術世界的挑戰(zhàn)(HITSA, 2015)。我國新修訂的《普通高中信息技術課程標準》強調(diào)計算思維是信息技術學科的核心素養(yǎng)之一,要通過學習計算機科學相關知識與技能,培養(yǎng)學生的邏輯思考、系統(tǒng)化思考能力(任友群等, 2016)。
(1)編程行為與認知水平間的關系
第一,知道與理解是編程行為的基礎性認知。由表3中事件的材料來源數(shù)量可看出,每個學生的編程活動都含有“記住或回憶有關工具、模塊和功能”事件,其具體涉及的活動包括打開軟件、查看旋轉(zhuǎn)按鈕的功能、查看各個模塊信息等。學生通過回憶任務信息與原有認知建立連接,概念化所需工具和任務標準,按照任務要求和標準完成增刪場景、角色、造型等活動,初步形成了運用計算工具解決問題的觀念。在教師指導下理解相關計算概念,共同完成對復雜任務的解構,明確完成任務所需階段,是完成計算實踐的基礎。因此,概念化任務和工具、解構模塊化任務階段往往發(fā)生在學生實際編程活動之前,多與教師共同完成,因而操作行為只能體現(xiàn)部分認知過程?!爸馈迸c“理解”相關事件的平均時長占比之和為12.14%,且與學生和教師共同完成概念化任務的時長大致相當,因而學生總體上需要花費約五分之一的時間來完成編程前的準備工作。此階段中,與“知道”和“理解”這兩種低階認知目標相關的行為事件較多,主要涉及概念化成功標準、解構復雜任務、了解相關計算概念、思考如何利用計算工具解決問題等。在教學過程中,應注重引導學生理解任務要求和標準,幫助其解構任務,以思維導圖的形式規(guī)劃解決方案,選擇恰當?shù)墓ぞ吆筒呗越鉀Q復雜問題。
第二,應用與分析是編程行為的核心。在Scratch編程活動中,與“應用”和“分析”相關的行為事件最多,超過85%的學生會依次為每個角色分步驟創(chuàng)建動作腳本(39人)和測試腳本(38人),并根據(jù)測試結(jié)果修改腳本(35人)。據(jù)觀察,動作腳本中學生使用頻率較高的相關計算概念有觸發(fā)器、坐標值、隨機數(shù)、變量、重復執(zhí)行等,而關系運算符和判斷條件只有少量學生使用。參考點統(tǒng)計結(jié)果顯示,平均每個學生測試腳本4次,個別學生的測試腳本事件次數(shù)達10次,且測試腳本后,學生往往會繼續(xù)添加腳本或在分析腳本錯誤后對其作出修改。分步驟創(chuàng)建動作腳本與調(diào)試腳本是編程工作的核心。學生在創(chuàng)建腳本時,會長時間集中注意力,將自己的邏輯思維以可視化的方式呈現(xiàn)出來,這是隱性思維的外顯化;學生在測試腳本之后,將測試結(jié)果與設想結(jié)果進行對比,分析差異、識別腳本漏洞或錯誤并對其進行修改校正,這反映了編程中“應用”與“分析”的連續(xù)思維過程。在小組合作中,學生利用試驗與迭代、測試與調(diào)試的計算實踐策略來識別故障原因,反復糾錯并不斷得到新的反饋,進而完善問題解決方案,在此過程中學生的毅力和協(xié)作能力得到了充分鍛煉。大約1/3的學生(13人)在測試腳本之前,就對腳本的執(zhí)行結(jié)果進行預測,以質(zhì)疑視角分析程序,識別和糾正可能的錯誤,其中多數(shù)通過調(diào)換模塊順序或修改變量數(shù)值來完善已編寫好的程序,直到腳本邏輯符合自己的理想狀態(tài)才進行測試。這一過程是學生預測性思維的表現(xiàn)。預測性思維作為一種復雜的高階思維,在小學高年級中只有少數(shù)學生具備。教師可以適當引導學生對程序的執(zhí)行結(jié)果進行預測,將Scratch編程作為發(fā)展學生預測性思維的有效載體。
第三,評價推動學生對編程行為的自我反思及作品優(yōu)化。編程活動中的評價性行為分為兩種情況。一種是面向操作,與修改相關聯(lián),可以根據(jù)操作行為進行表征的評價性行為。有少部分學生對自己的作品細節(jié)作出評價并加以修改完善,如一名同學經(jīng)過測試發(fā)現(xiàn)作品中的小魚下降速度太快,便添加了“等待n秒”模塊,讓小魚下落的速度符合自己的標準。另一種是未面向操作,根據(jù)一定的評價量規(guī),從多方面對自己的編程結(jié)果作出評判的行為。針對此種評價性行為研究采用訪談加以補充。評價與學生所理解的成功標準相關。由于每個學生的主觀審美和感受不同,當學生發(fā)現(xiàn)結(jié)果與預期不一致時,會努力地識別錯誤,其可能會更改程序,也可能不會更改,因而單純依靠操作行為很難體現(xiàn)學生對編程結(jié)果的最終評價。在訪談中發(fā)現(xiàn),許多學生對自己的作品有一定的評價,但對于作品的不足并沒有作出相應的修改與完善,多數(shù)同學表示這是因為課堂時間有限,只有個別同學會利用課余時間進行修改。評價與修改程序需要學生運用迭代策略不斷對其進行完善,因而教師需要培養(yǎng)學生的恒心和毅力,并從量與質(zhì)兩個維度制定合適的編程評價量規(guī),鼓勵學生通過記錄日志或心得的方式來進行自評和組評,充分發(fā)揮多元評價主體的作用。
第四,創(chuàng)造激發(fā)編程行為產(chǎn)生新產(chǎn)品。在創(chuàng)造性行為方面,有48.8%的學生(20人)為編程游戲添加了新角色,如螃蟹、老鼠等,甚至有學生完全基于個人想法,重新編排了游戲情節(jié),如猴子摘香蕉、小貓捉老鼠等;超過1/4的學生為游戲設計了新場景(11人)、添加了新動作(12人),如讓小魚橫向游動,更換新觸發(fā)器等;還有個別同學為角色添加了新的造型以實現(xiàn)角色在不同造型之間的切換。創(chuàng)造性思維是認知目標的最高層次,學生在編程的各個環(huán)節(jié),均可以通過創(chuàng)造性思維設計新事物、做出新產(chǎn)品。Scratch編程不僅滿足了學生的編程需求,還提供了角色造型庫和繪畫功能,拓展了學生的想象空間,對于培養(yǎng)學生的創(chuàng)造性思維卓有成效。
(2)編程行為與計算思維間的關系
從表3中的總時長占比結(jié)果來看,學生在Scratch編程過程中,“應用”(41.29%)與“分析”(28.56%)相關事件約占總編碼時長的70%,其中分步驟創(chuàng)建腳本(32.72%)、分析修改測試后的腳本(17.36%)花費的時間最多。結(jié)合對總時長占比和材料來源數(shù)量的分析,可以看出,多數(shù)學生達到低階思維層次,學生整體上在低階思維相關事件上所花時間較多,總時長占比約為59%(其中,“知道”占7.77%,“理解”占9.86%,“應用”占41.29%),而達到復雜高階思維層次的人數(shù)較少。通過平均時長占比數(shù)據(jù)可以看出,達到高階思維層次的學生在高階思維相關事件上的平均時長占比之和約為58%(其中,“分析”占34.03%,“評價”占8.82%,“創(chuàng)造”占15.39%),高于低階思維相關事件的平均時長占比之和,這表明高階思維相關事件需要學生花費更多的時間來進行思考和操作。
對編程模塊的使用情況和操作行為進行統(tǒng)計后發(fā)現(xiàn):對于小學生而言,在計算概念層次上,數(shù)據(jù)是基礎,被普遍使用,而操作(關系運算和邏輯運算)是存在學習困難的概念,只有少數(shù)學生使用;序列、條件和循環(huán)作為程序設計的三大邏輯結(jié)構,學生使用最多的為序列塊,條件塊多使用單一條件,循環(huán)塊普遍使用較易掌握的永久重復執(zhí)行,而相對復雜的條件循環(huán)塊則使用甚少;學生多使用串行執(zhí)行結(jié)構解決問題,而對并行執(zhí)行結(jié)構的運用還存在較大困難。在計算實踐層次上,試驗與迭代、測試與調(diào)試是學生應用與分析思維中常用的實踐策略,但其花費時間較長;對于編程任務整體算法的設計與分解(抽象與模塊化)需要教師進行詳細的引導和規(guī)劃;對概念塊的使用還不能有效做到舉一反三,仍停留在理解與應用等較低層面上,計算實踐的整體水平偏低,多為低階認知目標水平的實踐。在計算觀念層次上,質(zhì)疑觀念最為突出,而利用計算工具創(chuàng)造性表達自我的觀念較薄弱,分享“連接”觀念對于概念化任務和錯誤、調(diào)試與迭代的效率提高有顯著作用。
編程亦是“人工智能+”教育的重要方式,學生在創(chuàng)建、修改、測試和分享作品的過程中,通過不斷調(diào)整和反思,既獲得了知識技能,又提高了計算思維能力,這符合個體的認知發(fā)展規(guī)律,有助于對學生信息技術核心素養(yǎng)的培養(yǎng)。進一步的研究可考慮:(1)多層次的數(shù)據(jù)獲取與多任務類型的設計。一方面,面向小學、初中、高中等不同學段群體開展研究;另一方面,除游戲案例外,設計多類型任務(如故事、音樂、動畫等),增強研究的普適性。(2)除自身操作性學習行為外,有必要進一步系統(tǒng)研究小組合作、教師評價等因素對學生認知水平、計算思維的深層次影響。(3)針對計算思維遷移的研究。本文是在編程學習平臺下開展的研究,而將研究情景遷移到日常的實際問題解決中,可進一步挖掘認知水平與計算思維間的關系。
參考文獻:
[1]陳國良,董榮勝(2013).計算思維的表述體系[J].中國大學教學,(12):22-26.
[2]國務院(2017).國務院關于印發(fā)新一代人工智能發(fā)展規(guī)劃的通知[EB/OL].[2019-01-10].http://www.gov.cn/zhengce/content/2017-07/20/content_5211996.htm.
[3]教育部辦公廳(2019).教育部辦公廳關于印發(fā)《2019年教育信息化和網(wǎng)絡安全工作要點》的通知[EB/OL].[2019-03-15].http://www.moe.gov.cn/srcsite/A16/s3342/201903/t20190312_373147.html.
[4]李廉(2012).計算思維——概念與挑戰(zhàn)[J].中國大學教學,(1):7-12.
[5]任友群,黃榮懷(2016).高中信息技術課程標準修訂說明[J].中國電化教育,(12):1-3.
[6]吳忭,王戈(2019).協(xié)作編程中的計算思維發(fā)展軌跡研究——基于量化民族志的分析方法[J].現(xiàn)代遠程教育研究,(2):76-84,94.
[7]戰(zhàn)德臣,聶蘭順(2013).計算思維與大學計算機課程改革的基本思路[J].中國大學教學,(2):56-60.
[8]張進寶(2019).計算思維教育: 概念演變與面臨的挑戰(zhàn)[J].現(xiàn)代遠程教育研究,31(6):89-101.
[9]ACARA (2012). Draft Shape of the Australian Curriculum: Technologies[EB/OL]. [2019-06-09].? https://docs.acara.edu.au/resources/_of_the_Australian_Curriculum_Technologies_paper_
_March_2012.pdf.
[10]ACM, Code.org & CSTA et al. (2016). K-12 Computer Science Framework [EB/OL]. [2019-06-09]. https://k12cs.org/.
[11]Brennan, K., & Resnick, M. (2012). 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, Canada: AERA:1-25.
[12]Chen, G., Shen, J., & Barth-Cohen, L. et al. (2017). Assessing Elementary Students Computational Thinking in Everyday Reasoning and Robotics Programming[J]. Computers & Education, 109:162-175.
[13]Department for Education (2014). National Curriculum in England: Framework for Key Stages 1 to 4 [EB/OL]. [2019-03-07]. https://www.gov.uk/government/publications/al-curriculum-in-england-framework-for-key-stages-1-to-4/al-curriculum-in-england-framework-for-key-stages-1-to-4.
[14]Falloon, G. (2016). An Analysis of Young Students Thinking When Completing Basic Coding Tasks Using Scratch Jnr. on the iPad[J]. Journal of Computer Assisted Learning, 32(6):576-593.
[15]Heintz, F., Mannila, L., & F?rnqvist, T. (2016). A Review of Models for Introducing Computational Thinking, Computer Science and Computing in K-12 Education[C]// Frontiers in Education Conference. PA,USA: IEEE: 1-9.
[16]HITSA (2015). ProgeTiger Programme 2015-2017[EB/OL]. [2019-04-15].? https://www.hitsa.ee/it-education/educational-
programmes/progetiger.
[17]Krathwohl, D. R. (2002). A Revision of Blooms Taxonomy: An Overview[J]. Theory into Practice, 41(4):212-218.
[18]Mayer, R. E., Dyck, J. L., & Vilberg, W. (1986). Learning to Program and Learning to Think: Whats the Connection?[J]. Communications of the ACM, 29(7):605-610.
[19]Nardelli, E., & Ventre, G. (2015). Introducing Computational Thinking in Italian Schools: A First Report on “Programma il Futuro” Project[C]// INTED2015 Proceedings (9th International Technology, Education and Development Conference). Madrid, Spain: IATED:7414-7421.
[20]Seow, P., Looi, C. K., & Wadhwa, B. et al. (2017). Computational Thinking and Coding Initiatives in Singapore[C]// Proceedings of International Conference on Computational Thinking Education. Hong Kong: The Education University of Hong Kong:164-167.
[21]Wing, J. M. (2006). Computational Thinking[J]. Communications of the ACM, 49(3): 33-35.
[22]Wing J. M. (2010). Computational Thinking: What and Why?[EB/OL]. [2019-02-13]. http://www.cs.cmu.edu/~CompThink/papers/TheLinkWing.pdf.
收稿日期 2019-06-16 責任編輯 譚明杰