“計算思維”是信息技術(shù)學科的核心素養(yǎng)之一,它是21世紀高素質(zhì)人才的必備素養(yǎng)。美國卡梅隆大學計算機科學系主任周以真 (Jeannette M.Wing)教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。當前最新最熱門的高科技大部分都是借助于計算思維發(fā)展起來的,比如人工神經(jīng)網(wǎng)絡、深度學習、人工智能、語音識別、機器人技術(shù)……所以我們很有必要從小學開始就進行計算思維的滲透學習。
計算思維的學習建立在人理解計算機運行方式的基礎上,學會運用這樣的方法對數(shù)據(jù)進行一系列的映射,從而得到我們想要的結(jié)果。但它的學習過程并不一定要用到計算機,為此筆者開設了主題為 “不開機學習計算思維”的興趣課程,讓學生不用計算機也能學到高深的計算機知識。以下是一些相關(guān)的做法:
計算思維是一個新鮮概念,2006年3月周以真教授首次提出這一概念,它也是計算機科學高度發(fā)展的必然結(jié)果。筆者認為 “二進制” “程序思維” “遞歸思想” “數(shù)據(jù)映射”是它的核心,為此編寫了校本教材 《小學計算思維教程》,該教程一共有26課,目錄如下:
第一課:從卡片到二進制數(shù);第二課:不同的二進制數(shù);第三課:二進制數(shù)的特點;第四課:十進制數(shù)轉(zhuǎn)為二進制;第五課:讀心小魔術(shù);第六課:用二進制表示字母;第七課:用其他方法表示二進制;第八課:用二進制表示圖像;第九課:壓縮文字信息;第十課:奇偶校驗 (1);第十一課:奇偶校驗 (2);第十二課:哈希校驗;第十三課:信息的多少;第十四課:決策樹;第十五課:線性搜索;第十六課:二分搜索;第十七課:哈希搜索;第十八課:選擇排序;第十九課:插入排序和冒泡排序;第二十課:快速排序;第二十一課:歸并排序;第二十二課:并行排序;第二十三課:網(wǎng)絡;第二十四課:路由與死鎖;第二十五課:處理輸入;第二十六課:使用FAS處理輸入。
按這個教程切實開展教學,就能讓學生進入奇妙的信息技術(shù)科學殿堂,理解計算機的工作原理。學生學會的不僅僅是計算機知識,還有相應的思維方法和思考技巧,這將對學生的未來產(chǎn)生極大的影響。
筆者盡量使用兒童化的語言來描述計算機世界,比如在二進制學習的第一課作如下描述:
當前,所有電子計算機的數(shù)據(jù)都是以二進制的形式來儲存和傳輸?shù)?。如果我們可以鉆進計算機內(nèi)部,就會看到下面這樣的圖形。理解了二進制數(shù)的工作原理也就意味著理解了計算機是怎樣處理信息的,計算機的神秘面紗也將會被揭開。
很神奇吧,計算機中全部信息都只用兩個數(shù)值來表示:0和1。0和1在計算機內(nèi)存中以晶體管的開、關(guān)來表示 (“開”代表1,“關(guān)”代表0,或者相反也可以)。
是不是覺得二進制一下子變得簡單了呢?
雖然筆者在教材上做了很多努力,但難以掩蓋計算思維非常抽象的事實。因此,在每節(jié)課上都使用游戲教學法,設計精妙的活動讓學生參加,讓他們在活動中感受到計算思維的真諦。
1.在二進制學習中我們使用卡片來開展活動:
材料:準備下圖五張卡片:
問題:①如果在左邊增加一張卡片,要畫幾個圓點?②如果再增加一張卡片,要畫幾個圓點?……
2.在學習用聲音傳送二進制信息中我們設計了這樣的活動:
首先要和小伙伴確定聲音表示的含義 (如 “吧”表示1,“布”表示0),然后明確你們傳送的是什么信息,是怎樣編碼的,最后你們就可以用 “唱”的方式來傳達信息了。當然,你不用像計算機那樣高速地“唱”出這些聲音,你可以慢慢地、以聽得清的速度來表達。
問題:用 “唱”的方法傳送數(shù)字89。
3.在學習排序時,我們使用了下面這些材料來模擬計算機的運行方式:
①托盤天平或自制玩具天平 (如下圖);
②8個自制的物體,最好大小一樣。
活動:
在天平的幫助下,一次比較兩個物體,依次找出最重的物體,從而實現(xiàn)從高到低的排列。
這樣的活動每節(jié)課都有安排,目的就是讓學生“有效”地感受計算思維的核心思想。
游戲教學的效果非常好,學生參與熱情高漲,但如果就此認為他們學會了這個知識,那就大錯特錯。知識的內(nèi)化需要學生主動建構(gòu),只有開動腦筋積極思考,知識點才會在他們的大腦中建構(gòu)并和原有知識產(chǎn)生聯(lián)結(jié),這樣才算他真正學會了。筆者認為提出問題讓學生思考并回答是知識內(nèi)化的最好途徑,問題要設在他們的最近發(fā)展區(qū),要問得有深度、有開放性。列舉筆者設計的幾個問題:
1.比如在二進制中有:
光盤利用光學原理來儲存比特,此時可以用碟片表面反光或不反光來表示0或1。下面的CD碟片上存儲了6位二進制,如果吸收光表示0,反射光表示1,則下圖代表二進制多少?
(學生對二進制有了更多認識,同時也了解了光盤的存儲原理)
2.比如在壓縮文字信息中有:
(通過思考如何把壓縮信息還原,可以幫助學生更好地理解游程壓縮算法)
3.在二分搜索中有:
①你一共幾次猜中對手的秘密戰(zhàn)艦?和上節(jié)課的成績相比有進步嗎?是什么原因讓你進步了?
②同學們最快用了幾次猜中秘密戰(zhàn)艦,最差的又是幾次呢?
③你是怎樣用二分查找的辦法來搜索秘密戰(zhàn)艦的?
④如果秘密戰(zhàn)艦不在隊列中會發(fā)生什么情況?要猜多少次才能發(fā)現(xiàn)?
⑤如果有100張卡片,要猜多少次才一定能贏得游戲?
(二分搜索操作起來并不難,難點是理解它的速度為什么會這么快。通過回答上述問題,學生可以將這個知識點內(nèi)化)
每節(jié)課都需要學生全力開動腦筋思考,他們的大腦就像裝了水泵一樣,不斷吸收著高深的計算思維知識。
在教學過程中,筆者發(fā)現(xiàn)有些內(nèi)容使用微課視頻的方式教學,效果會更好。這些內(nèi)容最好以動畫的形式呈現(xiàn),需要學生多次學習。當前 “互聯(lián)網(wǎng)+”技術(shù)的發(fā)展讓這一切都輕易實現(xiàn),只需在合適的地方放上二維碼,學生掃一掃就可以隨時隨地學習。
比如在 “讀心小魔術(shù)”一課上,我們就特意制作了視頻,從 “算命”這個情境導入,吸引學生思考為什么他能猜到我的想法,然后講解其中的原理,最后帶領(lǐng)學生制作這樣的魔術(shù)卡片。
又如在 “并行排序”一課上,我們也錄制了視頻,首先在桌上用游戲棋來演示玩法,然后在操場上實地來玩,最后講解其中的原理。
視頻貴精不貴多,無需為每節(jié)課錄制,在需要的地方放上即可。它讓我們乘上 “互聯(lián)網(wǎng)+”的東風,快速航行在計算思維的大海上。
計算思維作為信息技術(shù)的核心素養(yǎng),它的重要性與日俱增。在培養(yǎng)計算思維的道路上,筆者作了一些嘗試,取得了一定效果。將計算思維作為一個單獨的課程,以興趣課的形式開展教學,學生學得開心、學得扎實。計算思維是一個廣義的概念,更需要教師集思廣益,在長期的教學實踐中不斷探索、補充。