李麗美
計算思維概念的提出由來已久,隨著新課改的推進(jìn),作為信息技術(shù)學(xué)科的核心素養(yǎng),它熱度不減。然而,中小學(xué)信息技術(shù)教師對計算思維的理解和應(yīng)用現(xiàn)狀是不容樂觀的,有的教師還處于概念理解的混沌階段,有的教師則簡單地把計算思維等同于算法思維,認(rèn)為只有程序設(shè)計課才要體現(xiàn)計算思維,只有涉及算法,才可以談培養(yǎng)計算思維的設(shè)計。因此,計算思維在常態(tài)課堂中落地遭遇了一定的理解和應(yīng)用阻力,亟須提供可借鑒的教育實踐和經(jīng)驗。
● 計算思維是信息技術(shù)核心素養(yǎng)的根基
計算思維最早由周以真教授提出,爾后經(jīng)過國內(nèi)外學(xué)者的討論與實踐,逐步明晰細(xì)化。筆者認(rèn)為計算思維是問題解決過程中的一系列思維活動,具體包括分解、模式識別、抽象、算法思維、評估、遷移等思維活動。
計算思維處于信息技術(shù)學(xué)科核心素養(yǎng)的中心位置,它將信息意識、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會責(zé)任牢固地聯(lián)系在一起,使其成為一個有機(jī)的整體。信息意識包含了信息搜索、信息獲取、信息分析與甄別等內(nèi)容,處在學(xué)生分析處理問題的初始層面,相當(dāng)于對問題的預(yù)處理;數(shù)字化學(xué)習(xí)與創(chuàng)新考查學(xué)生運用數(shù)字化資源解決問題的能力,是其他三個要素在解決問題過程中的具體體現(xiàn);信息社會責(zé)任是大概念,是學(xué)生發(fā)展及其社會化的必然要求,相當(dāng)于一種最終的學(xué)習(xí)歸宿與檢驗。
計算思維似乎看不見摸不著,它隱藏在信息技術(shù)學(xué)科的根基和主干之中,卻是核心素養(yǎng)的本質(zhì)體現(xiàn),沒有它就無法快速進(jìn)行信息的識別、剝離與抽象,沒有它數(shù)字化學(xué)習(xí)中的技術(shù)運用就無法爐火純青,效率會大打折扣,沒有它信息社會責(zé)任的升華很難進(jìn)行,沒有它核心素養(yǎng)的大樹就像沒有了根基一樣。因此,計算思維是信息技術(shù)學(xué)科核心素養(yǎng)培養(yǎng)的根基,更是信息技術(shù)核心素養(yǎng)培養(yǎng)的著力點。
● 冗余設(shè)計助力培養(yǎng)計算思維
“冗余”?多余的,重復(fù)的,啰嗦的,聽起來像是貶義詞,卻是計算思維中一種很重要的思想,而本文中的冗余有著另外的含義,它指信息技術(shù)課堂教學(xué)中的重復(fù)設(shè)計。偶然的重復(fù)錄入可以喚醒學(xué)生的模式識別,有意而為之的重復(fù)操作給予學(xué)生剝離抽象的計算思維體驗,程序編寫中的重復(fù)模塊成為創(chuàng)生計算思維的源泉。精心設(shè)計的冗余不是多余和重復(fù),而是倒逼學(xué)生審視自己思考的一種方式;必要的冗余不是課堂的累贅,而是能讓師生共同追尋思維的痕跡,變課堂為思維碰撞的平臺。
教學(xué)實踐表明,對話最適合思維的培養(yǎng),因為這種策略鼓勵學(xué)生與教師進(jìn)行交流。教師通過提問引導(dǎo)學(xué)生,刺激學(xué)生去思考;學(xué)生根據(jù)教師的問題,通過分析、討論等一步一步地深入。以下三個案例均展示了師生間的對話,閃耀著計算思維的火花。
1.喚醒模式識別
模式識別指對表征事物或現(xiàn)象的各種形式(數(shù)值、文字和邏輯關(guān)系等)的信息進(jìn)行處理和分析,實現(xiàn)對事物或現(xiàn)象進(jìn)行辨認(rèn)、分類、描述和解釋的過程,是一種重要的計算思維。生活中模式識別的應(yīng)用比比皆是,如指紋識別、車牌識別等。信息技術(shù)課堂中學(xué)生偶然的重復(fù)操作在教師的監(jiān)控和引導(dǎo)下能夠喚醒模式識別,讓無意識變?yōu)橛幸庾R,把握習(xí)得計算思維的良機(jī)。
案例1:Excel填充柄。
在Excel公式的教學(xué)中,填充柄是必然會涉及的內(nèi)容。簡單的操作背后蘊(yùn)含著模式識別的思維。這一課中使用的素材是學(xué)生體質(zhì)健康狀況,需要使用公式計算每位學(xué)生的BMI值(身體質(zhì)量指數(shù)=體重/身高的平方)。學(xué)生往往會在錄入公式計算出第一位同學(xué)的BMI值之后,迫不及待地?zé)o意識地用同樣的方法計算下一位同學(xué)的BMI值,個別速度快的學(xué)生在下一次反饋之前甚至可以完成5~6次公式的錄入,也有少數(shù)學(xué)生偶然發(fā)現(xiàn)或者從課本上看到填充柄的使用,卻不明白它的原理。筆者常常等到大部分學(xué)生進(jìn)行了兩次計算,即重復(fù)地錄入了公式之后,再用對話的方式給予反饋,而并非在授課之初就直接拋出填充柄。
師:很多同學(xué)像小蜜蜂一樣,辛勤地勞作著,速度快的同學(xué)已經(jīng)計算了5~6個BMI值,慢的同學(xué)也已經(jīng)在錄入第二個公式了,非常贊!老師想問你們,如果要填完這一個班級的同學(xué)的BMI的值,你打算怎么辦?
生:一個一個來吧;肯定有別的辦法。
師:不急,我們先一起按照原方法再算一個!
學(xué)生躍躍欲試,筆者選擇學(xué)生到教師機(jī)進(jìn)行操作,并把第一位學(xué)生的BMI計算公式和第二位學(xué)生的計算公式以對齊的方式都寫在黑板上。
師:同學(xué)們火眼金睛,對比分析看看這兩個公式有什么特點?
生:字母相同,數(shù)字不同;非常像;難道可以復(fù)制?
師:數(shù)字代表什么?
生:所在行;在哪一行;行號。
師:同學(xué)們非常厲害,剛剛你們的大腦正在進(jìn)行模式識別,老師總結(jié)一下,這兩個公式的結(jié)構(gòu)完全相同,只是它們所在的行不同,后面的數(shù)字正是所在行的標(biāo)號。那么在計算機(jī)中,對于同樣的內(nèi)容,往往可以進(jìn)行什么操作提高效率?
生:復(fù)制+粘貼;可是公式不完全相同啊;行號怎么辦?
師:Excel軟件的設(shè)計者也想到了這個問題,因此這里的復(fù)制粘貼有了一個高效的工具,它可以智能地識別行號,它就是填充柄,是不是已經(jīng)有同學(xué)體驗到了它的強(qiáng)大?可以分享給大家嗎?
……
使用填充柄之后,我們隨機(jī)選擇一位同學(xué)的BMI值單元格,驗證一下里面填寫的公式是否正確。
生:哇,真的。
“學(xué)生多錄入幾個”“原方法再算一個”“驗證一下”,重復(fù)的公式錄入和檢查不是在做無用功,偶然的冗余是后續(xù)師生對話的基礎(chǔ),是喚醒模式識別思維的關(guān)鍵。在與學(xué)生的對話中可以清晰地追尋到學(xué)生的思維痕跡,看到學(xué)生對自己思維的審視、對比、分析、遷移,將復(fù)制粘貼的模式啟動,而這里的公式復(fù)制并不是簡單意義上的復(fù)制,它應(yīng)用了智能識別行號和自動化填充的方式,學(xué)生也看到了軟件設(shè)計者的思考,思維的再現(xiàn),這又是一種模式識別的喚醒。
2.體驗抽象剝離
抽象剝離是計算思維的重要組成部分,它可以進(jìn)行問題分析、特征抓取、模型建立,從而高效地解決問題。信息技術(shù)課堂教學(xué)中模板的教學(xué)常常涉及這種計算思維的歷練。
案例2:PPT母版與模板。
很多學(xué)生對母版與模板分不清楚,這其實是在課堂學(xué)習(xí)中對問題的抽象和剝離不到位。筆者常以“班級運動會風(fēng)采”為主題,進(jìn)行幻燈片的教學(xué),為母版設(shè)計的冗余操作就是“Logo需要出現(xiàn)在每一頁”,這里的Logo一般是班旗或者班級代表性的標(biāo)志,像校標(biāo)一樣。
學(xué)生常規(guī)性的方法就是復(fù)制和粘貼?這其實也是一種模式識別思維啟動后而得到的解決方法,但筆者會繼續(xù)提出問題。
師:如果我們的幻燈片有100頁,你打算怎么做?
生:再……粘貼一下,是不是可以統(tǒng)一粘貼?是不是可以選擇粘在哪些幻燈片上?
師:假如我的幻燈片還需要每一頁加上制作日期,那一直復(fù)制粘貼,效率太低了。PPT的設(shè)計者經(jīng)歷了和你們一樣的困擾,讓我們像他一樣,為我們手中的操作按下暫停鍵,來回顧一下我們的需求。
生:每一頁固定位置放置班旗,每一頁有制作日期。
師:這兩個需求是這個文檔中所有幻燈片的共同點,我們抽離一下,其實我需要的一張基礎(chǔ)幻燈片是這樣的,右上角一個班級標(biāo)志,左下角一個制作時間,其他的幻燈片可以在這個基礎(chǔ)上添加制作。
生:哪里有這樣一張幻燈片?自己制作一張,做其他幻燈片的時候復(fù)制這張,再添加內(nèi)容嗎?
師:你們真棒,PPT設(shè)計者一定發(fā)現(xiàn)我們洞察了他們的思維,其實它就是母版,在它的基礎(chǔ)上可以衍生出我們需要的多張幻燈片,它們都像它的孩子一樣!
生:找不到哪里有……
師:我們換個視角來看看你制作的幻燈片,去視圖里發(fā)現(xiàn)秘密吧!
生:有了它,我們可以以一當(dāng)百??!我對這次的PPT特別滿意,明年再次介紹班級運動會風(fēng)采的時候可以直接修改使用嗎?
師:你的想法很棒,那我們再把它抽象升級一下,讓它常駐在你的PPT里,要用的時候直接把它的配色、版式、字體、母版設(shè)置等引入就可以了,就像報紙的幾個版面一樣,有一些常用的模板留存著,需要用的時候取出即可。模板比母版特權(quán)高,擁有自己的擴(kuò)展名,保存后,在你下次新建的時候就可以看到它。我們還可以自己動手做個技術(shù)實驗,探索你的.pptx文件即模板文件存放在哪里。
課堂中需要給予學(xué)生充分的技術(shù)實驗時間,讓他們?nèi)L試,看似冗余的操作其實倒逼著學(xué)生停下來去思考。在對話中,教師像剝洋蔥一樣,引導(dǎo)學(xué)生對自己的PPT層層剝離、分解、提取、抽象,母版呼之欲出,模板理解的難題迎刃而解(如圖1)。
3.創(chuàng)生模塊化思維
在程序設(shè)計中,談到計算思維,大多數(shù)教師偏向在算法上做文章,如遞歸思想、排序算法。其實計算思維落實在程序教學(xué)中的點滴,也不僅僅是算法思維,函數(shù)與過程的學(xué)習(xí)就是非常明顯的抽象思維,即模塊化思想。
案例3:程序設(shè)計之函數(shù)與過程。
在函數(shù)與過程的教學(xué)中,不能直接將一個例子放在學(xué)生面前,告知這是函數(shù),分析它的作用,因為這樣的教學(xué)會讓學(xué)生糊涂,即使知道了概念也未必能深刻理解,在運用上就會出現(xiàn)跟不上、想不起來的問題,更談不上思維上的理解與內(nèi)化。
例如,筆者會向?qū)W生拋出問題:輸入任意兩個十六進(jìn)制的數(shù),以十進(jìn)制的方式輸出它們的差。請學(xué)生審題思考,預(yù)設(shè)方法。學(xué)生一般會給出字符串轉(zhuǎn)換法,存儲轉(zhuǎn)換十六進(jìn)制的數(shù)字,使用For循環(huán)或While循環(huán)進(jìn)行每一個輸入的轉(zhuǎn)換。接下來,不是講解函數(shù)的使用,而是讓學(xué)生按照分析思路,常規(guī)地寫兩個循環(huán),然后與學(xué)生對話引導(dǎo),學(xué)生程序抽象與模塊化如下頁圖2所示。
師:我們看到這位同學(xué)的程序分享,出色地完成了任務(wù),如果輸入變?yōu)?個數(shù)、5個數(shù)、求它們的運算結(jié)果,你該如何修改你的程序?
生:再把轉(zhuǎn)換過程寫幾遍,又要重復(fù)操作了,那程序很長了。
師:說到點子上了,我們在重復(fù)寫同一段代碼,你剛才已經(jīng)重復(fù)了一遍,發(fā)現(xiàn)了嗎?
生:沒錯,可是對象不同,針對不同的字符串,用的語句、方法一模一樣。我是復(fù)制粘貼,然后修改一下字符串名稱就行了。
師:沒錯,大家已經(jīng)預(yù)感到應(yīng)該有辦法可以把這重復(fù)使用的語句簡化,讓主程序,也就是“main()”更簡潔明了,就像生活中的黑匣子一樣,它的功能很明確,將我們送進(jìn)去的東西用同一種方法處理好,再還給我們,也可以理解為模子、模具,這樣,我們這兩段程序就可以只寫一次,在用到的時候送進(jìn)去處理一下。
生:就像我們之前用到過的那些數(shù)學(xué)公式,如“sqrt()”?
師:對,它們有比較高大上的名字:函數(shù)或過程。我們還是回過頭來分析眼前重復(fù)寫的這兩段程序,它們都是對一個字符串進(jìn)行處理,那我們要用的時候只需要告訴它對哪個字符串處理就行了,這就是參數(shù)的意思。
生:原來我也可以簡化它!這就是函數(shù)??!參數(shù)竟然是這個意思,之前看書不太懂。
師:恭喜你從今天開始也可以編寫黑匣子了,對外只說:“告訴我你要處理誰!”
函數(shù)與過程是程序設(shè)計學(xué)習(xí)中逐步抽象的過程,涉及封裝、調(diào)用思想、模塊化思維等眾多計算思維。給予學(xué)生重復(fù)的機(jī)會,讓學(xué)生在編寫與回顧之后,驀然回首,認(rèn)識到程序功能上的相似與重復(fù),認(rèn)識到處理方法上的“雷同”,產(chǎn)生化繁為簡的需求,精簡的方法也需要教師逐步引導(dǎo),水到渠成,而不是對參數(shù)的概念直接進(jìn)行生硬的解釋,強(qiáng)塞給學(xué)生。程序編寫中的冗余正是學(xué)生理解函數(shù)與過程、內(nèi)化封裝與調(diào)用思想的關(guān)鍵,正是學(xué)生創(chuàng)造程序模塊的過程,正是模塊化思維生發(fā)的源泉。
其實,認(rèn)真審視信息技術(shù)課程中的內(nèi)容,不難發(fā)現(xiàn):冗余設(shè)計的思想也是蘊(yùn)含其中的,如圖層的分解、剝離、重組思維,在Flash、Photoshop中作為重要思想重復(fù)出現(xiàn);計算機(jī)硬件中CPU的分時多任務(wù)是一種分解,網(wǎng)絡(luò)數(shù)據(jù)的分包發(fā)送也是一種分解。這樣的冗余設(shè)計十分必要,從某種程度上能夠激發(fā)學(xué)生的元認(rèn)知,喚醒模式識別,強(qiáng)化計算思維。
計算思維的培養(yǎng)不是一蹴而就的,而是貫穿中小學(xué)信息技術(shù)教育的始終,信息技術(shù)教師有責(zé)任、有義務(wù)在日常教學(xué)中將計算思維滲透到細(xì)節(jié)中,讓核心素養(yǎng)的培養(yǎng)落到實處,需要經(jīng)歷從模擬的量變到創(chuàng)造的質(zhì)變,從了解、熟知、應(yīng)用到建構(gòu)在自己的頭腦中,最終成為自身思維的一部分的過程。