陳鵬 黃榮懷 梁躍 張進寶
摘要:計算思維是當前國際計算機領域廣為關注的重要概念,也是信息技術教育中的研究熱點。計算思維是思維方式的一種,是利用計算科學的基本概念和方法,結合工程思維、數學思維等多種思維方式和特點,進行問題求解、系統建構和人類行為理解的思維過程。關注問題解決方案的形成過程,培養學生像計算機科學家那樣去思考問題,是計算思維培養的宗旨。計算思維的培養不等同于程序設計或編程教學。從國際上的經驗來看,可以通過多學科整合和不同教育階段共同關注,將計算思維融入學生知識學習和問題解決過程,從而達到培養學生計算思維的目的。目前美國及歐洲各國的研究中,計算思維受到國家政策與項目支撐較多,亞洲各國在計算思維領域重視程度相對較低。計算思維教育的測評是現階段研究的薄弱環節,是未來研究的重點內容。我國計算思維教育實踐和研究剛剛起步,需要國家和相關研究機構更多重視和支持,在借鑒國外經驗基礎上,構建符合我國教育實踐需求的計算思維培養課程體系、評價方法和教師專業發展策略。
關鍵詞:計算思維教育;信息技術教育;培養體系;評價方式;教師發展
中圖分類號:G434 文獻標識碼:A 文章編號:1009-5195(2018)01-0098-15 doi10.3969/j.issn.1009-5195.2018.01.011
計算機技術發展日新月異,不僅影響著我們的生活、思維方式和習慣,也深刻影響著我們的思維能力。當前,計算的觀念正滲透到宇宙學、物理學、生物學乃至社會科學等諸多領域。計算不但已經成為人們認識自然、生命、思維和社會的一種普遍方法,而且正在試圖成為一種全新的世界觀。面對世界各國遭遇的各種環境、生態、能源、安全、經濟、政治等諸多復雜問題,培養跨領域思考、具有高度理性與客觀、以問題解決為導向的復合型人才已經是大勢所趨。2006年美國卡內基梅隆大學周以真教授定義“計算思維”是“一種運用計算機科學基本概念求解問題、設計系統和理解人類行為的方式”,并闡述其不僅僅屬于計算機科學家,而是每個人的基本技能(Wing,2006)。計算機科學與電信委員會(Computer Science and Telecommunications Board,CSTB)認為,計算思維是21世紀學生的核心能力,與閱讀、寫作與算術等基本技能同等重要(CSTB,2010;Qualls & Sherrell,2010),是學生發展核心素養的重要組成部分,其教育重視程度決定了各國未來創新競爭力的水平。2017年7月,首屆以計算思維教育為主題的國際性會議(International Conference on Computational Thinking Education 2017,CTE2017)在香港教育大學召開,來自全球的教育者和研究者分享了在不同教育語境下系統進行計算思維教育的實踐研究經驗。我國在新一輪普通高中信息技術課程標準中,也將計算思維列為信息技術課程和核心學科素養。計算思維教育已是當前國際計算機領域廣為關注的一個重要概念,也是當前信息技術教育研究的一個重要課題。為了解當前國際計算思維政策和研究現狀,筆者對近10年(2006-2016年)國際上有關計算思維的研究文獻以及首屆計算思維教育國際會議的論文(CTE2017)進行分析,重點探討當前情境下計算思維教育的實踐現狀和未來發展,為我國計算思維的理論研究和實踐探索提供參考。
一、計算思維的概念及內涵
“計算思維”是思維方式的一種,不同專家對計算思維的關注點和側重有所不同。周以真教授2006年提出“ 計算思維是一種運用計算機科學基本概念求解問題、設計系統和理解人類行為的方式” (Wing,2006) ;2011年,她對計算思維進行重新定義,認為“計算思維是一種解決問題的思維過程,能夠清晰、抽象地將問題和解決方案用信息處理代理(機器或人)所能有效執行的方式表述出來”(Wing,2011)。與此同時,隨著對計算思維研究的不斷深入,一些學者及研究機構對計算思維也進行了定義。Denning(2009)認為計算思維最重要的是對于抽象的理解、不同層次抽象的處理能力、算法化的思維和對大數據等造成的影響的理解。Aho(2012)提出計算思維是問題界定的一種思維過程,它可以使解決方案通過計算步驟或者算法來表示。我國學者董榮勝等認為計算思維是運用計算機科學的思想與方法去求解問題、設計系統和理解人類的行為,它包括了涵蓋計算機科學之廣度的一系列思維活動(董榮勝等,2002)。
2011年,美國國際教育技術協會(International Society for Technology in Education,ISTE)與計算機科學教師協會(Computer Science Teachers Association,CSTA)聯合提出了計算思維的操作性定義,將運用計算思維進行問題解決的過程進行了表述。此定義將計算思維界定為問題解決的過程。在這個過程中,先形成一個能夠用計算機工具解決的問題,然后在此基礎上邏輯化組織和分析數據,使用模型和仿真對數據進行抽象表示,再通過算法設計實現自動化解決方案;同時,以優化整合步驟、資源為目標,分析和實施方案,并將解決方案進行總結,遷移到其他問題的解決中(ISTE & CSTA,2011a)。英國皇家科學院將計算思維定義為“識別我們周圍世界中有哪些方面具有可計算性,并運用計算機科學領域的工具和技術來理解和解釋自然系統、人工系統進程的過程”(Royal Society,2012)。這一定義的核心在于發現各種不同類型、不同層次計算問題,以及通過計算機技術和工具對人工和自然系統進行剖析和理解。
以“計算思維”為關鍵詞在Web of Science、ScienceDirect、 ERIC、ACM Digital Library數據庫進行搜索,共獲得2006-2016年285篇SSCI論文。排除沒有涉及計算思維定義、概念和研究范圍的文章,最后獲取相關文章134篇。對其中的概念、定義、特征和要素等進行分析發現:學者們對計算思維定義的描述中所使用的詞匯頻率從高到低為:問題解決(Problem Solving,25%)、抽象(Abstraction,12%)、過程(Process,11%)、計算機(Computer,10%)、算法(Algorithm,7%)、數據(Data,7%)、科學(Science,6%)、有效(Effective,5%)、概念(Concepts,5%)、能力(Ability,5%)、分析(Analysing,4%)和工具(Tools,3%);對計算思維特征的描述中最常使用的詞匯為抽象(Abstraction,22%)、算法思維(Algorithm Thinking,15%)、問題解決(Problem Solving,14%)。這個結論與Ioannidou等人(2011)的研究發現一致:在計算機科學研究中,計算思維最常見的特征是抽象、算法思維和問題解決。
綜上所述,目前關于計算思維的定義雖然并沒有形成較為統一的定義,但在進行計算思維的闡釋時,很多學者都描述了計算思維的主要構成元素。學者們對要素的意見都較為一致,綜合來看,主要包括抽象、概況、分解、算法、調試等(Angeli et al.,2016)。同時,關于計算思維的內涵,大部分學者較為認可周以真教授的觀點,即“概念化,不是程序化;根本的,不是刻板的技能;是人的,不是計算機的思維方式;數學和工程思維的互補與融合;是思想,不是人造物;面向所有的人,所有地方” (Wing,2006)。
二、計算思維的教育價值
根據CSTA 2013年的一份研究報告,美國信息與計算機行業面臨著人才短缺的局面;2020年,將有920萬與STEM有關的工作,其中一半需要掌握計算機科學知識和技能。計算機人才的培養與國家的經濟命運息息相關。當下中國的信息技術教育著重在教會學生如何利用現有軟件與工具,完成日常生活中的信息瀏覽、加工與表達,對學生創造能力和實際解決問題能力培養的關注度不夠。
開展計算思維教育有助于提高學生信息技術知識與技能,培養學生跨學科、綜合應用學科知識解決問題的能力,提高學生的內驅力和創新力。美國麻省理工學院的Hal Abelson教授在CTE2017會議上指出,教育者越來越強調計算思維對年輕人的重要性。計算思維包括的不僅僅是技能知識,對計算思維的支持也使賦予數字化世界生命的計算理念得到尊重,對計算理念的認同也使得計算活動成為可能,年輕人也可以由此通過計算思維來改善他們的生活、家庭與社會。作為教育者,我們有責任讓學生意識到這些可能,并去幫助他們成為不斷變化的信息時代的合格公民(Abelson,2017)。香港溢達集團董事長楊敏德女士也在CTE2017會議上從整個社會和企業的發展、創新與創造力的角度談到計算思維教育。她認為創新與創造是驅動各地區向知識型社會轉型的重要理念與策略,也是當前社會和企業發展的核心要素。如何將每個人尤其是年輕一代培養成為更具創造力與創新能力的人是這個社會的重大責任和關鍵問題。楊女士認為計算思維不僅僅是一種技術型的技能,更是一種分解與整合不同思想、針對某問題形成實際解決方案的基本能力(Yang,2017)。
三、計算思維教育政策及投入
加強以計算思維為核心的計算機科學教育,提升全民的數字素養,面向未來提升國家在信息技術相關領域的實力,已經成為世界主要發達國家的共識。美國、英國、新西蘭、新加坡、澳大利亞等國家和地區對計算思維培養十分重視,不僅在人才培養計劃和課程體系中納入了計算思維,同時也從國家層面啟動了多種計算機科學教育研究項目,并加大資金投入支持計算思維教育的實踐和研究。
2016年1月,美國推出“為了全體的計算機科學”(Computer Science for All,簡稱CS for All)計劃,預計投入40億美元和1億美元分別資助各州以及學區推進K-12計算機科學教育①。同年,美國自然科學基金委(National Science Foundation,NSF)與國家與社區服務公司(Corporation for National and Community Service,CNCS)宣布為計算機科學教育研究提供可用資金1.35億美元。2016年11月,最新版的美國《K-12計算機科學框架》發布,提出新時期美國K-12計算機科學教育的發展愿景及實現路徑,明確了計算系統、網絡和互聯網、數據和分析、算法和編程、計算的影響等五大核心概念,提出了創建全納的計算文化、通過計算開展合作、識別和定義計算問題、發展和使用抽象思考、創造計算產品、測試和改善計算產品、計算的溝通等七大核心實踐,以及計算機科學和學前教育重要理念的整合途徑(盧蓓蓉等,2017)。2018年,NSF將以支持CS for All為依據,單獨為計算機科學教育設置支出項目,每年投入2000萬美元(NSF, 2018)。
英國政府2013年11月發布了國家計算課程的目標框架,以計算思維的核心概念和主要內容為基礎,提出課程培養的四段目標;在基礎教育階段,發展學生的分析問題、解決問題、設計和計算思維技能,并使其能應用這些技能(U.K.,2013)。同年,英國對計算機協會(BCS)投資1100萬英鎊,幫助其發展一項提高小學教師計算機能力的項目,以確保小學計算機教師的授課能力。2016年12月,在歐洲委員會和布魯塞爾Digital Europe推出的數字技能和工作聯盟的推動下,Oracle公司提出將在三年內投入14億美元,用于支持歐洲的計算機科學教育②。
新西蘭當前的“技術背景知識和技能”(Technological Context Knowledge and Skills)計劃中強調了包括“編程與計算機科學”在內的五項數字技術核心培養內容,這一計劃從2011年開始在中學課程中實施(Ministry of Education of Newzealand,2009)。
新加坡政府推動“Code@SG運動”發展全民計算思維,實現計算思維的常態化。新加坡與其他國家不同之處在于,計算課程非必修,主要面向有編程興趣的、適齡的學生(Singapore Government,2014)。
澳大利亞于2012年推出“中小學技術學科課程框架”(The Shape of the Australian Curriculum: Technologies),將“數字素養”納入學生基本能力要求。框架指出數字技術課程的核心內容是應用數字系統、信息和計算思維創造滿足特定需求的解決方案(ACARA,2012)。
我國香港地區,由香港賽馬會慈善信托基金設立,香港教育大學、美國麻省理工學院及香港城市大學合作進行為期4年的CoolThink@JC計劃,開展計算思維教育相關的研究和實踐③。該計劃預期在香港培訓100名小學教師,為32所學校的16500名小學生提供計算思維教育,啟發學生在日常生活中的數字創意,幫助學生超越單純的計算機技術使用,轉變為利用技術來解決問題、進行創造和創新。
總的來說,在計算思維教育的政策支持方面,美國、英國和亞洲地區具有相對明顯的差異。美國及歐洲各國的研究,受到國家政策支持、項目支撐較多。中國、新加坡等亞洲國家和地區雖然在政策中略有提及,但是具體的政策支持和項目立項較少。美國政府及相關機構對于計算思維研究的支持力度最大,政策關注度和資金投入度都高,研究方向最廣,研究成果也相對豐富。
四、計算思維教育的研究與實踐
雖然計算思維的研究始于1980年,但從2006年起,計算思維在教育中的應用研究才逐漸增多,其研究領域從計算機學科到人文學科,從基礎教育到高等教育,從個人實踐到政府政策,從單個學校到整個地區或國家。
1.計算思維教育等同于編程教育嗎
作為一個全新的專業術語,計算思維教育的實施引發了學界爭論。雖然程序設計是發展學生計算思維的一種重要載體,但計算思維教育不僅僅是編程教育,其關注的是利用信息技術解決問題的能力,強調學生信息化認知方式的發展,強調在真實體驗與實踐應用中發展學生利用信息技術思考與解決問題的獨特能力。
信息技術課程是計算思維教育的一種重要方式。通過信息技術課程,學生可以了解計算思維運作的屬性與法則,建立計算思維的概念結構等,但是計算思維的培養不僅僅局限于信息科學課程。2015年,美國總統奧巴馬簽署《STEM教育法令》(擴展版)(U. S.,2015),將計算機科學納入美國教育的發展戰略。美國計算機教師協會(CSTA)定義的中小學計算機科學標準在小學、初中、高中三個階段均倡導了計算思維與社會、語言藝術、數學與科學等課程的整合。
美國范德堡大學的Gautam Biswas教授(2017)認為,盡管目前已經發現計算思維與STEM教育之間的協同效應,但對計算思維的領域共性與科學表示的領域特性之間的互換協調與探索,是教育領域的重大挑戰。為了在STEM與計算思維學習中縮減這一差距,他們開發了基于計算機的學習環境——CTSiM,采用計算思維的仿真與建模方法,開展K-12的科學教育。CTSiM為構建具有可執行性的計算模型提供了一個基于主體、特定領域的可視化編程界面,同時能讓學生使用模型進行模擬操作,并與專家模型進行比較。通過對田納西州中部公立學校六年級學生的初步研究證明,CTSiM能夠幫助學生克服困難,同時讓學生在此環境中對科學現象進行學習并獨立建模(Basu et al.,2013)。
Swanson等人在NetLogo模型支持的、具備豐富計算環境的科學課程中,研究該類課程對于發展學生計算思維能力的效果(Swanson et al.,2017)。課程由3名9年級的生物教師講授,133名高中學生持續一個學年參與課程。在課程中對學生進行前后測,并根據評價量規進行編碼和評分,以評價他們在建模和仿真實踐兩個學習目標上的知識掌握程度和目標實現情況。研究結果表明,這類具有豐富計算環境的科學課程能有效地提升學生的模型識別能力。
Pollack等人基于Equation-Based Model(EBM)開展通過計算機仿真描述物理現象的課堂教學(Pollack et al.,2017)。研究對課程的期末項目進行了分析,并認為該教學法對于學生的意義學習以及掌握課程中所涉及的計算思維具有一定潛力。
Hutchins等人以在物理課堂中完成一個Scratch項目為任務,通過前后測來分析40名高中學生在計算思維學習過程中的自信水平(Hutchins et al.,2017)。結果發現在計算思維的“抽象、控制流、分解和條件邏輯”這四個維度上男生較女生的自信水平高,但這種自信水平的差異對完成建模任務并沒有顯著性影響。
可見,在非信息技術學科課程中,將培養計算思維作為課程的重要目標之一已經被越來越多的教師和研究者們所認可,他們也紛紛通過實踐來驗證這一目標的可行性和意義。顯然,計算思維教育雖然需要信息技術課程進行專業支持,但不能限制于信息技術課程之中,整合學科、綜合課程同樣是發展學生計算思維的重要途徑。
2.從什么階段開始培養計算思維
(1)高等教育階段的計算思維培養
國外高等教育階段的計算思維培養研究主要采用實驗研究和案例研究,大部分引入計算工具,采用游戲化教學方式,在計算機學科、STEM教育中進行研究,通過融入計算思維來輔助學生的知識學習和問題解決,從而達到培養學生計算思維的目的。如Kose等人(2013)采用實驗研究的方法,在e-Learning環境和傳統教師主導的課堂環境下進行對比教學實驗,并進行相關數據分析;Hung(2012)在課堂教學中采用實驗研究的方法,運用圖解、類比等方法進行教學并與傳統的講解式教學進行對比;Ismail等人(2010)在教學中運用思維導圖工具、協作學習等方式來進行教學實踐,并與傳統的教師主導型課堂進行對比,驗證其對于學生學習效果的促進作用以及對學生計算思維培養的效果。
我國《九校聯盟(C9)計算機基礎教學發展戰略聯合聲明》中將計算思維能力培養作為計算機基礎教學的核心任務④。我國高等教育階段對于計算機思維的培養以理論研究為主,實踐研究為輔,且主要在計算科學學科課程中進行。理論研究方面主要探討計算思維的培養對于大學基礎計算機教育的改革有怎樣的價值和意義(王移芝等,2012;戰德臣等,2013;李廉,2013),以及如何在計算思維的理念之下進行大學計算機課程設計(姚天昉,2012;任艷霞,2016)。在實踐研究方面,大部分學者以高等教育計算機課程為研究載體,在課程中融入計算思維,并通過實踐數據分析來檢驗教學效果以及是否實現了培養學生計算思維的目標。例如,計算思維在程序設計基礎課程中的運用與實踐、計算思維與C語言程序設計課程的結合等(陸漢權等,2012;汪紅兵等,2014)。
總的來說,目前關于高等教育計算思維培養的研究中,研究者主要關注三個問題:計算思維的定義、計算思維在計算科學課程中的應用問題以及在除計算科學課程以外的學科中運用計算思維的策略等(Israel et al.,2015)。
(2)K-12教育階段的計算思維培養
國外對于K-12階段的計算思維培養十分重視,很多國家都在其人才培養計劃和課程體系中納入了計算思維。在國家政策支持和機構研究的基礎上,很多專家學者對于K-12階段計算思維的培養進行了多維度的探索。2011年,CSTA和ISTE在NSF支持下聯合出版了“計算思維教師資源”第二版(ISTE & CSTA,2011b)。這份報告不僅規范了K-12教育中計算思維培養的研究,同時還為廣大教師和學校進行計算思維教育教學實踐提供了可信度較高的培養目標標準、豐富的支持資源和參考性較強的課程方案。2014年,Linda Mannila等面向K-9教育階段的計算思維進行了一個跨國、跨地區的政策分析和教師實踐研究,分析了芬蘭、意大利、立陶宛、荷蘭、瑞士以及美國等國家在K-9階段計算思維教育的基本情況,發現在這些國家中,雖然大部分國家對于計算科學和編程教育十分重視,但是教育中對于結果的關注大于對過程的關注。對教師的問卷調查發現,大部分教師已經嘗試在課堂中融入計算思維教學,并通過一些編程工具和軟件來支撐教學,但是在目前的實踐中,教師們對于學生計算思維的培養主要針對數據表示、收集和分析這一初級層次,對于抽象、算法、并行以及建模和仿真這些中、高級計算思維技能的培養較少涉及(Mannila et al.,2014)。
我國在K-12教育階段計算思維培養的研究中,理論研究與實踐研究所占比例較為相近。在理論研究中,一些專家學者主要探討了在計算思維理念和培養目標之下,基礎教育階段信息技術課程的核心價值和主要任務以及在中小學信息技術教育中引入計算思維、培養學生計算思維的重要性。任友群等(2016)指出,“中小學信息技術課程是信息技術教育的基本途徑,應當順應時代特征,承擔起發展學生計算思維的重要任務。”信息技術基礎教育專家李冬梅認為“中小學信息技術教育的學科價值除了讓學生掌握必要的知識與技能外,更重要的是培養學生運用這些知識和技能解決實際問題的能力。而要做到這一點,就一定要讓學生逐漸熟悉信息技術學科的思維方式”(劉向永等,2013)。
在實踐研究方面,我國學者主要采用將計算思維融入現有課程中的方式,與某種特定的教學方法或教學模式結合,如PBL、合作學習、任務驅動等,創建計算思維教學的案例(牟琴等,2011;葛明珠,2014;生詩蕊,2016)。在高中信息技術課程中,研究者主要采用將計算思維與現存的Flash制作、程序開發基礎等課程相融合,改變原有的教學方式,重新設計教學活動和教學過程,以培養學生的計算思維(楊男才,2013;李靜,2015);在小學階段,則較多的采用游戲化教學的方式,使用可視化編程工具如Scratch、App Inventor等,提升學生的學習興趣,培養學生一些簡單的計算思維能力(趙蘭蘭,2013)。
(3)學前教育階段的計算思維培養
大量的研究表明,只要合理設計與利用計算機科學,ICT 將有助于 3~6 歲兒童智力、語言、社會性、創造力等的發展(張炳林等,2014)。美國計算機教師協會(CSTA)定義的中小學計算機科學標準中提到在幼兒園階段,主要是通過體驗活動,來激發、引導與幫助幼兒理解計算作為社會的重要組成部分,鼓勵其學習、創新與探究。最新的《K-12計算機科學框架》中特別關注學前教育中的計算機科學教育,并將此作為一個獨立的章節。其中指出,計算機科學不僅僅是一個開發技術能力和知識內容的工具,它還可以嵌入基于游戲的早期學習實踐中(盧蓓蓉等,2017)。近些年出現了很多面向低齡兒童的計算思維教育產品,例如,Wondershare機器人、Google Blockly、Robot Turtles、Scratch Jr、Bee-Bot、Cargo-Bot、Daisy the Dinosaur等。其中,Cargo-Bot就是一款移動App應用程序,通過設置指令指揮機器人移動木箱,內容包括迭代、排序算法、分類、模式及執行效率等概念。Leidl等人利用谷歌分析工具對趣味編程平臺Scratch Jr(面向5~7歲幼兒的編程工具)一年的用戶學習數據和行為進行分析,發現對幼兒階段的計算思維發展起到了一定的促進作用(Leidl et al.,2017)。Sullivan等人利用KIBO機器人(一款專門為4~7歲幼兒設計的產品為工具),讓兒童在游戲中通過組裝和編程控制機器人的方式來學習計算思維(Sullivan et al.,2017)。
計算思維是現代社會中每個人應該必備的技能,計算思維教育需要針對不同人群采用不同的教育方法,引導其體驗信息技術的應用情境,理解信息社會生活方式,感受現實生活中計算思維的真實存在,逐步培養學生利用信息技術思考和解決問題的方式與能力。
3.如何評價計算思維
計算思維的評價對計算思維在實踐中的應用效果研究有重要價值,同時也影響著計算思維領域研究的發展。Schwarz等人采用一系列的方法來評價計算思維,如前后測問卷、反饋性訪談以及學生課堂交互觀察等(Schwarz et al.,2009);Repenning等人設計了基于搬運工游戲的五個問題情境來真實地評價學生的計算思維能力(Repenning et al.,2010);Fields等人通過學生調試預先編輯的錯誤程序來檢驗他們的工程和編程技能水平(Fields et al.,2012);Werner 等人在研究中使用了一個基于Alice平臺的“仙女評價”系統,通過學生自創的或者程序作品草圖設計來評價學生對于抽象、有條件限制的邏輯、算法思維以及其他用來解決問題的計算思維概念的理解和使用(Werner et al.,2012);Dorling 和 Walker等人開發了一個“計算發展路徑”框架,闡述了學生在學習算法、信息技術等概念時的基本路徑,該框架所涉及的概念與計算思維的核心概念相一致(Dorling et al.,2014)。
綜上所述,常見的計算思維測評方式和工具有以下幾種:
(1)計算思維總結性評價測試
主要包括基礎編程能力測試(Mühling et al.,2015)和計算思維知識內容測評,例如Meerbaum-Salant 等人提出的基于Scratch教學情境的評價工具(Meerbaum-Salant et al.,2013);以及那些以計算思維為核心的計算機課程中,用于測試學生對計算概念理解程度的測評工具。
Román-González等人開發的計算思維測試(CTt)是一項由28道選擇題組成的可通過電腦或移動終端進行的線上測試(Román-González et al.,2017)。CTt的每題都以“迷宮”或“畫布的形式出現,每次答題時間不超過45分鐘,答案選項都為箭頭圖像或模塊圖像。測試題按照難易程度排序,包括基本方向和序列,循環-重復次數,簡單條件的if語句,復雜條件的if/else語句、while語句,簡單函數等。例如圖1中,通過迷宮的形式考查循環-重復次數(嵌套)的問題。
(2)計算思維形成性迭代測試
計算思維形成性迭代測試工具通過在特定的編程環境中,自動為學生提供反饋信息的方式來幫助學生提升計算思維技能。常見的計算思維形成性迭代測試有Scratch環境下的Dr. Scratch(Moreno-León et al.,2015)和Ninja Code Village(Ota et al.,2016),Grover等人(Grover et al.,2016)為Blockly研發的工具,以及適用于AgentSheets的計算思維模式CTP圖形(Koh et al.,2010)。
Dr. Scratch(http://drscratch.org/)是一款免費、公開的網絡應用程序,通過分析Scratch作品中的源代碼來評估學生對計算思維能力的掌握程度。它能夠幫助教師和學生自動分析Scratch編程作品,同時給出反饋,幫助學生提高編程技能,發展計算思維能力。Dr. Scratch根據計算思維能力的“抽象與問題分解、邏輯思維、同步、并行、順序控制、用戶交互、數據表示”7個維度進行評價,每個維度給出1~3分的分值,細分“基礎、中等和熟練”三個等級。圖2展示了一項Scratch作品的源代碼,Dr. Scratch判定該作品得分為8分,判分原因為其包含了if-else語句,邏輯思維得2分;玩家使用鼠標與精靈交互,用戶交互得2分;作品使用變量,數據表示得2分;作品中有兩個精靈,抽象與問題分解得1分;程序由無循環的序列指令組成,順序控制得1分;并行與同步得0分。
圖2 “捉迷藏”(“catch me if you can”)的源代碼⑤
可見,在此類針對程序進行評價的方式中,對程序復雜性的評價尤為關鍵。通過分析程序的復雜性,能反映出學生在計算思維中抽象、并行等多方面的理解和應用水平。Ruan等人在現有的基于文本編程語言的程序復雜性評價方法中,選取了Halstead軟件復雜性度量法及其補充方法,在采用模塊化編程的App Inventor程序中進行應用(Ruan et al.,2017)。通過對50名隨機用戶的App程序進行分析發現,這兩種方法對于App Inventor的程序復雜性分析都并不十分適用。研究者希望能有更多學者關注這一研究方向,開發出適用于模塊化編程語言的程序復雜性度量方法。
(3)計算思維技能應用測評
此類測試的目的是考查學生將計算思維技能應用于不同問題中的能力。例如Bebras測試(Dagiene et al.,2008),評價學生將計算思維技能應用于現實生活中的問題的能力;CTP-Quiz(Basawapatna et al.,2011),關注學生將計算思維技能應用在科學模擬的情景中的能力。
近幾年,計算思維挑戰賽在世界各地紛紛展開,受到很多學者的關注,很多國家也積極參與賽事。計算思維挑戰賽主要是通過一系列的情境問題來考察學生的計算思維水平,不同的題目針對不同的計算機科學概念以及運用計算思維進行問題解決的能力。Bebras測試⑥是基于Bebras國際計算思維挑戰賽設計的一系列活動。該賽事2003年誕生于立陶宛,旨在從計算思維的角度出發推動世界中小學計算機科學教育領域的發展。大賽每年采用一套全新試題,通過現實生活中的問題以及一些熱點問題來反映學生的計算思維能力。Bebras測試不同于其他軟硬件,任何沒有編程經驗的人都可以參加測試。基于這些特點,Bebras測試可以說是未來計算機領域PISA(國際學生評估項目)測試的雛形。
(4)計算思維編程效能感測評
江紹祥教授(Kong,2017)將計算思維與心理學研究相結合,開發并驗證了一個面向小學高年級學習者的編程自我效能感量表。該量表適用于模塊化編程環境,由兩個分量表組成,分別針對學習者的兩方面能力:編程知識和編程技能。研究者通過對106名參與編程課程的小學生進行在線問卷調查,證明量表的信度良好、有效性高,能夠較好地測試小學高年級學生的編程自我效能感。
研究者認為單獨使用上述任何一種測評工具,對學生計算思維能力發展的理解都會有所偏差。Brennan和Resnick提出,單看學生編寫的程序,并不能體現他們的計算思維能力。他們強調多種測評手段并用的必要性,并提出基于計算思維3D框架的三種評價學生計算思維發展水平的方法,即作品分析、基于作品的訪談以及基于情境的設計(Brennan & Resnick,2012)。同時,Grover等人(2014)也指出實現對學生計算思維的全方位理解,必須系統融合多種補充測評工具(也稱為“系統性測評”)。Román-González等人對三種不同視角和傾向的計算思維評價工具(CTt、Bebras和Dr.Scratch)進行了聚合效度分析,得出三種測試具有部分聚合度,整合三種測試方式能很好地對中學生的計算思維進行測評(Román-González et al.,2017)。
總的來說,當前關于計算思維教育的評價,主要是通過對程序與學生學習的過程進行分析,方法包括計算思維知識測試、程序分析、自我效能感測試、針對問題解決過程的訪談等。計算思維評價不是單一的考查。如何綜合多種評價工具,進行計算思維系統性評價的研究將是未來該領域的研究重點。
4.計算思維教育需要什么樣的教師
雖然不同國家都強調計算思維教育,但在K-12教育中實施計算思維教育的重要挑戰之一是教師計算思維能力的短缺,這也是計算思維教育質量的關鍵影響因素。教師對計算思維的理解程度、自身計算思維水平高低,以及針對以計算思維為核心的計算機課程的教學設計和教學實踐能力等,都直接決定了計算思維教育的質量、學生學習的效果。有關研究表明,大量計算機教師的專業發展規劃雖然在計算思維和計算機科學知識的領域之內,但即使教師修讀過計算機課程,其對于編程環境也是不熟悉的(Yadav et al.,2014)。Saeli等人提出,對于教師的計算思維能力培養和評價,除了有關計算思維或計算機科學的相關主題內容外,計算機教育的實施還需要教師具有完備的教學內容知識、他們對編程內容的理解以及如何把內容傳遞給學生、促進學生理解和應用等(Saeli et al.,2012)。
黎巴嫩國際教育協會負責人Eliane Metni 15年來融合教師專業發展以及基于設計的研究,在黎巴嫩開展了“Code-Maker”計劃,以創新的教學方法和低成本的Raspberry Pi(樹莓派)技術為基礎,邀請教育工作者及其學生生成知識并構建解決方案,以更廣泛地改善教學服務(Metni,2017)。
Fields等人對教師的教學過程進行了研究,分析一個為期30~40小時的高中電動紡織單元的教師課程開展全過程(Fields et al.,2017)。研究通過對研究者記錄的課堂觀察筆記、教學圖片、教學過程視頻、課程前后的教師訪談以及教師的日常教學反思等文本進行分析,從三個關鍵內容,即問題解決策略、迭代以及抽象和具體的計算之間的銜接來分析教師是如何在課堂中引入計算思維的。研究認為,教師的學科教學知識對于教師幫助學生將計算思維落地是十分重要的。
香港教育大學江紹祥等人在CoolThink@JC項目的支持下,和美國MIT的研究團隊共同開展了計算思維教育教師培訓計劃(Kong et al.,2017)。該計劃開發了兩門教師發展課程:一門是由MIT的研究人員進行設計和實施的,為期5天,每天6小時,主要講授計算思維的基本知識以及一些基本的計算思維教學法知識。在課程前后分別設有3小時的前期課程和2小時的課程匯報,由香港教育大學的研究人員組織和講授。第二門課程在第一門課程的基礎上,主要關注教學法的講授和討論。第二門課程持續13周,每周一次課程,參加課程的教師一邊開展計算思維教學,一邊參與該課程,課程上通過反思和討論來完善教學,最終形成完整的課程單元講授方案。在該課程中,教師們分析自己的授課視頻、對學生的作品進行分析和評價,并探討如何利用這些來評價學生的學習情況。課后評估數據分析結果表明,教師在參與第一門課程之后對于計算思維的內容知識有所提升,但是有些教師對于講授計算思維仍沒有較高的信心,編程活動和計算思維概念及實踐的對應性需要加強。
五、計算思維教育面臨的問題與挑戰
國際上關于計算思維的研究受到了越來越多的關注,并在相關領域不斷發展。我國目前關于計算思維的研究仍處于初級階段,雖然已經得到了各領域學者的關注,但是研究內容和方向較國外而言還比較有限,且研究類型和模式創新性比較薄弱,研究深度和研究價值有待進一步加強。
1.缺乏培養體系與教育標準
高新技術創新能力已經成為衡量一個國家核心競爭力的重要指標。世界主要發達國家在近些年的課程變革中,大都是站在國家和人才發展的高度,服務于社會和經濟發展的需要,尤其是滿足信息行業和創新型產業對計算機人才的迫切需求,致力打造出世界高質量的教育,以在激烈的全球競爭中取勝。政策上,美國、英國、澳大利亞、新西蘭等通過頒布基礎教育國家課程標準,將計算思維納入標準中,投入大量資金推動計算思維教育(或者是計算機科學教育)。我國新一輪的高中課程標準中,也已經明確地將計算思維作為信息技術學科的核心素養之一。近日,國務院印發《新一代人工智能發展規劃》,提出逐步開展全民智能教育項目,在中小學階段設置人工智能(AI)相關課程、逐步推廣編程教育。
從國際上認可度較高的中小學計算思維教育框架中發現,中小學教學中的計算思維主要有以下特點:(1)基礎性。中小學階段的計算思維內涵較為簡單,包含的主要是一些基礎性內容,符合中小學的學習情況和認知特點。(2)階段性。由于中小學不同階段的學生具有不同的特點,因此現有框架大都根據不同年級的特點階段性地對計算思維的內涵進行界定,并設計了階段性的教學目標。(3)知識指向性。中小學階段的計算思維內涵與廣義的計算思維內涵不同。由于要面向教學實踐,所以大多數界定都具有一定的知識指向性,此有利于計算思維教育的落地。因此對于政策制定者和研究者而言,根據計算思維的核心內容,結合我國實際國情和學生能力水平,制定不同學段的計算思維培養標準框架和知識體系,為教育實踐提供完整的指導方案和操作內容,是當下首先要解決的問題。
2.缺乏計算思維培養的創新教學模式
相對國外大量的教育實踐研究來說,國內目前對計算思維教育的研究以理論探索為主,專家學者主要探討在計算思維理念和培養目標之下,基礎教育階段信息技術課程的核心價值、主要任務以及在中小學信息技術教育中引入計算思維、培養學生計算思維的重要性。
在實踐檢驗中,現有研究主要以高等教育為主,大部分面向高等教育中的程序設計課程,少部分研究針對基礎教育階段的信息技術課程,且學者主要采用將計算思維融入現有課程中,與原有特定的教學方法或教學模式結合,缺乏計算思維教育的實證研究檢驗,計算思維培養的效果不明顯。借鑒國外的大量實證研究,在計算思維培養的標準框架指導下,由理論研究轉向教學實踐研究,探索計算思維的教學模式和教學效果,采用準實驗研究、行動研究以及觀察、訪談、個案分析、作品分析等研究方法,開展計算思維教育實踐活動、策略及評價的研究,是研究者們面臨的重要挑戰。
3.教師信息技術專業素養不夠
培養計算思維,教師的能力和素養起著關鍵性的作用。目前,我國高中100%開設了信息技術課程,且信息技術課的實施環境得以持續改善,高中信息技術課教師的規模和專業知識技能都有了大幅提升。但是隨著計算思維的納入和國務院《新一代人工智能發展規劃》對中小學開設人工智能課的要求,如何進一步提高教師的專業素養也是當前迫切需要解決的問題。因此,當下應完善教師培訓制度,開發計算思維培訓課程,通過在線課程的方式,根據不同地區差異,開發符合計算思維教育課程目標與評價指南的教學單元,擴大教師培訓的范圍;通過面授的方式進行深度教學,探討計算思維培養過程中的問題,幫助教師更好掌握如何開展計算思維培養的教學實踐。
4.缺乏對計算思維教育研究的支持
世界大部分發達國家在政策支持下,開展了計算思維教育的各類研究計劃和項目,并投入了大量的資金來支持以計算思維為核心的計算機科學教育及研究。為了推進我國計算思維研究以及不同教育階段計算思維的培養,不同研究機構、教育機構和部門需提升對計算思維研究的重視,并在政策和經費上提供幫助和支持,以促進領域研究的發展和進步。當前我國計算思維的研究大部分以個人項目為主,缺少國家機構的立項支持。從國際上發達國家的經驗和發展趨勢來看,國家相關部門可以從多維度、多層次、多主題出發,設立基于多種命題方式的有關計算機科學教育的研究基金和項目,支持開展相關實證研究,構建以計算思維為核心的計算機科學基礎教育研究支持體系,探索可能的路徑,促進計算機科學教育的發展,落實以信息化帶動現代化的強國戰略。
六、計算思維教育的未來發展
1.創新學習方式,跨學科綜合培養計算思維
計算思維是利用計算科學的基本概念和方法,結合工程思維、數學思維等多種思維方式和特點,進行問題求解、系統建構和人類行為理解的思維過程。關注于問題解決方案的形成過程,培養學生像計算機科學家那樣去思考問題,是計算思維培養的宗旨。計算思維的培養不等同于程序設計或編程教學。研究者可以根據計算思維培養的目標和核心內容,借鑒國際上的經驗,面向高等教育、基礎教育的不同階段,構建面向計算思維、設計思維、工程思維的創新課程。例如依托不同的學科,如信息技術類、STEM、文科類等學科課程,在課堂教育、獨立興趣小組、綜合實踐、創客活動等不同教學情境下,建設計算思維培養的數字化創新學習方式。通過基于項目的學習方式,引導學生參與真實問題情境的項目實踐,體驗從分析問題、程序創造到形成解決方案的完整流程,推進學生整體思維能力和問題解決能力的提升。
2.綜合多種評價工具,進行系統性評價研究
設計與課程內容相適應、可操作的能力評估方法和工具是實現課程目標的重要保障。當前我國計算思維還沒有完整的評價體系,也鮮有研究對計算思維進行評價,具體的培養效果不能很好地用量化方法來測量。教師在教學實踐過程中如何對計算思維進行評價,是計算思維教育未來研究的一大趨勢。
計算思維的培養是一個思維方式和問題解決方法內化的過程。研究者可借鑒國際上計算思維測評的方式,從理論掌握和項目實踐兩方面構建評價體系,綜合評估學生的思維水平。開發并利用多種評價工具,通過計算思維知識測試、計算思維挑戰賽(Bebras)、程序分析、自我效能感測試、針對問題解決過程的訪談等方式進行計算思維系統性評價,不僅考查學生對計算思維相關概念、知識和方法的理解程度,更強調學生參與項目實踐,通過設計、開發應用軟件,分析數據,抽象真實問題,建立計算模型等,完成在真實情境中運用計算思維解決問題的過程,從多個方面和維度對學生進行系統性的評價。
3.利用平臺和工具,實施全民智能教育
在計算思維的培養過程中,教師通過合理的工具選擇和活動設計,能更好地支撐教學,實現計算思維培養的目標。目前,國際上研究者通過一些工具和平臺開展計算思維教育,例如可視化編程工具、程序開發工具、圖像及繪圖工具等。在不同情境使用的開源軟硬件上,各種資源與產品也日漸豐富,甚至有些是專門為學校信息技術課程教學而開發,如硬件方面的樹莓派、 Swift Board 等,軟件方面的 Scratch、Python 等適合學生易學易用的編程工具和語言。這些平臺和工具使學生不必關注各種技術細節,而是集中精力進行問題解決方案的分析、設計與邏輯驗證,為實現計算思維的培養奠定了良好基礎。與此同時,《新一代人工智能發展規劃》提出,實施全民智能教育項目,在中小學設置人工智能相關課程,逐步推廣編程教育,鼓勵社會力量參與寓教于樂的編程教學軟件、游戲的開發和推廣,實現全民計算思維的培養和全民智能教育。
七、結束語
計算思維已受到越來越多的關注,其涉及的領域也將越來越廣。在研究方面,計算思維教育仍是計算思維研究的核心內容。世界各國對于計算思維研究的關注度正逐漸上升,在教育領域對于學生計算思維的培養仍是研究的主要內容。從我國的基本情況來看,對于計算思維理論的探討將逐漸達成一致,國家教育部門、教育機構的學者和專家正逐漸提升對計算思維教育的關注度和認可度。雖然計算思維教育的實施還存在諸多困難和挑戰,但隨著國家信息化戰略發展的需要,計算思維已經成為中小學計算機科學教育的核心目標和內容。對于研究者來說,可以在借鑒國外計算思維培養實踐中形成的理論、模式和經驗的基礎上,結合我國教師和學生的條件等因素,進一步研究并構建符合我國教育實踐需求的計算思維培養體系、評價方法和教師專業發展策略,通過創新學習方式、綜合利用多種平臺和工具,為計算思維培養提供有針對性的指導。
注釋:
① 詳見:https://obamawhitehouse.archives.gov/blog/2016/01/30/computer-science-all。
② 詳見:http://www.digitaleurope.org/。
③ 詳見:https://www.coolthink.hk/。
④ 發表于《中國大學教學》2010年第9期。
⑤ 詳見:https://scratch.mit.edu/projects/142454426/。
⑥ 詳見:https://www.bebras.org/。
參考文獻:
[1]董榮勝,古天龍,蔡國永等(2002). 計算機科學與技術方法論[M]. 北京:人民郵電出版社.
[2]葛明珠(2014).基于計算思維的協作學習模式在中學信息技術課程中的實踐與研究[D]. 西安:陜西師范大學.
[3]李靜(2015). 基于計算思維的 Flash教學設計[D]. 西安:陜西師范大學.
[4]李廉(2013).以計算思維培養為導向 深化大學計算機課程改革[J].中國大學教學,(4):7-11.
[5]劉向永,周以真,王榮良等(2013).計算思維改變信息技術課程[J].中國信息技術教育,(6):5-12.
[6]盧蓓蓉,尹佳,高守林等(2017).計算機科學教育:人人享有的機會 ——美國《K-12計算機科學框架》的特點與啟示[J].電化教育研究, (3):12-17.
[7]陸漢權,何欽銘,徐鏡春(2012). 基于計算思維的“大學計算機基礎”課程教學內容設計[J]. 中國大學教學,(9):55-58.
[8]牟琴,譚良,周雄峻(2011). 基于計算思維的任務驅動式教學模式的研究[J]. 現代教育技術,(6):44-49.
[9]任艷霞(2016). 基于計算思維的微課案例設計[D].重慶:重慶師范大學.
[10]任友群,隋豐蔚,李鋒(2016). 數字土著何以可能?——也談計算思維進入中小學信息技術教育的必要性和可能性[J]. 中國電化教育,(1):2-8.
[11]生詩蕊(2016). 基于PBL的計算思維培養研究[D]. 錦州:渤海大學.
[12]汪紅兵,姚琳,武航星等(2014). C 語言程序設計課程中的計算思維探析[J]. 中國大學教學,(9):59-62.
[13]王移芝,魯凌云,周圍(2012). 以計算思維為航標 拓展計算機基礎課程改革的新思路[J]. 中國大學教學,(6):39-41.
[14]楊男才(2013). 基于計算思維的高中信息科技《算法與程序設計》教學探究[D]. 上海:上海師范大學.
[15]姚天昉(2012). 在程序設計課程中引入“計算思維”的實踐[J]. 中國大學教學,(2):61-62,76.
[16]戰德臣,聶蘭順(2013). 計算思維與大學計算機課程改革的基本思路[J]. 中國大學教學,(2):56-60.
[17]張炳林,王程程(2014).國外學前教育信息化發展與啟示[J].電化教育研究, (10):29-35.
[18]趙蘭蘭(2013). 運用 Scratch 軟件培養中學生計算思維的研究[D]. 上海:上海師范大學.
[19]Abelson, H.(2017). Computational Thinking, Computational Values, Computational Actions[R]. International Conference on Computational Thinking Education 2017, Hong Kong: The Education University of Hong Kong.
[20]ACARA(2012).The Shape of the Australian Curriculum: Technologies[DB/OL].[2017-04-06]. http://www.acara.edu.au/verve/_resources/ape_of_the_Australian_Curriculum_-_Technologies_-_August_2012.pdf.
[21]Aho, A. V.(2012).Computation and Computational Thinking[J]. The Computer Journal, 55(7):832-835.
[22]Angeli, C., Voogt, J., & Fluck, A. et al.(2016). A K-6 Computational Thinking Curriculum Framework: Implications for Teacher Knowledge[J]. Educational Technology & Society, 19(3):47-57.
[23]Basawapatna, A., Koh, K. H., & Repenning, A. et al.(2011). Recognizing Computational Thinking Patterns[A]. Proceedings of the 42nd ACM Technical Symposium on Computer Science Education[C] :245-250.
[24]Basu, S., Dickes, A., & Kinnebrew, J. S. et al.(2013). CTSiM: A Computational Thinking Environment for Learning Science through Simulation and Modeling[A]. Proceedings of the 5th International Conference on Computer Supported Education [C]: 369-378.
[25]Biswas, G.(2017). CTSiM: A Computational Thinking Environment for Learning Science using Simulation and Modeling[R]. International Conference on Computational Thinking Education 2017, Hong Kong: The Education University of Hong Kong.
[26]Brennan, K., & Resnick, M.(2012). New Frameworks for Studying and Assessing the Development of Computational Thinking[A]. Paper presented at Annual American Educational Research Association Meeting[C].Vancouver, BC, Canada:1-25.
[27]CSTB(2010). Report of a Workshop on The Scope and Nature of Computational Thinking[R].[2017-05-01]. http://www.nap.edu/openbook.php?record_id=12840&page=R1.
[28]Dagiene, V., & Futschek, G.(2008). Bebras International Contest on Informatics and Computer Literacy: Criteria for Good Tasks[A]. International Conference on Informatics in Secondary Schools-Evolution and Perspectives[C] : 19-30.
[29]Denning, P. J.(2009). Beyond Computational Thinking[J]. Communications of the ACM - One Laptop Per Child: Vision vs. Reality CACM Homepage, 52(6):28-30.
[30]Dorling, M., & Walker, M.(2014). Computing Progression Pathways[EB/OL]. [2017-06-10]. http://smartfuse.s3.amazonaws.com/d3a3ddb3f55b92cb348b18b85f43909a/uploads/2014/07/Progression_Pathways_by_CS__IT_and_DL.pdf.
[31]Fields, D. A., Lui D., & Kafai Y. B. (2017). Teaching Computational Thinking with Electronic Textiles: High School Teachers Contextualizing Strategies in Exploring Computer Science[A]. Kong, S. C., Sheldon, J., & Li, K. Y.(Eds.). Conference Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong:67-72.
[32]Fields, D. A., Searle, K. A., & Kafai, Y. B. et al.(2012). Debug Gems to Assess Student Learning in E-Textiles[A]. Proceedings of the 43rd SIGCSE Technical Symposium on Computer Science Education[C]. New York, NY: ACM.
[33]Grover, S., Bienkowski, M., & Niekrasz, J. et al. (2016). Assessing Problem-Solving Process At Scale[A]. Proceedings of the Third ACM Conference on Learning at Scale[C] :245-248.
[34]Grover, S., Cooper, S., & Pea, R. (2014). Assessing Computational Learning in K-12[A]. Proceedings of the 2014 conference on Innovation & Technology in Computer Science Education[C]: 57-62.
[35]Hung, Y. C.(2012). The Effect of Teaching Methods and Learning Style on Learning Program Design in Web-Based Education Systems[J]. Journal of Educational Computing Research, 47(4):409-427.
[36]Hutchins, N. M., Zhang, N., & Biswas, G.(2017). The Role Gender Differences in Computational Thinking Confidence Levels Plays in STEM Applications[A]. Kong, S. C., Sheldon, J., & Li, K. Y.(Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong:34-38.
[37]Ioannidou, A., Bennett, V., & Repenning, A. et al.(2011). Computational Thinking Patterns[A]. Paper Presented at Annual Meeting of the American Educational Research Association[C]. New Orleans, Louisiana.
[38]Ismail, M. N., Ngah, N. A., & Umar, I. N.(2010). The Effects of Mind Mapping with Cooperative Learning on Programming Performance, Problem Solving Skill and Metacognitive Knowledge among Computer Science Students[J]. Journal of Educational Computing Research, 42(1):35-61.
[39]Israel, M., Pearson, J. N., & Tapia, T. et al.(2015). Supporting all Learners in School-Wide Computational Thinking[J]. Computers & Education, 82(C):263-279.
[40]ISTE & CSTA(2011a). Operational Definition of Computational Thinking for K-12 Education [EB/OL].[2017-07-01]. http://www.iste.org/docs/ct-documents/computational-thinking-operational-definition-flyer.pdf?sfvrsn=2.
[41]ISTE & CSTA(2011b). Computational Thinking Teaching in K-12 Education: Teacher Resources (Second Edition) (2011) [DB/OL].[2017-01-05]. http://www.csta.acm.org/Curriculum/sub/CurriFiles/CSTA_K-12_CSS.pdf.
[42]Koh, K. H., Basawapatna, A., & Bennett, V. et al. (2010). Towards the Automatic Recognition of Computational Thinking for Adaptive Visual Language Learning[A]. Visual Languages and Human-Centric Computing, 2010 IEEE Symposium[C]:59-66.
[43]Kong, S. C. (2017). Development and Validation of a Programming Self-Efficacy Scale for Senior Primary School Learners[A]. Kong, S. C., Sheldon, J., & Li, K. Y. (Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C].Hong Kong: The Education University of Hong Kong:97-102.
[44]Kong, S. C., Lai M., & Sheldon J. et al. (2017). The Design and Evaluation of a Teacher Development Programme in Computational Thinking Education[A]. Kong, S. C., Sheldon, J., & Li, K. Y. (Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong:77-80.
[45]Kose, U., Koc, D., & Yucesoy, S. A.(2013). Design and Development of a Sample“Computer Programming”Course Tool via Story-Based E-Learning Approach[J]. Educational Sciences Theory & Practice, 13(2):1235-1250.
[46]Leidl, K. D., Umaschi-Bers, M., & Mihm, C.(2017). Programming with ScratchJr: a review of the first year of user analytics[A]. Kong, S. C., Sheldon, J., & Li, K. Y. (Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong: 116-121.
[47]Mannila, L., Dagiene, V., & Demo, B. et al.(2014). Computational Thinking in K-9 Education[C]. Iticse-Wgr. 2014:1-29.
[48]Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2013). Learning Computer Science Concepts With Scratch[J]. Computer Science Education, 23(3):239-264.
[49]Metni, E.(2017). Empowering Teachers to Nurture Computational Thinking and Innovation in K-12[R]. International Conference on Computational Thinking Education 2017, Hong Kong: The Education University of Hong Kong.
[50]Ministry of Education of Newzealand (2009). Technological Context Knowledge and Skills[DB/OL].[2016-10-23]. http://dtg.tki.org.nz/Strands.
[51]Moreno-León, J., Robles, G., & Román-González, M. (2015). Dr. Scratch: Automatic Analysis of Scratch Projects to Assess and Foster Computational Thinking[J].Revista de Educación a Distancia, 15(46).
[52]Mühling, A., Ruf, A., & Hubwieser, P. (2015). Design and First Results of a Psychometric Test for Measuring Basic Programming Abilities[A]. Proceedings of the Workshop in Primary and Secondary Computing Education[C] :2-10.
[53]NSF(2018). American Innovation and Competitiveness Act [EB/OL]. [2018-01-15]. https://www.nsf.gov/about/budget/fy2018/pdf/16_fy2018.pdf.
[54]Ota, G., Morimoto, Y., & Kato, H. (2016). Ninja Code Village for Scratch: Function Samples/Function Analyser and Automatic Assessment of Computational Thinking Concepts[A]. Visual Languages and Human-Centric Computing (VL/HCC), 2016 IEEE Symposium[C]:238-239.
[55]Pollack, S., Haberman, B., & Meerbaum-Salant, O.(2017). Constructing Models in Physics: What Computational Thinking Occurs?[A]. Kong, S. C., Sheldon, J., & Li, K. Y. (Eds.).Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong:23-27.
[56]Qualls, J. A., & Sherrell, L. B. (2010). Why Computational Thinking Should Be Integrated Into the Curriculum[J]. Journal of Computer Science in Colleges, 25:66-71.
[57]Repenning, A., Webb, D., & Ioannidou, A. (2010). Scalable Game Design and the Development of a Checklist for Getting Computational Thinking into Public Schools[A].Paper Presented at the to Appear in the Proceedings of the 2010 ACM Special Interest Group on Computer Science Education (SIGCSE) Conference[C].US: Milwaukee.
[58]Román-González, M., Moreno-León, J., & Robles, G.(2017). Complementary Tools for Computational Thinking Assessment[A]. Kong, S. C., Sheldon, J., & Li, K. Y.(Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong:154-159.
[59]Royal Society(2012). Shut Down or Restart: The Way Forward for Computing in UK Schools[DB/OL].[2017-03-19]. https://royalsociety.org/topics-policy/projects/computing-in-
schools/report/.
[60]Ruan, L. L., Patton, E. W., & Tissenbaum, M. (2017). Evaluations of Programming Complexity in App Inventor[A]. Kong, S. C., Sheldon, J., & Li, K. Y. (Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong:2-5.
[61]Saeli, M., Perrenet, J., & Jochems, W. M. G. et al.(2012). Programming: Teachers and Pedagogical Content Knowledge in The Netherlands[J]. Informatics in Education,11(1):81-114.
[62]Schwarz, C. V., Reiser, B. J., & Davis, E. A. et al.(2009). Developing a Learning Progression for Scientific Modeling: Making Scientific Modeling Accessible and Meaningful for Learners[J]. Journal of Research in Science Teaching, 46(6):632-654.
[63]Singapore Government(2014). CODE@SG Movement-Developing Computational Thinking as A National Capability[DB/OL]. [2017-07-04]. https://www.imda.gov.sg/industry-development/programmes-and-grants/startups/programmes/t-developing-computational-thinking-as-a-national-capability.
[64]Sullivan, A. A., Bers, M. U., & Mihm, C.(2017). Imagining, Playing, and Coding with KIBO: Using Robotics to Foster Computational Thinking in Young Children[A]. Kong, S. C., Sheldon, J., & Li, K. Y.(Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong: 110-115.
[65]Swanson, H., Anton, G., & Bain, C. et al.(2017). Computational Thinking in the Science Classroom[A]. Kong, S. C., Sheldon, J., & Li, K. Y.(Eds.). Proceedings of International Conference on Computational Thinking Education 2017[C]. Hong Kong: The Education University of Hong Kong:18-22.
[66]U.K.(2013). Computing Programmes of Study for Key Stages 1-4 [DB/OL]. [2013-09-20]. http://computingatschool.org.uk/data/uploads/computing-04-02-13_001.pdf.
[67]U.S.(2015). H.R. 1020: STEM Education Act of 2015 [EB/OL].[2016-12-16].https://www.govtrack.us/congress/bills/114/hr1020.
[68]Werner, L., Denner, J., & Campe, S. et al.(2012). The Fairy Performance Assessment: Measuring Computational Thinking in Middle School[A]. Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE12)[C]. New York, NY:215-220.
[69]Wing, J. M. (2006). Computational Thinking[J]. Communications of the ACM, 49(3): 33-35.
[70]Wing, J. M. (2011). Computational thinking: What and Why? [DB/OL][2017-09-05]. https://www.cs.cmu.edu/~CompThink/resources/TheLinkWing.pdf.
[71]Yadav, A., Mayfield, C., & Zhou, N. et al.(2014). Computational Thinking in Elementary and Secondary Teacher Education[J]. ACM Transactions on Computing Education, 14(1):16.
[72]Yang, M.(2017). Why Is Computational Thinking Education Important as the Foundation for Innovation?[R]. International Conference on Computational Thinking Education 2017, Hong Kong: The Education University of Hong Kong.
收稿日期 2017-11-27 責任編輯 汪燕