黎啟韶
【摘要】本文結(jié)合小學(xué)六年級的Scratch教學(xué)案例,通過如何利用問題解決的數(shù)學(xué)思維幫助學(xué)生進(jìn)行程序指令理解、創(chuàng)新思維及計(jì)算思維的培養(yǎng),同時也提出了提升學(xué)生計(jì)算思維水平的有關(guān)策略與途徑,希望通過本文為其它在Scratch課程教學(xué)實(shí)踐者和科研人員帶來啟示和借鑒。
【關(guān)鍵詞】Scratch程序設(shè)計(jì)? ?信息技術(shù)? ?數(shù)學(xué)思維? ?計(jì)算思維
【中圖分類號】G623.5
【文獻(xiàn)標(biāo)識碼】A
【文章編號】1992-7711(2020)12-125-03
隨著信息技術(shù)的迅猛發(fā)展,信息素養(yǎng)與創(chuàng)造能力的培養(yǎng)成為信息技術(shù)教育的主題,程序設(shè)計(jì)回歸中小學(xué)課堂并成為重要的教學(xué)內(nèi)容,傳統(tǒng)的基于代碼的編程方式遭受質(zhì)疑,可視化的思維表達(dá)方式越來越受到重視。Scratch程序是一款面向少年兒童開發(fā)的簡易編程工具,它由美國麻省理工學(xué)院設(shè)計(jì)開發(fā),其代碼指令和參數(shù)通過積木形狀的程序模塊實(shí)現(xiàn),學(xué)生用鼠標(biāo)拖動模塊到腳本區(qū)組合起來,就可以實(shí)現(xiàn)豐富的功能,用鼠標(biāo)點(diǎn)擊程序組合,便可直接看到程序的效果,觀看程序效果不再需要漫長的編譯與封裝,實(shí)現(xiàn)了所見即所得的可視化編程夢想。
由于Scratch的優(yōu)勢,現(xiàn)已成為中小學(xué)最主要的程序設(shè)計(jì)課程,但現(xiàn)行的Scratch教材存在內(nèi)容不夠細(xì)化、學(xué)習(xí)指引不夠具體、程序指令說明不夠詳細(xì)等短板。教師如何在發(fā)揮教材本身功能的基礎(chǔ)上,通過情景創(chuàng)設(shè)、任務(wù)設(shè)定,提高學(xué)生學(xué)習(xí)的興趣、加強(qiáng)他們對程序語法理解,發(fā)展他們的創(chuàng)新性思維,筆者嘗試使用問題解決的數(shù)學(xué)思維引導(dǎo)學(xué)生進(jìn)行程序設(shè)計(jì),得到意想不到的催化效果。
一、在深化指令語言認(rèn)識方面產(chǎn)生催化
雖然Scratch程序?qū)ζ渲噶钫Z言已進(jìn)行了極大的簡化,但對于指令內(nèi)涵與功能的認(rèn)識仍然是少年兒童Scratch學(xué)習(xí)道路上最大的障礙。如何深化少年兒童對Scratch語言中每一個指令的內(nèi)涵與功能的認(rèn)識,從而掌握指令使用的方法是每一位信息技術(shù)教師想要達(dá)到和突破的目標(biāo)?,F(xiàn)有教材為了加強(qiáng)小學(xué)生對于Scratch指令的認(rèn)識,對于學(xué)習(xí)素材進(jìn)行了針對性的選擇與優(yōu)化,特別是以生活化的實(shí)例去說明指令代碼的含義與組合方法。但由于孩子欠缺生活經(jīng)驗(yàn),且沒有對教材中的生活化問題進(jìn)行系統(tǒng)學(xué)習(xí),因此他們有可能對教材中的生活化實(shí)例產(chǎn)生認(rèn)識模糊,這樣反而造成了對指令代碼學(xué)習(xí)的曲解。
在廣州市小學(xué)信息技術(shù)教材第三冊第二章第19課《鍵盤信息的獲取與偵測》中,運(yùn)算符“或”和“與”的區(qū)別是學(xué)生比較難理解的,對此教材也沒有提供實(shí)例和內(nèi)容予以說明。為了填補(bǔ)這個空白,筆者通過數(shù)學(xué)問題設(shè)置項(xiàng)目任務(wù)組:
任務(wù)1.請?jiān)O(shè)計(jì)問答器,判斷輸入答案是否為:一個大于0且小于3的整數(shù);
任務(wù)2.請?jiān)O(shè)計(jì)問答器,判斷輸入答案是否為:一個大于0且小于1的小數(shù);
六年級學(xué)生對于上述兩個數(shù)學(xué)問題的答案是比較清晰的,任務(wù)1的答案是1或2,任務(wù)2的答案區(qū)間則在0和1之間。在設(shè)計(jì)任務(wù)1時,學(xué)生比較容易掌握需要用“或”運(yùn)算符進(jìn)行制作(程序編寫如下):
程序運(yùn)行后效果也符合任務(wù)要求。
但仿照這個方法設(shè)計(jì)任務(wù)2(程序編寫如下):
卻出現(xiàn)無論輸入正確答案或是錯誤答案,程序均提示答案正確的現(xiàn)象,顯然這個程序編寫是有問題的。此時,筆者使用了“數(shù)軸”這一數(shù)學(xué)工具來說明錯誤的原因:
通過以上圖示,學(xué)生明白到“或”運(yùn)算符不適合表示“一個大于0且小于1的小數(shù)”,而“與”運(yùn)算卻正好合適(程序編寫如下):
此時教師要求學(xué)生能否用數(shù)軸畫出以上程序指令的意思,并說明為何“與”運(yùn)算符適合任務(wù)2的要求,學(xué)生則畫出以下數(shù)軸圖示:
兒童教育心理學(xué)表明,選擇合理的情景既能激發(fā)學(xué)生盡快進(jìn)入學(xué)習(xí)的狀態(tài),也有助于他們認(rèn)知新的事物。數(shù)學(xué)本身符號化、圖形化的特點(diǎn)能很好地詮釋Scratch代碼的內(nèi)涵,讓學(xué)生將難以理解的代碼通過數(shù)學(xué)概念與原理化解為他們能夠理解的語言??梢哉f應(yīng)用數(shù)學(xué)情景與數(shù)學(xué)工具進(jìn)行Scratch程序指令的釋義,符合兒童教育心理學(xué)特點(diǎn)和要求,既能夠有效激發(fā)他們的學(xué)習(xí)興趣,也有助于代碼內(nèi)涵的理解。
二、在培養(yǎng)學(xué)生應(yīng)用創(chuàng)新方面形成催化
Scratch是一款面向少年兒童的程序開發(fā)軟件,為了易于理解與使用,它的指令代碼均以積木式的形式存在。雖然單一的積木可能只代表一個功能,但通過多個積木的組合,也可以實(shí)現(xiàn)無窮的程序效果,所以我們在Scratch教學(xué)時,不僅注重學(xué)生在程序設(shè)計(jì)中的規(guī)范性,更要注重培養(yǎng)他們的創(chuàng)新性。筆者實(shí)際教學(xué)中,運(yùn)用數(shù)學(xué)的問題解決思維,也能很好地實(shí)現(xiàn)這個目標(biāo)。
在廣州市小學(xué)信息技術(shù)教材第三冊第二章第19課《鍵盤信息的獲取與偵測》中,對于兩個答案的問題預(yù)設(shè)進(jìn)行程序設(shè)計(jì),教材不僅提供了說明,而且提供了設(shè)計(jì)范例,學(xué)生比較容易理解與掌握。筆者也仿照教材內(nèi)容設(shè)計(jì)了以下任務(wù)項(xiàng)目,讓學(xué)生進(jìn)行練習(xí):
任務(wù)1:請?jiān)O(shè)計(jì)問答器,判斷輸入答案是否為7的約數(shù)。
由于7的約數(shù)只有1和7,因此學(xué)生很快掌握使用“或”運(yùn)算符編寫程序的方法(程序編寫如下):。
但是,如何使用“或”運(yùn)算符實(shí)現(xiàn)三個、甚至是更多個答案的預(yù)設(shè),教材中就沒有提及。如何通過問題情景創(chuàng)設(shè)與恰當(dāng)?shù)囊龑?dǎo),使學(xué)生創(chuàng)新性地想出解決辦法,筆者采用了以下策略:
任務(wù)2:請?jiān)O(shè)計(jì)問答器,判斷輸入答案是否為4的約數(shù)的問題器。
任務(wù)3:請?jiān)O(shè)計(jì)問答器,判斷輸入答案是否為6的約數(shù)的問題器。
對于上述兩個任務(wù)中的數(shù)學(xué)問題,學(xué)生比較容易得出任務(wù)2有3個答案、任務(wù)3則有4個答案。對于如何利用“或”運(yùn)算符實(shí)現(xiàn)這兩個任務(wù)要求的問題?教師提示學(xué)生從兩個方面思考:
1.是否有新的指令可以實(shí)現(xiàn)?
2.在原有“或”運(yùn)算符的基礎(chǔ)上思考,是否有新的拼組方式實(shí)現(xiàn)?
經(jīng)過小組討論,學(xué)生發(fā)現(xiàn)“或”運(yùn)算符本身可以反復(fù)嵌套,即按以下形式嵌套
方式一:“或”運(yùn)算符其中一個條件判斷框(六角形框)嵌套另一“或”運(yùn)算符,實(shí)現(xiàn)三個答案的預(yù)設(shè):
方式二:“或”運(yùn)算符兩個條件判斷框(六角形框)嵌套兩個“或”運(yùn)算符,實(shí)現(xiàn)四個答案的預(yù)設(shè):
方式三:在方式二的基礎(chǔ)上,每個“或”運(yùn)算符的條件判斷框(六角形框)中分別嵌套“或”運(yùn)算符,實(shí)現(xiàn)多個答案的預(yù)設(shè):
程序設(shè)計(jì)的創(chuàng)新性就在于研究問題時不墨守成規(guī),要善于發(fā)現(xiàn)。利用數(shù)學(xué)問題解決的思路,有利于在最平常的問題中發(fā)現(xiàn)最不平常的問題,使學(xué)生在演繹、類比、分析、探究中發(fā)現(xiàn)指令組合的創(chuàng)新形式,發(fā)展其創(chuàng)新思維。在利用數(shù)學(xué)問題解決的思維培養(yǎng)學(xué)生創(chuàng)新性的過程中,應(yīng)注意以下幾點(diǎn):
1.重視“程序糾錯”的教學(xué),培養(yǎng)學(xué)生發(fā)現(xiàn)問題的能力。
2.加強(qiáng)“程序推理”的教學(xué),培養(yǎng)學(xué)生重構(gòu)指令重組的思維能力。
3.提倡“一題多解”的要求,培養(yǎng)學(xué)生求同存異的思維能力。
三、提升學(xué)生計(jì)算思水平的途徑
計(jì)算機(jī)程序設(shè)計(jì)與數(shù)學(xué)計(jì)算思維有著千絲萬縷的關(guān)系,我們反觀現(xiàn)在形形色色的計(jì)算機(jī)軟件,它們的開發(fā)無不建立在數(shù)學(xué)計(jì)算的基礎(chǔ)上,如:程序設(shè)計(jì)模型論建立在邏輯學(xué)的基礎(chǔ)上;游戲和圖形軟件開發(fā)大量引用了坐標(biāo)變換和矩陣運(yùn)算,這是運(yùn)用了數(shù)學(xué)的線性代數(shù);信息安全方面的數(shù)據(jù)儲存則運(yùn)用了小波理論與代數(shù)編碼,小波理論實(shí)際是函數(shù)的一種衍生理論。美國卡內(nèi)基·梅隆大學(xué)的周以真教授(J.M.Wing)對計(jì)算思維進(jìn)行了明確的定義。她指出:計(jì)算思維涉及運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、 系統(tǒng)設(shè)計(jì)和理解人類行為,它涵蓋了反映計(jì)算機(jī)科學(xué)之廣泛性的一系列思維活動。 是通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,將一個看來困難的問題重新闡述成一個我們知道怎么解決的問題。 計(jì)算思維如同閱讀、寫作、算術(shù)一樣, 應(yīng)當(dāng)是信息時代的每個人都具有的一種思維方式,并不是只有計(jì)算機(jī)科學(xué)家才有。以數(shù)學(xué)問題為載體,能夠讓學(xué)生在數(shù)學(xué)理性分析中洞悉程序算法的依據(jù),讓學(xué)生理解程序設(shè)計(jì)的原理,并進(jìn)行設(shè)計(jì)的實(shí)踐,體驗(yàn)程序設(shè)計(jì)的全過程,對其計(jì)算思維的培養(yǎng)與發(fā)展在著重要的意義。利用問題解決的數(shù)學(xué)思維發(fā)展學(xué)生在程序設(shè)計(jì)中計(jì)算思維,可以遵循以下途徑進(jìn)行:
1. 重視計(jì)算思維的結(jié)構(gòu)化分類
計(jì)算思維作為一種涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動,它必然存在結(jié)構(gòu)化分類的特征。不同的分類范疇的計(jì)算思維活動應(yīng)有不同的教學(xué)方法,但針對性的數(shù)學(xué)問題情景往往有助于各類思維活動養(yǎng)成的訓(xùn)練,在選取數(shù)學(xué)問題作為計(jì)算思維活動訓(xùn)練素材時,既要考慮訓(xùn)練目的、又要理清問題本質(zhì)。
2.基于項(xiàng)目式學(xué)習(xí)任務(wù)(PBL)開展教學(xué)策略的制訂
研究表明,學(xué)生處于真實(shí)可信的情境中所進(jìn)行的學(xué)習(xí)是最有效的,因?yàn)樗麄兡軌蚯宄刂劳瓿扇蝿?wù)的意義和價值并且能夠與之前的知識相聯(lián)系以應(yīng)用于真實(shí)的世界中。PBL的學(xué)習(xí)任務(wù)本身就是一種任務(wù)情景設(shè)定,它以豐富多彩的作品形式表現(xiàn)最終的成果,即學(xué)生最終解決問題的獲得以各種作品的形式表達(dá),這成為了學(xué)生學(xué)習(xí)的驅(qū)動力。在設(shè)計(jì)PBL任務(wù)時,應(yīng)充分考慮學(xué)生知識獲取的最近發(fā)展區(qū)、并選擇易于思維遷移、工具應(yīng)用的方向進(jìn)行思考。
3.充分參考國內(nèi)外計(jì)算思維教育課程的成果
國內(nèi)外關(guān)于少兒計(jì)算思維培養(yǎng)已有一定的研究成果,在設(shè)計(jì)項(xiàng)目時,充分參考現(xiàn)有成果,有助于科學(xué)性、現(xiàn)實(shí)性的實(shí)現(xiàn),使項(xiàng)目設(shè)計(jì)更有效體現(xiàn)教學(xué)目標(biāo),更有效發(fā)展學(xué)生的信息技術(shù)核心素養(yǎng)。
少兒編程教學(xué)作為信息技術(shù)課堂中新興的一個課題,需要廣大志同道合的同仁們共同努力,在編程教學(xué)研究的道路上勇于探索,才能為少兒編程教學(xué)帶來新的突破。將數(shù)學(xué)思維融入編程教學(xué),是計(jì)算思維與軟件編程的耦合性特征決定的?,F(xiàn)在更多的教師已將編程教學(xué)研究的目光聚焦計(jì)算思維的培養(yǎng)上,用數(shù)學(xué)原理解釋程序算法,讓學(xué)生在理解算法的基礎(chǔ)上了解程序設(shè)計(jì)的靈魂,這應(yīng)該是少兒編程教學(xué)的最根本所在。
【參考文獻(xiàn)】
[1] [奧地利]阿德勒.著.兒童教育心理學(xué).王童童.譯,中華工商聯(lián)合出版社.2017-11-01
[2] 游文杰.計(jì)算機(jī)科學(xué)中的數(shù)學(xué)——談計(jì)算機(jī)專業(yè)數(shù)學(xué)的學(xué)習(xí)[J]. 福建師大福清分校學(xué)報(bào), 2004(2):16-18.
[3] 周以真.計(jì)算思維[J].Communications of the ACM雜志,2006年,3:34.