王珂 陳剛



摘 要:教育工作者需要開發與計算思維應用場景相適應的評估工具和方法,以有效評判計算思維培養成效。根據已有計算思維評價研究,基于新版信息技術課程標準中的計算思維定義,結合信息技術學科核心素養要求,構建出能夠有效指導評價開展的計算思維六維要素框架。結合Scratch編程教學介紹具體過程性和總結性評價工具或方法,并就我國K-12階段計算思維評價工作提出注重思維應用多場景性和任務難度層次性、綜合運用多種評價手段、與教育體系和培養實踐相統一等建議。
關鍵詞:計算思維;K-12教育;Scratch編程;信息技術教育
DOI:10. 11907/rjdk. 201402 開放科學(資源服務)標識碼(OSID):
中圖分類號:G433文獻標識碼:A 文章編號:1672-7800(2020)007-0257-05
Evaluation of Computational Thinking: Conceptual Understanding, Framework Elements and Evaluation Methods
——Taking Scratch Programming Course as an Example
WANG Ke,CHEN Gang
(School of Journalism and Communication, Yangzhou University, Yangzhou 225100, China)
Abstract: Educators need to develop evaluation tools and methods suitable for the application scenarios of computational thinking so as to effectively evaluate the cultivation of computational thinking. According to the evaluation of the existing computational thinking, based on the new information technology curriculum standard of computational thinking definition, combining information technology subject core literacy, this article constructs effective computational thinking to guide assessment in six dimensional framework elements, combines with the Scratch of process introduces the concrete programming teaching summative evaluation tools or methods, and puts forward some suggestion to the K-12 stage of computational thinking in China that the evaluation work should pay attention to the application of thinking of multiple scenarios and task difficulty of gradation, the integrated use of a variety of evaluation methods, and the unity with the education system and training practice.
Key Words: computational thinking; K-12 education; scratch programming course; IT education
0 引言
計算思維指計算機科學領域的問題解決方式和思考邏輯。近年來,計算思維培養活動在世界各地持續升溫,將計算思維引入現行教育體系的方式大致分為3種:作為一門全新課程引入、在信息技術課程中嵌入相關內容[1-2]、與其它學科融合(如音樂[3])。不難看出,計算思維正作為一種普適性思維滲透并延伸至其它學科領域。在我國,計算思維已被列入信息技術學科核心素養之一,廣大教師已經進行了相關教育探索[4-5],以推動計算思維教育和現行教育內容相融合。
評價是計算思維培養活動的重要一環,計算思維教學有效性的關鍵之一在于學生計算思維的學習結果得到及時監控并評估。已有研究成果表明,實踐中得以應用的計算思維評價方法形式多樣,如測試題形式評價(計算思維測試題(CTt)[6]、計算思維量表評價(Computational Thinking Scales)[7]等)、專門工具評價(Dr.Scratch[8]、Scrape軟件、計算思維模式圖(Computational Thinking Pattern)[9]等),以及項目式評價(Brandon[10]利用計算機科學不插電活動評價學生不同計算思維維度發展水平、SRI組織[11]在計算思維實踐中觀察學習者行為等)。雖然部分計算思維評價方法的有效性已被驗證,但并不能直接應用于我國教育教學。原因有二:①評價內容以本地區計算思維培養目標為依據,不同地區在計算思維概念理解上存在分歧;②評價與實際教學相統一,需結合教學內容、學習者知識水平、現有教學資源和環境等因素,共同測評學習者計算思維發展水平,調控計算思維教學進度。
目前,我國在計算思維領域的研究大多集中于教學模式方面,對計算思維評價的關注較少。為此,本文在現有計算思維評價研究進展基礎上,基于新版課程標準中的相關定義,以K-12階段普遍開設的Scratch編程課為評價場景,構建計算思維要素框架,介紹評價的具體應用案例。
1 計算思維評價概念取向
評估方法是否具有科學性的關鍵前提是對基本定義把握的準確程度,以及所測量的維度是否為核心概念在不同層次上的體現。目前,計算思維的概念取向可分為3類:①編程語言取向,將計算思維視作使用計算語言表達觀點的過程[12],強調學生能夠使用程序化表征和符號系統解決問題,將算法思維、編程思維視為計算思維的核心;②問題解決取向,計算思維是一種具有廣泛意義的思想方法和問題求解新途徑,是“一個形成問題和制定問題解決方案的思考過程[13]”;③學習者發展取向,計算思維培養需植根于真實、有意義的計算實踐,聚焦參與過程中學習者所體現出的相關行為和態度等[14]。
上述3種觀點各有側重。編程語言取向將計算思維視作一種表征方式,通過使用相關計算符號系統,將知識表達為具體計算成果;問題解決取向強調計算思維是問題求解過程;學習者發展取向則關注在進行計算思維相關實踐后,學習者在情感、性格、行為等個體層面產生的變化。這3種概念取向對計算思維應用范圍的理解逐漸寬泛,由解決編程問題到求解一般問題,再擴展至影響學習者個體表現。
我國發布的2017版《普通高中信息技術課程標準》[15]對計算思維的界定偏向問題解決取向,強調利用計算思維分析數據、處理加工各種信息,并將計算機科學問題的解決路徑遷移至與之相關的其它問題求解過程的能力。本文將該定義作為開發計算思維評價方法的理論基礎,并將計算思維的應用場景設置為面向編程問題和一般問題,意在將編程視為計算思維發展重要載體的同時,強調技能的拓展應用。
2 計算思維評價要素框架
對計算思維概念的抽象理解并不能有效指導教學評價工作,應明確計算思維結構體系,為評價活動提供依據。計算思維評價體系構建主要有兩類方法,一是直接采用或改編偏實踐的計算思維定義,以編程語言取向下的計算思維操作性定義[16]和問題解決取向下的計算思維“三維目標說”[17]為例;第二類方法是研究者在某一概念取向指導下,從各類體系標準、研究文獻、專家評述中自行歸納出評價體系,如學習者發展取向下的SRI評價框架[18]。
問題解決取向下,計算思維在求解問題的不同階段表現為不同形態,據此可分析得到各組成要素。美國國際教育技術協會和計算機科學教師協會給出計算思維操作性定義(Operational Definition),指出“計算思維是一種解決問題的過程,該過程包括明確問題、分析數據、抽象、設計算法、評估最優方案、遷移解決方法六大要素”;Barr等[19]將應用計算思維的問題解決劃分為9個要素;Cohen等[20]構建的計算思維評價指標體系包含5個維度。通過綜合問題解決取向下較有代表性的計算思維評價框架,總結出計算思維六要素框架,并將各要素與Scratch課程中的具體表現進行映射,如表1所示。
3 計算思維評價方法
計算思維是解決問題的思維過程,對計算思維不同角度的解讀決定了研究者在何種情境下開展評價活動,由此構建計算思維要素框架并為評價任務開發提供指導,以保證所開發評估項目的科學性。計算思維評估不僅應全面考察計算思維各要素,還應強調高階認知技能應用(分析、評價、創造等)。此外,要借鑒已有研究經驗,采用多種評價工具和手段,將過程性評價與總結性評價相結合,綜合考察學生在編程場景下的技能應用,以及學生在非計算機科學領域計算思維的遷移情況。
目前,計算思維培養多依托于編程課程進行,但由于學習者年齡較小、抽象思維發展欠缺等,教育者需要考量選取何種編程語言以輔助計算思維教育。若編程語言學習消耗學生過多精力或讓其對編程產生逃避心理,不但會影響評價結果,還不利于他們后續學習興趣和積極性保持。因此,選擇的編程語言多以“低地板、高天花板”為基本原則,并具有公平性、系統性、可移植性、可持續性等特點。滿足這些要求的工具中,圖形化/模塊化編程語言應用較廣泛,如Scratch、Alice、Kodu、App Inventor等,這類工具能夠有效避免學習者陷入編程困境,使他們專注體會算法思維和計算機處理問題的邏輯。本文以Scratch編程課程為例,結合布魯姆教育目標,介紹幾種具體的計算思維評價策略(見表2)。
(1)觀察訪談法。觀察訪談法指從學生話語及行為表現中獲取計算思維發展證據,要求教師或助教實時監控學生學習過程,尤其關注學生在完成Scratch作品關鍵節點前后的表現。其實施方法有2種:①課堂中設置多名助教,每位助教負責2~4名學生;②不設置助教,用錄像設備拍攝課堂全景,之后進行分析。還需注意的是,不同水平學生編程進度不同,如果在授課過程中進行訪談可能會導致課堂失控,在一部分學生接受訪談的同時,必然有另一部分學生的注意力受到干擾或學習處于訪談結束后無事可做的狀態。但若課后進行訪談,可能出現學習者遺忘過程信息,影響訪談效果等情況。
(2)流程圖繪制。流程圖繪制指學生通過教師描述或親身試玩Scratch項目,用流程圖的形式再現角色運行機制。教師可根據所繪流程圖獲取學生的思維邏輯和對Scratch項目的分析能力。實施流程圖需注意,教師應提前通過簡單的案例加深學生對“流程”概念的理解,促使學生掌握流程圖繪制方法。圖1為Scratch“乒乓對抗”項目中,要求學生完成的“乒乓球”角色對應流程圖。
(3)作品分析。作品分析法指通過統計學生Scratch作品中不同難度代碼(如if…else…,if…else…or…)的使用頻率,判定其計算思維發展水平。目前已有Scrape和Dr.Scratch兩個軟件支持Scratch作品的代碼塊檢測,其中Dr.Scratch不僅可以統計代碼塊使用情況,還可區分Scrarch新手和熟練學習者,并給出學習建議。圖2展示了Dr.Scratch給分為8分的Scratch代碼塊:邏輯思維2分(包含一個“if-else”語句)、用戶交互性2分(可通過鼠標與角色進行交互)、抽象和問題分解1分(項目中有兩個腳本)、流控制1分(程序由一系列沒有循環的指令組成)、并行性和同步維度0分。應注意,使用該種方式時,若無特定分析工具支持,則過于耗時耗力,且此類工具只強調最終作品呈現,忽視學生學習過程信息。
(4)糾錯情境設計。糾錯情境設計指教師對選取的Scratch案例作部分語句改動或刪除操作,使腳本運行錯誤。學生需補充或修正代碼,使程序正常運行。此種評價方式要求學生在理解各部分代碼塊作用的基礎上,分析變量和功能語句的合理性,并根據正確運行結果和現有運行結果的差異進行逆向反推,綜合難度較大。以Scratch“打磚塊”項目為例,在“反彈板”和“球”兩個角色中都設置錯誤語句,如表3所示。
(5)測試題遷移。測試題遷移重點考察學生在日常場景中使用計算思維解決問題的能力,幫助學生建立起編程世界與一般環境的聯系。測試題評價操作方便且能很快得出反饋結果,但題目設計有一定難度,不僅要求教師能夠從日常場景中識別出計算思維要素,還要求教師根據Scratch學習進度設計相應難度的遷移測試題目。教師可以借鑒Bebras競賽題目設計思路,Bebras競賽[21]是世界范圍內較有代表性的計算思維挑戰賽,與其它專業競賽不同的是,參與者不需要有編程經驗,題目取材于生活,且根據挑戰者年齡有難度上的區別。圖3和圖4展示了兩個Bebras題目。
[Bebras高中的一個班有39名學生。下面的電話列表是用來傳遞老師的信息的。藍色方框對應的是學生。黑線將每個人與他們必須傳遞消息的人連接起來。
每個電話持續三分鐘。每個人一次只能和一個人通電話。
問題:當老師第一次打電話宣布一條消息時,過了多少分鐘,這條消息才完全傳達給所有39名學生?
(答案:27分鐘)]
[青蛙在池塘邊跳來跳去來鍛煉身體。它按照如下圖所示的順序從一個睡蓮葉子跳到另一個睡蓮葉子。它從標有s的睡蓮葉子開始跳,到現在的這片睡蓮葉子上結束(圖中的青蛙已經跳完了)。每一個黑點都代表著青蛙降落的睡蓮葉子。下面的圖例用整數(從0到7)標記跳轉的8個可能方向。][哪個序列描述了青蛙的路徑?
A. 4,1,0,0,0,6,6,4,4,2,2,1
B. 0,0,6,6,6,4,4,2,2,4,4,1
C. 0,0,6,6,6,0,0,2,2,2,2,4,4,4
D. 6,6,4,4,4,2,4,1,1,1]
教育者在評估時,應圍繞“計算思維”各要素設計評估任務,而不是考察學生對Scratch等教學輔助軟件的操作熟練程度。然而,實際教學活動卻往往重工具使用、輕思維訓練。教育者必須明確任何計算機科學輔助學習設備不等同于學科本身,學生計算思維訓練過程也是引領他們體悟邏輯思維、抽象思維和算法奧妙的過程,更是培養其對計算機科學好奇心和求知欲的過程。同時,應轉變以往注重結果性評價的教學思路,積極學習國內外在計算思維教育領域取得的成功經驗,在教學實踐中不斷探索和嘗試,開發出適合我國學生的計算思維評價工具和手段。
4 研究建議
計算思維培養是思維方式和問題解決方法內化過程,這種內在變化可通過外顯行為觀察并確定其發展水平。由于計算思維內涵的復雜性和培養方式的多樣性,對學生計算思維能力進行有效測評并非易事。尤其在我國,K-12階段的信息技術教育 “培養學生使用數字化工具能力”的觀念正逐漸轉變,以培養學生創造力、探索精神和計算思維為目標的創客空間、STEM特色課程在中小學逐步推廣。然而,這期間出現的理論體系不完善、教學方法不具體、專業師資隊伍短缺等問題也不容忽視。教師在授課時必須避免以往傳統以結果為導向的教學方式,如只關注學生是否完成了積木搭建(如小學低年級開設的樂高課)或程序拖拽(如小學中高年級開設的Scratch創意編程或初中開設的程序設計語言課),卻不關注學生思維變化和學習過程。目前,國內基礎教育階段對于計算思維教育領域的關注大多集中在概念研究、教學模式和教學方法探索方面,計算思維評價有關研究相對缺乏,而評價是計算思維培養活動有效進行的依據。
鑒于對上述問題的思考,在梳理現有計算思維評價方法基礎上,提出以下期望和建議:
(1)確定各階段計算思維發展目標,建立科學的標準體系指導評價。現有計算思維評價方法源于3種概念取向,教育工作者應根據課程形式確定計算思維評價場景,進而定位到對應取向下已有思維要素框架。根據學習者身心發展水平和知識儲備,構建不同要素指標下學生計算思維發展目標,為接下來的教學和評估工作提供指導。
(2)借鑒已有研究成果,開發適合我國國情的計算思維評價工具。國外針對不同計算思維應用場景開發的多樣化評估工具和手段可為我國帶來思路和方法上的借鑒,如Scratch作品自動化分析軟件、在項目式教學中進行觀察訪談等,過程性評價和總結性評價相結合,兼顧計算思維的專業屬性和社會屬性。教師需要綜合考慮現有資源、課程實施方法、學習者水平和發展目標等因素,以選擇合適的評估方法。
(3)推動計算思維跨學科融合,真正提升學生STEM素養。為了更好地培養學生計算思維遷移應用能力,可采取兩種實踐思路:一是進行跨學科教學實踐,將計算思維應用到其它學科的問題解決中;二是在非計算機科學場景下檢測學生計算思維水平,如計算思維遷移測試和Bebras競賽等,幫助學生認識到計算思維適用范圍的廣泛性。
近年來,計算思維在我國的關注度不斷提升,如白雪梅[22]、鐘柏昌[23]等已進行計算思維評價方法的實踐探索。為使計算思維在我國真正落地,必須開發適合國情、能夠體現不同年齡計算思維發展特點和差異的綜合性能力標準體系。為此,廣大教育工作者應在實踐中積極探索評價路徑,深刻理解計算思維概念,充分利用現有資源設計評估框架,確定評估指標,綜合使用多種評價方法和手段,盡可能全面且真實地反映我國學生計算思維發展水平。
參考文獻:
[1] HEINTZ F, MANNILA L, FARNQVIST T. A review of models for introducing computational thinking, computer science and computing in K-12 education[C].? IEEE Frontiers in Education Conference, 2016.
[2] 鄧廣彪. 基于計算思維的趣味任務驅動教學模式研究[J]. 軟件導刊,2016,15(10):199-201.
[3] BARATE A,LUDOVICO L A,MALCHIODI D. Fostering computational thinking in primary school through a LEGO——based music notation[J]. Procedia Computer Science, 2017,112:1334-1344.
[4] 任友群,隋豐蔚,李鋒. 數字土著何以可能?——也談計算思維進入中小學信息技術教育的必要性和可能性[J]. 中國電化教育, 2016,37(1):2-8.
[5] 鄧磊,戰德臣,姜學鋒. 新工科教育中計算思維能力培養的價值探索與實踐[J/OL]. 高等工程教育研究:1-5.2020-04-08. https://kns.cnki.net/kns/brief/default_result.aspx.
[6] ROMAN-GONZALEZ M,PEREZ-GONZALEZ J C,JIMENEZ-FERNANDEZ C.Which cognitive abilities underlie computational thinking?Criterion validity of the computational thinking test[J]. Computers in Human Behavior, 2017,72:678-691.
[7] KORKMAZ O,CAKIR R,OZDEN M Y.A validity and reliability study of the computational thinking scales(CTS)[J]. Computers in Human Behavior,2017,72(JUL.):558-569.
[8] MORENO-LEON J,ROBLES G,ROMAN-GONZALEZ M. Dr. Scratch:automatic analysis of Scratch projects to assess and foster computational thinking[J].? Revista de Educación a Distancia, 2015(46):1-23.
[9] KOH K H, BASAWAPATNA A, BENNETT V, et al. Towards the automatic recognition of computational thinking for adaptive visual language learning[C]. The 2010 IEEE Symposium on Visual Languages and Human-Centric Computing,2010: 59-66.
[10] BRANDON R,STEPHEN K,CYNDI R. Assessing computational thinking in computer science unplugged activities[C]. Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, 2016.
[11] BIENKOWSKI M,SNOW E,RUTSTEIN D,et al. Assessment design patterns for computational thinking practices in secondary computer science: a first look[R]. Menlo Park, CA: SRI International,2015.
[12] WOLZ U,STONE M,PEARSON K,et al. Computational thinking and expository writing in the middle school[J].? ACM Transactions on Computing Education, 2011,11(2):1-22.
[13] WING J M. Computational thinking and thinking about computing[J].? Philosophical Transactions, 2008,366(1881):3717-3725.
[14] MISHRA P,VOOGT J,FISSER P,et al. Advancing computational thinking in the 21st century[R].? Summary Report and Action Agenda, Thematic Working Group 6,2017.
[15] 任友群,黃榮懷. 高中信息技術課程標準修訂說明 高中信息技術課程標準修訂組[J]. 中國電化教育,2016,37(12):1-3.
[16] CSTA,ISTE.Operational definition of computational thinking for k12 education[EB/OL]. [2020-03-30]. http://csta.acm.org/Curriculum/sub/CurrFiles/471.11CTLeadershiptToolkit-SP-vF.pdf.
[17] BRENNAN K,RESNICK M. New frameworks for studying and assessing the development of computational thinking[C]. Proceedings of the American Educational Research Association (AERA) Annual Conference,2012.
[18] LI Y. Research into the computational thinking for the teaching of computer science[C]. 2014 IEEE Frontiers in Education Conference,2014.
[19] 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.
[20] BARTH C,LAUREN,HUANG,et al. Assessing elementary students' computational thinking in everyday reasoning and robotics programming[J].? Computers & Education, 2017,109:162-175.
[21] DAGIENE V,STUPURIENE G. Bebras-a sustainable community building model for the concept based learning of informatics and computational thinking[J].? Informatics in Education,2016,15(1):25-44.
[22] 白雪梅,顧小清. K12階段學生計算思維評價工具構建與應用[J]. 中國電化教育, 2019,40(10):83-90.
[23] ZHONG B C, WANG Q Y, CHEN J. An exploration of three-dimensional integrated assessment for[J].? Journal of Educational Computing Research, 2016,53(4):562-590.
(責任編輯:孫 娟)