周迎春
[摘 要]計(jì)算思維已成為世界公認(rèn)的普適思維方式,但是在我國9年義務(wù)教育階段尚未有具體的目標(biāo)要求和實(shí)施案例。結(jié)合面向STEM的信息技術(shù)課程的創(chuàng)建實(shí)踐,提出在小學(xué)信息技術(shù)課堂中培養(yǎng)學(xué)生計(jì)算思維的具體路徑與方法。
[關(guān)鍵詞]信息技術(shù);計(jì)算思維;STEM;小學(xué)
自周以真教授發(fā)表論文《Computational Thinking》和《計(jì)算思維和關(guān)于計(jì)算的思維》開始,短短十?dāng)?shù)年間,計(jì)算思維已和理論思維、實(shí)驗(yàn)思維一樣成為世界公認(rèn)的普適思維方式,并同閱讀、寫作等一起成為人類需要熟練掌握的基本技能之一。
美國《中小學(xué)計(jì)算機(jī)科學(xué)標(biāo)準(zhǔn)》分階段設(shè)計(jì)了計(jì)算思維的教學(xué)實(shí)施方案。英國教育部于2014年9月引入了新的計(jì)算機(jī)教學(xué)大綱,其中亦突出了計(jì)算思維的培養(yǎng),將計(jì)算思維、計(jì)算實(shí)踐和編程納入學(xué)科主線。在我國,2017年頒布的《新一代人工智能發(fā)展規(guī)劃》及《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》,為計(jì)算思維的培養(yǎng)營(yíng)造了良好氛圍。計(jì)算思維被確定為高中學(xué)科核心素養(yǎng)之一,那么在9年義務(wù)教育階段的信息技術(shù)課程中就不需要注重計(jì)算思維的培養(yǎng)嗎?答案顯然是否定的。計(jì)算思維作為一種能力,其培養(yǎng)過程需要潛移默化,循序漸進(jìn)。在小學(xué)、初中信息技術(shù)課程的實(shí)施過程中,需要著力創(chuàng)設(shè)培養(yǎng)計(jì)算思維的良好情境,努力在信息技術(shù)課程中融入計(jì)算思維屬性。
一、計(jì)算思維與編程教學(xué)
1.概念界定
周以真教授認(rèn)為,計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)?!镀胀ǜ咧行畔⒓夹g(shù)課程標(biāo)準(zhǔn)(2017年版)》給出的界定是:計(jì)算思維是采用計(jì)算機(jī)方式界定問題,運(yùn)用合理的算法形成解決問題的方案,并遷移到與之相關(guān)的其他問題解決中。目前國際公認(rèn)的定義尚未形成。
2.計(jì)算思維與編程教學(xué)的關(guān)系
計(jì)算思維雖然不僅僅局限于計(jì)算機(jī)科學(xué)領(lǐng)域,但主要基于計(jì)算機(jī)技術(shù)實(shí)現(xiàn)最終的自動(dòng)化,很多時(shí)候需要把抽象出來的問題通過計(jì)算機(jī)可以理解的方式來編制程序,但歸根到底還是人的思考、解決問題的方式在計(jì)算機(jī)運(yùn)行程序中的投射,并不是計(jì)算機(jī)的思維。計(jì)算思維的培養(yǎng)目標(biāo)主要包括以下三個(gè)方面:一是建構(gòu)目標(biāo)問題域的能力;二是明晰任務(wù)并有效分解任務(wù)的能力;三是抽象系統(tǒng)方法加以實(shí)現(xiàn)的能力。計(jì)算思維包括了算法思維、評(píng)估、分解、抽象、概括等多種思維方式,程序設(shè)計(jì)是計(jì)算思維解析抽象出來的解決問題的方法得以自動(dòng)化運(yùn)行的重要實(shí)施途徑,但并非唯一途徑。傳統(tǒng)意義上的編程教學(xué)往往從語法知識(shí)入手,忽視程序設(shè)計(jì)思想和方法的引領(lǐng),計(jì)算思維的培養(yǎng)往往不是其教學(xué)目標(biāo)的選項(xiàng)。
3.培養(yǎng)小學(xué)生計(jì)算思維的編程工具
C++、Java等程序設(shè)計(jì)語言的教學(xué),前期需要花費(fèi)大量時(shí)間講授語法知識(shí),而學(xué)生的信息技術(shù)課時(shí)有限,目前很多省市的小學(xué)3至6年級(jí)每周只安排一課時(shí)。LOGO語言曾是小學(xué)信息技術(shù)教材中的主要程序設(shè)計(jì)語言,但隨著圖形化編程語言Scratch的出現(xiàn),也逐漸退出舞臺(tái)。而與外圍硬件銜接更好的基于Scratch核心的S4A、mBlock,更容易創(chuàng)設(shè)有利于小學(xué)生跨界融合解決真實(shí)問題的可以觸摸的STEM教育情境,把學(xué)生從繁雜瑣碎的語法學(xué)習(xí)中解救出來,將寶貴的時(shí)間用于培養(yǎng)計(jì)算思維能力。
二、國內(nèi)外計(jì)算思維研究與實(shí)施的現(xiàn)狀分析與途徑探討
1980年,麻省理工學(xué)院的西摩·帕爾特(Seymour Papert)教授在《頭腦風(fēng)暴:兒童、計(jì)算機(jī)及充滿活力的創(chuàng)意》中首次提到計(jì)算思維。2006年,美國卡內(nèi)基梅隆大學(xué)的周以真(Jeannette M. Wing)教授提出了計(jì)算思維的定義。2011年,計(jì)算思維被納入美國《CSTA K-12標(biāo)準(zhǔn)(2011修訂版)》。英國2013年的“新課程計(jì)劃”、澳大利亞2015年的“新課程方案”將計(jì)算思維培養(yǎng)作為新信息技術(shù)課程的教學(xué)目標(biāo)。2015年,美國總統(tǒng)簽署《讓每個(gè)學(xué)生取得成功的法案》,將以計(jì)算思維為核心的計(jì)算機(jī)科學(xué)提高到與數(shù)學(xué)、英語相同的地位。2010年,我國發(fā)布了《九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》,強(qiáng)調(diào)把培養(yǎng)學(xué)生計(jì)算思維能力作為計(jì)算機(jī)基礎(chǔ)教學(xué)的一項(xiàng)重要的、長(zhǎng)期的和復(fù)雜的核心任務(wù),此后制定的《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017新版)》將計(jì)算思維確定為一項(xiàng)重要的信息技術(shù)學(xué)科核心素養(yǎng)。
按CNKI的數(shù)據(jù)統(tǒng)計(jì),2011年后,有關(guān)計(jì)算思維的論文發(fā)表量明顯上升,到2015年達(dá)到峰值,之后再次回落。其中,高等教育對(duì)計(jì)算思維培養(yǎng)的研究明顯多于初等教育,基礎(chǔ)教育階段的計(jì)算思維研究尤其薄弱。國外計(jì)算思維的應(yīng)用研究覆蓋了K12階段,計(jì)算思維的研究需要計(jì)算機(jī)科學(xué)與教育科學(xué)的整合,總體上缺少復(fù)合型人才。
20世紀(jì)90年代起,西蒙·派珀特博士的LOGO語言引導(dǎo)學(xué)生“問題確定、模型分析、命令實(shí)施、修改完善”,期間也滲透了計(jì)算思維培養(yǎng)的一些元素,曾進(jìn)入許多國家的信息技術(shù)教材,但是在跨學(xué)科融合知識(shí)解決實(shí)際問題方面卻無法施展。目前在基于計(jì)算思維培養(yǎng)的課程設(shè)置方面,有些國家如澳大利亞,有些地區(qū)如我國香港等都開設(shè)了面向STEM的全新課程。在課程實(shí)施工具方面,采用了Scratch圖形化編程,使學(xué)生不必面對(duì)晦澀難懂的代碼語法,掃除了編程語言的障礙,直接面對(duì)設(shè)計(jì)與創(chuàng)造,因此而得到了廣泛應(yīng)用。但是從編程滲透率(即被調(diào)查對(duì)象中,參與編程的人數(shù)比例)來看,以全球最主要的少兒編程語言Scratch的統(tǒng)計(jì)數(shù)據(jù)為例,美國市場(chǎng)的滲透率最高,高達(dá)44.80%,英國為9.31%,中國僅為0.96%,不難看出其中的差距。
三、創(chuàng)設(shè)面向STEM的信息技術(shù)課程,
培養(yǎng)學(xué)生計(jì)算思維
由于基礎(chǔ)教育階段的計(jì)算思維研究相對(duì)滯后,筆者在創(chuàng)設(shè)面向STEM的信息技術(shù)課程的教學(xué)實(shí)踐中,進(jìn)行了計(jì)算思維培養(yǎng)的嘗試,取得了一定的成效。以下用案例解析對(duì)此加以說明。
1.巧設(shè)代數(shù)表達(dá),拓展滑竿活動(dòng)區(qū)間
在“SCRATCH可控創(chuàng)意動(dòng)畫制作”一課,要求太陽受滑竿傳感器控制緩慢上升,此時(shí)須將滑竿傳感器數(shù)值的變動(dòng)范圍控制在“0~100”,而Scratch舞臺(tái)在Y軸方向的范圍是“-180~180”,如何設(shè)計(jì)一個(gè)能擴(kuò)大到目標(biāo)區(qū)間的代數(shù)表達(dá)式呢?學(xué)生小組討論的表達(dá)式呈交后,教師用課件演示結(jié)果。在不斷試錯(cuò)后,學(xué)生慢慢向目標(biāo)靠近,最終得到多個(gè)正確答案,如“(滑竿傳感器的值-50)*180/50”等。思維訓(xùn)練與體育訓(xùn)練類似,需要經(jīng)過一定的強(qiáng)化訓(xùn)練才能達(dá)到新的高度,于是教師增加了一些變式練習(xí):變式一增加了小鳥角色,要求云彩和小鳥均能被滑竿傳感器控制且同步平移,學(xué)生通過復(fù)制腳本即可完成操作;變式二要求小鳥能扇動(dòng)翅膀,這就需要添加造型變換的腳本;變式三要求云彩跟小鳥的運(yùn)動(dòng)方向相反,此時(shí)學(xué)生需要提取諸如Scratch舞臺(tái)的左右坐標(biāo)值,考慮如何將滑竿傳感器的控制區(qū)間擴(kuò)大到“-240~240”等,需要將原來的表達(dá)式更改為“0-(滑竿傳感器的值-50)*4.8”。以上方法看似簡(jiǎn)單,但其中隱含了計(jì)算思維培養(yǎng)的元素。
2.橫豎切換變式,細(xì)微處展現(xiàn)計(jì)算思維魅力
在“乒乓球游戲制作”一課的創(chuàng)意拓展部分,要求將乒乓球拍的橫板變豎板,在目標(biāo)任務(wù)場(chǎng)景“旋轉(zhuǎn)90度”或者“旋轉(zhuǎn)180度”的同時(shí),算法設(shè)計(jì)也需同步跟進(jìn)“旋轉(zhuǎn)”,在這種“旋轉(zhuǎn)”中,使學(xué)生的算法設(shè)計(jì)逐漸運(yùn)轉(zhuǎn)自如。此過程中,因Scratch舞臺(tái)縱橫坐標(biāo)值不等而涉及到滑竿傳感器表達(dá)式的修改;由于拍子從橫向平移變?yōu)榭v向運(yùn)動(dòng)要將腳本修改為“將Y坐標(biāo)設(shè)定為……”一個(gè)小小的創(chuàng)意就需要對(duì)原程序做出多處修改。在修改過程中,學(xué)生還將面臨一些新問題或障礙,如有學(xué)生發(fā)現(xiàn)乒乓球拍只要一移動(dòng)就不見了,根本無法控制。有的小組通過探究發(fā)現(xiàn),同一表象后隱藏了不同的因果。例如,把控制腳本中“將Y坐標(biāo)設(shè)定為(滑竿傳感器的值-50)*3.6”中的3.6改寫成36,控制區(qū)間就從“-180~180”變成“-1800~1800”,自然稍一移動(dòng)就會(huì)“跑出”舞臺(tái)。有學(xué)生把“將Y坐標(biāo)設(shè)定為”改成了“將Y坐標(biāo)增加為”,于是教師引導(dǎo)學(xué)生分析:當(dāng)目前坐標(biāo)值為100的情況下,“增加”和“設(shè)定”會(huì)有什么差別?
學(xué)生的創(chuàng)意乒乓球游戲也“玩倒”了教師。例如,在橫板改成豎板的游戲中,教師在示范時(shí)無法接住球,于是向?qū)W生求助。一位不善言辭的學(xué)生上臺(tái)將Picooard板倒置,問題就迎刃而解了。原來滑竿的方向與球拍的運(yùn)動(dòng)方向反了。于是教師因勢(shì)利導(dǎo):能否不改球拍方向,僅在程序上進(jìn)行修改呢?學(xué)生很快想到用0減去原來的表達(dá)式即“(滑竿傳感器的值-50)*3.6”。還有一種創(chuàng)意,稱為“五彩乒乓游戲”,學(xué)生將運(yùn)動(dòng)的球改成彩色,將無序運(yùn)動(dòng)的球增加了3個(gè),并且速度很快。教師演示時(shí)屢接不中,學(xué)生們哄堂大笑,于是一位游戲高手上臺(tái)解決了問題:根本不看球的運(yùn)動(dòng),當(dāng)綠旗被點(diǎn)擊(即程序開始運(yùn)行),就不停地快速上下滑動(dòng)滑竿。教師對(duì)學(xué)生評(píng)價(jià)時(shí),稱“玩倒老師”也是加分項(xiàng)。學(xué)生聽到教師在講座中演示他們的作品時(shí),尤其興奮。這也是多元評(píng)價(jià)的一個(gè)范例。
3.問題分解細(xì)化,反復(fù)演進(jìn)中體驗(yàn)迭代思維
“智能可識(shí)別序號(hào)機(jī)器人”的目標(biāo)任務(wù)是設(shè)計(jì)制作能自動(dòng)識(shí)別集裝箱序號(hào)的小車,能將1、2、3號(hào)集裝箱搬運(yùn)到對(duì)應(yīng)置上(見圖1)。較為復(fù)雜的任務(wù)需要先進(jìn)行分解和模式識(shí)別,即確定具體的實(shí)施方案。在確認(rèn)使用比較可靠的磁感應(yīng)識(shí)別策略后,引導(dǎo)學(xué)生對(duì)目標(biāo)任務(wù)進(jìn)行拆解:集裝箱及自制“起重機(jī)”的3D設(shè)計(jì)建模及打印、集裝箱數(shù)據(jù)的獲取、路口序號(hào)的獲取、機(jī)器人試驗(yàn)場(chǎng)地繪制。程序完成后,先進(jìn)行單個(gè)集裝箱搬運(yùn)實(shí)驗(yàn),看能否到達(dá)指定位置。然后在此基礎(chǔ)上匯總集成、迭代優(yōu)化,讓機(jī)器人逐個(gè)搬運(yùn)三個(gè)集裝箱到指定位置。學(xué)生會(huì)不斷優(yōu)化完善所編寫的程序以實(shí)現(xiàn)任務(wù)目標(biāo),在此過程中培養(yǎng)了迭代思維。
以上是問題解決過程中所謂“終端產(chǎn)品”的迭代,是一種廣義的迭代思維。在程序設(shè)計(jì)中也可以培養(yǎng)迭代思維,是一種微觀層面的狹義的迭代。以“智能端茶杯機(jī)器人”為例,除了需要整體反復(fù)演進(jìn)優(yōu)化外,其中機(jī)械抓手準(zhǔn)確對(duì)準(zhǔn)杯子的程序設(shè)計(jì)是一個(gè)難點(diǎn),因?yàn)槊看螜z測(cè)到的杯子的位置包括方向都有差異,很難以不變應(yīng)萬變。而執(zhí)行取杯動(dòng)作前是否已經(jīng)在抓取的有效范圍內(nèi)也是能否順利抓舉杯子的關(guān)鍵,這里的程序設(shè)計(jì)運(yùn)用了一個(gè)循環(huán)語句反復(fù)檢測(cè)與杯子的距離:當(dāng)機(jī)器人超聲波傳感器探測(cè)到與杯子距離小于25厘米時(shí)停止轉(zhuǎn)向,小于13厘米時(shí)則停止前進(jìn)。每次循環(huán)都會(huì)拾取機(jī)器人與杯子的距離,并且與所設(shè)置的條件數(shù)據(jù)進(jìn)行比對(duì),以確定是否達(dá)到最佳位置,是否要停止當(dāng)前動(dòng)作轉(zhuǎn)而執(zhí)行下一動(dòng)作。這個(gè)過程很好地體現(xiàn)了程序設(shè)計(jì)的迭代思維。
如果說程序設(shè)計(jì)是目標(biāo)任務(wù)的一個(gè)子問題,這里顯然又將這個(gè)子問題分解成了若干更小的子問題。事實(shí)上,越是復(fù)雜的問題越會(huì)出現(xiàn)更多的這種層級(jí)。以上STEM項(xiàng)目是數(shù)學(xué)與工程思維融合的范例,當(dāng)機(jī)器人的動(dòng)作自動(dòng)化到匪夷所思的地步,人們將很自然地聯(lián)想到“智能”二字。
4.九章算術(shù)遷移,程序完善中培養(yǎng)遞歸思維
“會(huì)算最大公約數(shù)的機(jī)器人博士”的設(shè)計(jì)目標(biāo)是:讓機(jī)器人程小奔(普及型編程機(jī)器人Codey Rocky)能識(shí)別語音輸入的兩個(gè)數(shù)字,并且自動(dòng)計(jì)算出最大公約數(shù),在屏幕上顯示并且讀出答案。具體實(shí)施方案是用mBlock5編程上傳到程小奔,這里將用到最有意思的算法處理模塊。公約數(shù)的計(jì)算常用短除法進(jìn)行,如何讓計(jì)算機(jī)接受“短除法”是個(gè)難題,于是師生試圖用“九章算術(shù)”中的“更相減損法”來完成。如圖2所示,它是不斷用兩數(shù)差的絕對(duì)值跟較小的數(shù)比較,當(dāng)兩者相同時(shí),此數(shù)即是兩數(shù)的最大公約數(shù)。這里用到了mBlock的新建模塊功能,當(dāng)不符合“程序出口”條件時(shí),此模塊將使“計(jì)算m與n的最大公約數(shù)”被反復(fù)執(zhí)行,該程序的研制過程滲透了遞歸思維。
為強(qiáng)化學(xué)生的遞歸思維,在課后拓展環(huán)節(jié),教師讓學(xué)生用輾轉(zhuǎn)相除法設(shè)計(jì)一個(gè)自動(dòng)計(jì)算兩數(shù)最大公約數(shù)的程序。在此過程中,學(xué)生需搜索相關(guān)算法的原理,修改原程序。能否獨(dú)立完成這一拓展作業(yè),可以檢驗(yàn)學(xué)生遞歸思維的水平。
以上在STEM課程中進(jìn)行計(jì)算思維培養(yǎng)的案例側(cè)重點(diǎn)各有不同,但這些點(diǎn)滴的努力最后形成了培養(yǎng)學(xué)生計(jì)算思維的合力。后期,教師還要在以下方面進(jìn)一步探索與實(shí)踐:基于真實(shí)問題情境的項(xiàng)目化學(xué)習(xí),而非知識(shí)技能的菜單化學(xué)習(xí);多元化多維度的適性的教學(xué)評(píng)價(jià),避免復(fù)制單一線性的評(píng)價(jià)模式;嫁接計(jì)算思維培養(yǎng)的STEM課程的梯度化設(shè)計(jì),摒棄平面化鋪陳等。讓學(xué)生掌握計(jì)算思維,有利于培養(yǎng)他們成為科技創(chuàng)客和善于解決問題的人,成為合格的“數(shù)字土著”,成為2025年占據(jù)人工智能制高點(diǎn)的推進(jìn)者。以上案例或許尚顯單薄,但更重要的是行動(dòng)已經(jīng)開始。
(責(zé)任編輯 郭向和)