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