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