算法作為程序設計的靈魂,從系統的角度去描述和解決問題,是信息技術中智能的基礎,是中學生信息素養的重要組成部分和未來發展的基礎 。結合對于新課標學習的心得,有以下幾個方面思考,希望與同行一起交流討論。
在教學內容上算法的描述方法給出了三種常用的描述方法:自然語言描述、流程圖描述以及偽代碼描述,這一部分內容在教學設計時教師應當強調以應用為主,因為高一年級學生剛剛在數學課上學習過算法初步,所以在設計問題情景時可以適當聯系數學學科,舉一些學生易于理解的例子,比如“快速計算1+2+……+100的結果”這個問題,對高一年級的學生再熟悉不過,剛看到題目時,很多學生就脫口說出答案“5050”,這使教學很自然地過渡到問題的求解方法,為后面引出課題做好伏筆,學生探究環節可以分組分別使用“自然語言描述、流程圖描述、偽代碼描述”,讓學生在學習自然語言描述方法的同時,發現這一描述方法的不足,為后續學習流程圖描述方法做好鋪墊。
算法的描述方法在組織教學時可以換位思考,站在學生的思維習慣角度去看待問題,舉一些具體問題作為研究內容,把抽象的術語形象化。可以用生活中的相關例子(如大家都熟知的華羅庚統籌算法提到的燒開水泡茶的例子)來畫出流程圖,再聯系數學課上剛學過的解數學題的流程圖。在設計練習案例時,可以適當考慮按照不同層次學生設計不同的題目,也就是分層教學,避免“吃不飽” 和“吃不了”,讓不同層次學生都有所收獲。
現階段常用的算法描述方法可分為三種:自然語言、流程圖、偽代碼。每種方法各有千秋,很難說哪種最好,算法的正確與否必須要通過具體的程序設計語言來實現并得到驗證,否則算法就成了“紙上談兵”,也會給學生造成一種看不見摸不著的虛擬感。
算法初步這一模塊中語言的選擇,可以根據教學目的、現有條件等具體情況進行選擇,以量體裁衣的理念選擇一種適合本校學生思維特點和基礎的語言環境,才能取得最佳教學效果。
針對本校選用的教材是VB語言這一特點,筆者在算法描述教學中積極嘗試選擇VB作為程序設計語言,一是學生比較熟悉VB,二是符合本校學業水平測試要求,三是VB語法簡單,圖形化設計界面易學易懂,對環境要求不高,程序結構清晰權衡各個語言特點,VB無疑是實現算法描述的一種語言環境的很好選擇,在 “1.3算法描述方法應用”這一節教學設計中,筆者選擇用VB代碼實現算法,比如在問題“求兩個自然數的最大公約數”中,依據“輾轉相除法”(歐幾里德算法)“窮舉法”編寫兩種VB程序,組織學生分別運行測試,在實際操作中感知不同算法帶來的運算效率差距,從而讓學生體會算法優化的重要性,既輕松學會了算法,又鞏固了VB程序設計。
算法的學習能培養學生的創新思維能力以及邏輯推理能力,可以充分發揮學生的想象力和創造性。因此在教學中應當積極探索更加有效的手段和方法,讓學生打下堅實的基礎,算法教學有著自身的規律和特點,需要在今后的教學實踐過程中不斷探索改進。