江蘇 紀(jì)宏偉
使用Scilab進(jìn)行算法教學(xué)的幾點(diǎn)思考
江蘇 紀(jì)宏偉
“程序語(yǔ)言”是算法的描述方法之一。教材編者選用了Scilab作為編程工具,使得算法課程增加了現(xiàn)代數(shù)學(xué)的元素。文章就使用Scilab進(jìn)行算法教學(xué)粗略談幾點(diǎn)看法。
Scilab;算法;教學(xué)
算法通常是指按照一定規(guī)則解決某一類(lèi)問(wèn)題明確有限的步驟。程序是算法的精確形式,是計(jì)算機(jī)可以理解的算法。所設(shè)計(jì)的算法正確與否要通過(guò)編程并且運(yùn)行程序進(jìn)行驗(yàn)證,借助于程序語(yǔ)言以使算法得以實(shí)現(xiàn),反之要設(shè)計(jì)程序就必須弄清算法原理?,F(xiàn)在計(jì)算機(jī)能夠直接或間接理解的程序語(yǔ)言有很多,編程工具更是五花八門(mén)。教材編者選用Scilab來(lái)實(shí)現(xiàn)算法,首先Scilab是免費(fèi)的、“開(kāi)放源碼”式科學(xué)計(jì)算自由軟件;其次Scilab短小精悍,運(yùn)行效率高,執(zhí)行速度快,功能強(qiáng),數(shù)據(jù)可視化,數(shù)學(xué)演算和數(shù)值計(jì)算非常輕松;再次Scilab學(xué)習(xí)簡(jiǎn)單,上手容易,更方便在學(xué)生中推廣,增強(qiáng)學(xué)生學(xué)習(xí)算法的信心。
Scilab程序可以作為算法的一種描述,是算法思想的具體體現(xiàn)。使用Scilab進(jìn)行算法教學(xué),重點(diǎn)在于體會(huì)算法的基本思想,理解掌握算法的三種基本邏輯結(jié)構(gòu)及對(duì)應(yīng)的語(yǔ)句用法,并在此基礎(chǔ)上編寫(xiě)由算法語(yǔ)句組成的程序,從而更細(xì)致地刻畫(huà)算法。算法語(yǔ)言能力將有效地促進(jìn)算法的學(xué)習(xí)和掌握,教學(xué)時(shí)可以充分結(jié)合程序語(yǔ)言教學(xué),鼓勵(lì)學(xué)生盡可能把自己的算法在計(jì)算機(jī)上實(shí)現(xiàn),但不可本末倒置,不能一味地追求形式化、機(jī)械化,不能把算法內(nèi)容簡(jiǎn)單處理成程序語(yǔ)言的學(xué)習(xí)或程序設(shè)計(jì)。體會(huì)算法的基本思想才是正確的導(dǎo)向,在教學(xué)中應(yīng)多通過(guò)具體的案例體會(huì)所學(xué)算法的基本思想,如求一元二次方程的根,1+2+3+……+100=?等等,并利用案例中的算法解決具體問(wèn)題。
算法學(xué)習(xí)也是一種活動(dòng),應(yīng)注意實(shí)際操作,對(duì)概念少做糾纏。概念雖然是學(xué)習(xí)數(shù)學(xué)的基礎(chǔ),但是,過(guò)多地糾纏于概念不利于對(duì)算法思想實(shí)質(zhì)的理解。有條件的學(xué)校,應(yīng)鼓勵(lì)學(xué)生盡可能上機(jī)嘗試各種算法。上機(jī)操作之前,應(yīng)首先分析程序的算法,然后把此算法翻譯成計(jì)算機(jī)語(yǔ)言。通過(guò)實(shí)際語(yǔ)言的學(xué)習(xí)及上機(jī)操作可以更親近地感受算法,為探索得到的算法提供驗(yàn)證;若沒(méi)有上機(jī)的保證,學(xué)生對(duì)書(shū)本上書(shū)寫(xiě)的程序語(yǔ)句和Scilab很難有深刻的認(rèn)識(shí)。讓學(xué)生多在Scilab平臺(tái)上操作,在操作中理解和掌握,有助于學(xué)生學(xué)好算法,就如同學(xué)游泳的人也需要觀摩教練的示范動(dòng)作,但更重要的是他必須下水去練習(xí),否則只能是紙上談兵。
數(shù)學(xué)的本質(zhì)是一種文化,不僅閃爍著理性智慧的光芒,更有藝術(shù)審美的享受以及厚重的文化意向。中國(guó)古代數(shù)學(xué)以算法為中心,寓理于算,其中蘊(yùn)涵了豐富的算法思想,取得了舉世公認(rèn)的偉大成就,是數(shù)學(xué)文化的重要組成部分,這可以從中國(guó)古代數(shù)學(xué)家的著作中看出端倪。教材中為學(xué)生提供了豐富的中國(guó)古代算法案例,如多項(xiàng)式求值的秦九韶算法等典型案例,這些案例蘊(yùn)涵了豐富的算法思想,體現(xiàn)數(shù)學(xué)的文化價(jià)值,是讓學(xué)生接受數(shù)學(xué)文化熏陶的鮮活素材。同時(shí),在應(yīng)用Scilab時(shí),還不妨把數(shù)學(xué)與計(jì)算機(jī)、數(shù)學(xué)的機(jī)械化等新的數(shù)學(xué)發(fā)展領(lǐng)域介紹給學(xué)生,體會(huì)中國(guó)數(shù)學(xué)對(duì)世界數(shù)學(xué)發(fā)展的杰出貢獻(xiàn),弘揚(yáng)數(shù)學(xué)文化,激發(fā)學(xué)生的人文價(jià)值觀念與愛(ài)國(guó)情操。
在很多學(xué)生看來(lái),數(shù)學(xué)課就等同于一成不變的概念總結(jié)、定理證明、模仿練習(xí)、數(shù)字計(jì)算等,顯得非常枯燥,單調(diào)、乏味。Scilab可以幫助學(xué)生改變以上認(rèn)識(shí)。Scilab豐富了學(xué)生的學(xué)習(xí)活動(dòng),它讓學(xué)生有更多的時(shí)間去研究數(shù)學(xué)問(wèn)題的本質(zhì),去從事更有價(jià)值的觀察、探究、實(shí)驗(yàn)、猜想、試證、問(wèn)題解決等探索活動(dòng),使數(shù)學(xué)有了空間和時(shí)間上的延展性。Scilab為學(xué)生親自動(dòng)手操作,發(fā)掘自身的潛能,親身體驗(yàn)知識(shí)的建構(gòu)提供了技術(shù)支持,使學(xué)生在實(shí)踐中嘗試失敗、體驗(yàn)成功,有利于突出學(xué)生在教學(xué)中的主體地位。此外,算法是數(shù)學(xué)及其應(yīng)用的重要組成部分,算法思想正在成為普通公民的常識(shí),成為現(xiàn)代人應(yīng)具備的一種基本數(shù)學(xué)素養(yǎng),而簡(jiǎn)單的算法編程將會(huì)成為信息社會(huì)中各種人才應(yīng)該掌握的基本技能,從這個(gè)角度來(lái)看,基于Scilab的學(xué)習(xí)活動(dòng),也可以降低學(xué)生今后學(xué)習(xí)計(jì)算機(jī)的門(mén)檻,激起學(xué)生的創(chuàng)新潛能和執(zhí)著精神,培養(yǎng)學(xué)生自主解決問(wèn)題的能力。
愛(ài)干的事才能干好,學(xué)習(xí)也是這樣。有了興趣,學(xué)習(xí)才有動(dòng)力,教學(xué)過(guò)程才有生機(jī)。在算法教學(xué)中,教師可以事先展示一些事先設(shè)計(jì)好的程序,如劉徽割圓術(shù)求近似值的程序,使學(xué)生對(duì)算法、對(duì)Scilab有一個(gè)感性的認(rèn)識(shí),并產(chǎn)生濃厚興趣。Scilab所涉及到一些語(yǔ)法語(yǔ)句,學(xué)生感到比較抽象,有畏難和抵觸情緒。教師要避免咀嚼填鴨式的教學(xué),也要防止降落傘式教學(xué)。美國(guó)著名數(shù)學(xué)教育家波利亞曾經(jīng)強(qiáng)調(diào):教師作為一個(gè)知識(shí)推銷(xiāo)員,他的責(zé)任就是使學(xué)生相信數(shù)學(xué)是有趣的,使他們感到討論的題目是有趣的,值得努力去做。波利亞的“教師是推銷(xiāo)員”的理論就強(qiáng)調(diào)教師要想方設(shè)法改進(jìn)推銷(xiāo)的方式,將知識(shí)進(jìn)行適當(dāng)?shù)陌b,引起學(xué)生“購(gòu)買(mǎi)”的欲望。如讓學(xué)生在感興趣的故事里進(jìn)入學(xué)習(xí),設(shè)置問(wèn)題情境引起學(xué)生迅速發(fā)現(xiàn)興趣,選取學(xué)生感興趣的問(wèn)題作為練習(xí)題等等,讓學(xué)生愿意親近算法、走進(jìn)算法,自然而然地接受。還可以進(jìn)行Scilab程序設(shè)計(jì)的小競(jìng)賽,在競(jìng)賽的過(guò)程中,讓學(xué)生互相學(xué)習(xí),互相鼓勵(lì),更好地體會(huì)Scilab奧妙與算法的精髓。
總之,興趣是最好的老師,“培養(yǎng)學(xué)生對(duì)數(shù)學(xué)的興趣,這等于給了他們長(zhǎng)久鉆研數(shù)學(xué)的動(dòng)力”,教師要努力點(diǎn)燃起“學(xué)生心靈中熱愛(ài)數(shù)學(xué)的熊熊火焰”。
Scilab對(duì)學(xué)生來(lái)說(shuō)是零基礎(chǔ)和陌生的,對(duì)數(shù)學(xué)教師來(lái)說(shuō)也是新生事物,不免有許多地方理解得不是很到位。學(xué)生對(duì)算法學(xué)習(xí)充滿(mǎn)了期待、好奇和求知欲望,教師要悉心研究,拉近與Scilab的距離,為教學(xué)做好準(zhǔn)備?!皵?shù)學(xué)教學(xué)是數(shù)學(xué)活動(dòng)的教學(xué),是師生之間、學(xué)生之間交往互動(dòng)與共同發(fā)展的過(guò)程。”只有師生共同學(xué)習(xí)Scilab語(yǔ)言,成為共同學(xué)習(xí)的合作學(xué)習(xí)者,才能積極應(yīng)對(duì)新內(nèi)容的挑戰(zhàn)。這樣也有利于鍛煉學(xué)生的自主學(xué)習(xí)意識(shí),有利于教學(xué)活動(dòng)的開(kāi)展。同時(shí),師生在問(wèn)題研究中,共同探討,共同學(xué)習(xí),共同實(shí)現(xiàn)教學(xué)目標(biāo),師生之間建立一種平等、民主、合作的關(guān)系,形成一種師生合作學(xué)習(xí)的良好氛圍,教師的主導(dǎo)作用,學(xué)生的主體作用將更加充分發(fā)揮出來(lái),教學(xué)效果不言而喻。
[1]沙紀(jì)忠.《算法初步》教學(xué)的幾點(diǎn)體會(huì)及建議[J].中學(xué)數(shù)學(xué)研究,2008(3).
[2]紀(jì)宏偉.師范專(zhuān)業(yè)學(xué)生學(xué)好《數(shù)學(xué)分析》課程芻議[J].科學(xué)大眾(科學(xué)教育),2011(4).
(作者單位:江蘇教育學(xué)院如皋分院)
(編輯 劉麗娜)