費(fèi)海明
“計(jì)算思維”概念自進(jìn)入教育視野后,備受關(guān)注。但在教學(xué)實(shí)踐中,教師對(duì)“計(jì)算思維”有不同的理解。一部分教師將“計(jì)算思維”視為計(jì)算機(jī)科學(xué)概念的大集合,把教學(xué)如剪貼板、驅(qū)動(dòng)程序、郵件傳輸?shù)纫曂?jì)算思維教育的分解;而另一部分教師則將“計(jì)算思維”與“程序算法”畫上約等號(hào)。起初不起眼的微小的理解差異,經(jīng)過多次迭代,最終會(huì)發(fā)展成截然不同的實(shí)踐結(jié)果。鑒于此,筆者認(rèn)為需要追根溯源,透析計(jì)算思維的內(nèi)在要素,追問計(jì)算思維教育的最終目的,才能在理解的基礎(chǔ)上,生發(fā)教學(xué)的創(chuàng)意。
計(jì)算思維的內(nèi)涵與追求
對(duì)計(jì)算思維內(nèi)涵的理解,可追溯至圖靈時(shí)代。圖靈將機(jī)器的操作分解為“最基本操作”,以至于不能再分解,讓機(jī)器從一個(gè)無限長(zhǎng)的紙帶中讀取符號(hào)序列(將要求解的數(shù)轉(zhuǎn)換為機(jī)器可識(shí)別的符號(hào)),機(jī)器逐一執(zhí)行“最基本操作”,最終實(shí)現(xiàn)計(jì)算的自動(dòng)化?,F(xiàn)代計(jì)算機(jī)的計(jì)算不僅要實(shí)現(xiàn)自動(dòng)化,更要追求高效率、大規(guī)模、更穩(wěn)定、更安全、更智能的計(jì)算,這是創(chuàng)造性思維向著“可計(jì)算”的方向不斷迸發(fā)與迭代的過程。如要做到多任務(wù),那就要讓CPU“分時(shí)”;大規(guī)模的數(shù)據(jù)要快速排序,那就會(huì)用到“分治”的算法思想;傳輸大文件,可將文件“分段”發(fā)到目的地后再“重組”;想要讓更多的用戶同時(shí)在線訪問,那就將服務(wù)器“分身”,用分布式、讀寫分離和協(xié)調(diào)器等技術(shù)應(yīng)對(duì)大規(guī)模計(jì)算。
計(jì)算思維(狹義)究其本質(zhì),是確定問題的“可計(jì)算”部分及“問題解決方案”至“計(jì)算機(jī)可執(zhí)行方案”這二者之間實(shí)現(xiàn)轉(zhuǎn)化與創(chuàng)造的思維過程。這一過程富有挑戰(zhàn)性,是一個(gè)分解、抽象、模式識(shí)別和算法構(gòu)建的思維過程,充滿了“分合衍變”的辯證思想。為計(jì)算而分之,又為目的而合之。合中生分,分而治之,分合復(fù)始,“分與合”的組合與衍化,使得“問題解決方案”向著“可計(jì)算方案”不斷轉(zhuǎn)化與優(yōu)化,創(chuàng)生出信息技術(shù)世界的實(shí)體與具體概念,如圖1所示。
“計(jì)算思維+”視野下的教育融合
計(jì)算思維的培育應(yīng)融入教育整體和信息技術(shù)學(xué)科的核心素養(yǎng)培育過程。
首先,計(jì)算思維可以與其他思維培育相融合。當(dāng)學(xué)生經(jīng)歷問題的逐步分析和抽象時(shí),就是在培育邏輯思維;當(dāng)學(xué)生發(fā)現(xiàn)原系統(tǒng)功能或算法的不足,用計(jì)算思維進(jìn)行優(yōu)化改進(jìn)時(shí),就是在激發(fā)創(chuàng)造性思維。
其次,計(jì)算思維可以與學(xué)科三大核心素養(yǎng)培育相融合。信息技術(shù)的核心素養(yǎng)包括計(jì)算思維、信息意識(shí)、數(shù)字化學(xué)習(xí)與創(chuàng)新和信息社會(huì)責(zé)任四大部分。在“計(jì)算思維+”的視野下,信息意識(shí)追求的是識(shí)別重復(fù)結(jié)構(gòu)、發(fā)現(xiàn)冗余結(jié)構(gòu)、洞察內(nèi)在結(jié)構(gòu)、覺察信息背后數(shù)據(jù)、推斷功能背后算法的“意識(shí)”;數(shù)字化學(xué)習(xí)與創(chuàng)新就是用計(jì)算思維審視現(xiàn)存系統(tǒng)和現(xiàn)實(shí)問題的學(xué)習(xí)與創(chuàng)新;信息社會(huì)責(zé)任則是對(duì)技術(shù)與信息的創(chuàng)造者的正能量的宣揚(yáng)、感悟和仿效,以計(jì)算思維為“透鏡”,增強(qiáng)技術(shù)防護(hù)意識(shí),自覺維護(hù)數(shù)字社會(huì)的安全。這樣,在計(jì)算思維的加持下,各核心素養(yǎng)內(nèi)涵進(jìn)一步豐富,其培育得以整體優(yōu)化。
中小學(xué)計(jì)算思維培育的切入點(diǎn)
對(duì)于中小學(xué)信息技術(shù)教育而言,以項(xiàng)目為載體開展計(jì)算思維教育,從具象到抽象,具有可操作性。在項(xiàng)目實(shí)踐中,教師要有超越具體的項(xiàng)目和技術(shù)的意識(shí),通過優(yōu)化、逆構(gòu)等視角,引導(dǎo)學(xué)生向著“可計(jì)算”的方向展開思維過程,并不斷反思,從而實(shí)現(xiàn)計(jì)算思維的內(nèi)生與發(fā)展。
1.優(yōu)化視角——在項(xiàng)目實(shí)施中滲透計(jì)算思維
優(yōu)化就是面向更優(yōu)異目標(biāo)的一種思考與行動(dòng),一種最優(yōu)解的追求。應(yīng)用優(yōu)化視角,可以引導(dǎo)學(xué)生對(duì)原方案(算法)進(jìn)行審視,應(yīng)用抽象、分解和模式識(shí)別,實(shí)現(xiàn)原方案(算法)的重構(gòu)或改進(jìn)。
案例1:作文集“優(yōu)化記”。
第一步:抽象。先不考慮作文集的主題、篇數(shù)、文本和插圖,也不考慮用Word還是WPS,只考慮作文集要處理(計(jì)算)的基本要素——標(biāo)題、署名、正文等。
第二步:分解。將作文集項(xiàng)目制作逐步分解,分解至“能清晰地與字處理軟件的具體工具對(duì)應(yīng)”為止。
第三步:模式識(shí)別。在分解的基礎(chǔ)上,思考:哪些設(shè)置屬于同類項(xiàng),可以合并?哪些是屬于默認(rèn)設(shè)置,可以忽略?
第四步:算法構(gòu)建。在模式識(shí)別的基礎(chǔ)上,優(yōu)化作文集的制作流程(算法),如下頁圖2所示。
通過對(duì)項(xiàng)目的要素與步驟的分解,可以引導(dǎo)學(xué)生發(fā)現(xiàn)相似、相同的部分并加以統(tǒng)整,避免表示的冗余或操作的重復(fù),以實(shí)現(xiàn)問題解決(算法)的優(yōu)化。例如,作文集的文字格式設(shè)置是一項(xiàng)不小的工程,很值得優(yōu)化研究;而制作PPT的過程中是新建還是復(fù)制某頁基礎(chǔ)上修改,這事實(shí)是“哪種方案最優(yōu)”的思考,是一種優(yōu)化視角下的分解和模式識(shí)別。
2.逆構(gòu)視角——在原理探究中發(fā)掘計(jì)算思維
逆構(gòu),是由果索因,是指從現(xiàn)有的技術(shù)思考該技術(shù)的實(shí)現(xiàn)過程。逆構(gòu)視角不是關(guān)注技術(shù)的應(yīng)用,而是關(guān)注技術(shù)工具的“重新發(fā)明”,即讓學(xué)生體驗(yàn)技術(shù)開發(fā)者的計(jì)算思維過程,感受開發(fā)者的智慧和精神。
案例2:Excel填充柄誕生記。
在“初中生睡眠時(shí)間調(diào)查統(tǒng)計(jì)”項(xiàng)目中,教師提問:“填充柄如何實(shí)現(xiàn)公式的自動(dòng)復(fù)制?”學(xué)生通過列出E列單元格上的一部分公式,提煉出“通項(xiàng)”公式“=24-Ci+Di”。接著,教師將提煉出的公式轉(zhuǎn)換成VBA代碼,并用循環(huán)結(jié)構(gòu)令其“反復(fù)做”,當(dāng)按下按鈕那一刻,學(xué)生驚奇地發(fā)現(xiàn)——填充柄誕生了(如圖3)。
抽象出來的公式與最終的VBA代碼形式,會(huì)略有差異,但其結(jié)構(gòu)是一致的。人腦中的算法轉(zhuǎn)化至機(jī)器內(nèi)能運(yùn)行的符號(hào)表達(dá),算是一種“入鄉(xiāng)隨俗”。要讓機(jī)器執(zhí)行人腦的算法思想,則必須與機(jī)器中已人為預(yù)置的、已抽象的協(xié)議或接口“打交道”,這與圖靈思考的“可計(jì)算”的本質(zhì)是一樣的。
以逆構(gòu)視角觀察,計(jì)算思維研究和討論的資源變得無處不在,自然也就取之不盡,用之不竭。例如,Word文字居中——逆構(gòu)“字符串居中算法”,未封閉圖形的填充漏色現(xiàn)象——逆構(gòu)“廣度搜索”等。
3.突圍視角——在現(xiàn)實(shí)約束下激發(fā)計(jì)算思維
突圍就是突破困難或約束的思考與行動(dòng)。在用計(jì)算機(jī)求解問題時(shí),常會(huì)遇到存儲(chǔ)速度、存儲(chǔ)容量、計(jì)算速度、網(wǎng)絡(luò)帶寬等問題,這些困難限制了問題求解的規(guī)模、速度、穩(wěn)定性和安全性。在實(shí)際教學(xué)中,教師可以構(gòu)造一種模擬的約束情境,在不降低問題難度和更換計(jì)算資源的前提下,思考突破的方法——突圍視角,這將極大地激發(fā)學(xué)生的計(jì)算思維。具體例子如下表所示。
4.開發(fā)視角——在程序設(shè)計(jì)中培育計(jì)算思維
開發(fā)指的是程序設(shè)計(jì)與開發(fā),這也是較為經(jīng)典的計(jì)算思維培育視角。程序開發(fā)是“原生”的計(jì)算思維孕育場(chǎng),其明確而有限的指令(函數(shù))、面向用戶的交互設(shè)計(jì)、忠實(shí)如一的執(zhí)行調(diào)試和樸素算法的不完美等體驗(yàn),都會(huì)激發(fā)學(xué)生拿起“分解、模式識(shí)別、抽象、算法構(gòu)建”的思維武器,為實(shí)現(xiàn)程序的誕生與升級(jí)而不斷探索。
案例3:抽獎(jiǎng)盤——計(jì)算思維知多少。
第一步:抽獎(jiǎng)盤有哪些對(duì)象(角色)?它們有什么行為?學(xué)生發(fā)現(xiàn)轉(zhuǎn)盤上的指針不能隨著轉(zhuǎn)盤轉(zhuǎn)動(dòng),因此兩者需要分離,對(duì)應(yīng)于Scratch中的2個(gè)角色。
第二步:轉(zhuǎn)盤如何轉(zhuǎn)動(dòng)?在實(shí)踐中學(xué)生發(fā)現(xiàn),輸入的度數(shù)是讓轉(zhuǎn)盤“瞬間定格”于最終度數(shù),而非預(yù)想的“旋轉(zhuǎn)”,而且該類指令不支持轉(zhuǎn)動(dòng)時(shí)間的設(shè)置,若要實(shí)現(xiàn)動(dòng)畫,只能對(duì)旋轉(zhuǎn)的度數(shù)進(jìn)行分解,讓轉(zhuǎn)盤每次只旋轉(zhuǎn)一個(gè)小的角度(如15度),借助循環(huán)執(zhí)行“合成”轉(zhuǎn)動(dòng)的動(dòng)畫。
第三步:如何模擬出每次轉(zhuǎn)盤停的位置不一樣?用隨機(jī)數(shù)指令即可,但隨機(jī)數(shù)的取值范圍與旋轉(zhuǎn)執(zhí)行次數(shù)之間有什么關(guān)系呢?可引導(dǎo)學(xué)生模式識(shí)別,轉(zhuǎn)盤隨機(jī)停留其本質(zhì)上是360度范圍內(nèi)的隨機(jī)取值。若想轉(zhuǎn)動(dòng)5圈后隨機(jī)停,則隨機(jī)數(shù)取為360÷15×5(120)~360÷15×6(144),如圖4所示。
以上構(gòu)建的程序?qū)崿F(xiàn)的轉(zhuǎn)動(dòng)是“生硬”的。對(duì)于初中生而言,鼓勵(lì)學(xué)生用一次函數(shù)y=kx+b或正弦函數(shù)y=sin(x)實(shí)現(xiàn)緩動(dòng),如下頁圖5所示。此外,還可以借助人工智能技術(shù),支持更友好的交互和更智能化的抽獎(jiǎng)。
計(jì)算思維培育的四大視角并不孤立存在,而是互相交融?!澳鏄?gòu)視角”以現(xiàn)有技術(shù)為對(duì)象,乃是重新經(jīng)歷“開發(fā)(視角)”的過程;而“突圍視角”何嘗不是一種約束條件下指向內(nèi)在的“優(yōu)化(視角)”。教師擁有四大視角并實(shí)現(xiàn)互融,計(jì)算思維教育的點(diǎn)滴創(chuàng)意也就在教學(xué)實(shí)踐中不斷誕生。
仔細(xì)觀察眼前的現(xiàn)實(shí)世界,萬物看似形態(tài)各異,但其內(nèi)在結(jié)構(gòu)與要素卻有著驚人的相似。紛繁復(fù)雜的信息世界,誰會(huì)料到隱藏于后臺(tái)的系統(tǒng)和映入眼簾的程序都來自“可計(jì)算”的初心。兼顧機(jī)器的特性,突破算力的限制,直至人的思維融入至人類自身創(chuàng)生的系統(tǒng),無數(shù)的計(jì)算思維演繹出一場(chǎng)場(chǎng)“分與合”的演變,繁衍出層出不窮的技術(shù)、各具個(gè)性的項(xiàng)目和豐富多彩的信息,最終推動(dòng)信息世界版本的分秒更迭。計(jì)算思維的“可結(jié)晶”、可分層、可迭代,正是預(yù)示著一場(chǎng)恢宏無比的全世界腦力聯(lián)網(wǎng)的超智能演化。這一切可以看成是“生命為機(jī)器賦智能”,也可以視為“技術(shù)為生命賦活力”。計(jì)算思維的內(nèi)涵是如此的深邃,而探索計(jì)算思維的教育是如此的充滿挑戰(zhàn)與樂趣。