李振海
【中圖分類號】G632 【文獻標識碼】A 【文章編號】2095-3089(2015)15-0-01
在信息技術選修(1)算法與程序設計課堂教學中,使學生掌握正確的思維方法,進行嚴格的思維訓練,是開發學生智力,促進學生自覺的,主動的掌握知識、運用知識和不斷豐富知識的重要性。
根據算法與程序設計的教學特點,編程的思維應具有綜合性和具體性。所謂程序的編制思維,就是用辯證的觀點和邏輯方法,對需要解決的問題進行分析、比較、綜合,然后確定解題模式,運用數學知識和程序設計語言進行描述的一種較為特殊的思維。在日常生活中要解決的問題是錯綜復雜的,總是同邏輯思維等條件密切聯系的。因此,教師在講述程序編制的過程中,要將問題進行分析、整理、歸納并結合學過的知識,確定算法,指導學生去編寫程序。使學生形成變成的思維和整體概念,靈活掌握編程的技巧,同時還要注意引導學生進行算法分析、比較等各種思維的形成。
學生在觀察問題時,往往帶有表面性,在思考問題時也往往帶有片面性,不能全面分析問題,不能辨別具體問題。更不能在分析各個部分問題的基礎上進行綜合分析,這在教學中很常見。一些學生對綜合性較強的題目感到我從下手,其原因是沒有掌握好解決問題的思維方法,由此可見輔導學生掌握和運用算法的同時,要重視整體思維能力的訓練。
培養學生編程思維能力的常用方法有許多,現結合本人的教學實踐,談幾點看法。
一、激發興趣,調動學生的思維積極性
通過現實生活中的實例,運用java制作具有圖、文、聲、像并茂的小程序,隨著優美的音樂,抑揚頓挫的聲音,化靜為動,動靜結合,直觀生動形象地展示圖形的變化過程。教學中充分發揮多媒體課件這一優勢,激發學生創新的欲望,尋求解答問題的最佳途徑。為培養學生的思維能力提供了良好素材。由簡到繁、逐步求精來引導學生積極主動的去實踐探索。例如在講授“程序的結構”一課時,首先提出與本節有關的有趣問題,比如出租車的計費過程,通過動畫的演示,針對問題的邏輯關系進行分析、抽象、表征、簡化、再用判斷條件建立模型,然后用算法編寫程序,計算出結果。學生帶著問題,邊聽、邊想,邊分析討論,興致勃勃的加深對邏輯判斷推理的認識。再給出類似的練習,讓學生編寫程序調試。事后,由同學總結出結論:計算機的判斷功能是如何進行數據分析的,解決復雜問題時,還得進過人的思維把問題進行歸納、量化等。通過總結,反映出學生對計算機解決問題的方式及編制程序的基本過程有了進一步的認識。
二、優選算法和程序編程方案,培養學生思維的靈活性
運用不同的編程思路,對同一個問題,可以制作出不同的算法,通過對比分析,選擇最優方案,培養學生思維的靈活性。在講述“排序與查找”時,給出一組運動員體育成績數據,讓學生使用不同的排序算法進行編程,輸出結果,使學生了解到不同的排序算法的程序編寫的語句多少,移動數據的次數,耗時長度的不同,總結出每種算法的特點。在此基礎上引導學生列舉日常生活中的排序方法,通過各種方法的對比分析,獲得知識發展思維。
三、通過分析綜合,培養學生思維的全面性和條理性
思維的品質是思維能力的重要組成部分,在程序編制教學中,應采取有效的形式,通過各種思維訓練,使學生把握分析、綜合的思維方法、促進學生思維能力的發展。程序編制具有綜合性的特點,構成一個完整的程序的各要素之間相互聯系,互相影響,關系復雜。因此培養學生整體的編程觀念同時,更要注意引導學生掌握分析綜合的方法,提高分析問題和解決問題的能力。所謂分析,就是分辨事物的個別屬性。在課堂教學中要注意引導學生善于把握復雜問題分解成若干部分進行研究,然后加以合并,最后獲得完整的程序。例如,在講述模塊化程序設計時,先舉出造房子的例子,并指出設計程序和造房子的過程的相似之處,在設計程序之前應該將一個復雜的程序進行分解,分解成各個功能模塊,一個模塊解決一方面的問題,把各模塊組合連接成一個完整的程序,這就是模塊化設計程序。引導學生總結模塊化設計的思想就是把復雜的問題分解成若干個小問題,然后逐個解決,而他們之間既獨立,又統一,不可分割。整個學習與應用的過程,學生經歷著分析的過程,培養了學生的分析能力,對于提高學生學習程序設計,分析問題,發展思維是很有幫助的。
四、結合實際問題培養學生思維的創造性
教師應密切結合教學實際,收集、組織、開發必要的教學資源,尤其是面向對象的程序設計可以在網上充分利用,組織學生歸納JAVA應用程序,既有利于開發,又提高學生的興趣。利用學生喜歡活動和動手,希望自己學到的知識技能得到展露,因此在教學中,教師要根據教材的內容進行示范,并經常組織學生進行小算法和程序的實踐,結合日常生活中的問題進行編程解決,這也是對知識的探索,分析論證、應用培養訓練創造性思維能力的過程。
思維的創造性還表現在解決問題的能力上,解決問題的能力是建立在豐富的基礎知識之上,在平時的教學中要注意引導學生提出問題,確定算法,然后根據所學的知識編程解決實際應用的問題。通過課程學習,使一部分學生能夠編織出頗具特色的有趣軟件。如在JAVA程序中產生動畫,自己做一個有趣的播放器顯示音樂頻譜等。這些都包含了豐富的計算機軟硬件基礎知識,具有很強的綜合性。因此,在教學中應將所學知識與其它學科知識密切聯系,進行分析,綜合訓練,以實現知識能力的遷移,使思維和創造性進一步深化。