摘要 針對現階段程序設計語言教學中存在的普遍問題,在對程序設計教學思想、程序設計能力認識分析的基礎上,提出程序設計語言教學中的若干要點。
關鍵詞 程序設計語言;程序設計教學思想;程序設計能力;解析;要點分析
中圖分類號 G632.3 文獻標識碼 A 文章編號 1671-489X(2008)016-0039-02
1 引言
在計算機專業和非計算機專業的計算機教學中,學校幾乎都設置了高級語言程序設計課程。與一些應用軟件或工具軟件相比,編程課程的教學具有較大的靈活性。很多學生的學習能力較差,課后不肯花時間,久而久之,導致聽不懂,給計算機編程語言課的教學帶來一定的難度。采用何種教學模式進行教學就成為編程語言教學的一個關鍵。
2 現階段程序設計語言教學中存在的普遍問題
根據以往的教學經驗和通過與學生、同事之間的交流,得知部分學生反映上課時都能聽懂講解,可在涉及到具體的編程及上機操作時,往往會出現沒有思路、無從下手或錯誤百出,不會調試程序等各種情況,究其原因,在教學方面可能存在以下2個問題。
2.1 過于注重對語句語法的講解,缺乏以算法為核心的編程題教學教師鐘情于舉一反三地對使用語句、語法的深入教學,而不是有機地結合算法思想進行教學,貼近生活并引起學生興趣的編程題講得很少。由于教學不是站在如何應用計算機工具編程解決實際問題或實際項目的角度,就沒有把邏輯與編程解題思路放在主體地位,也就沒有很好講解如何分析問題和解決問題。結果導致學生程序設計能力、上機解題能力訓練不夠,更談不上引導學生進行課題研究和科研探索。
2.2 學生厭倦傳統的課堂教學,缺乏師生之間的溝通交流學生對于先講后編、先聽后編這一傳統的課堂教學方式有厭倦心理。課堂成了教師的“一言堂”,教與學不能銜接起來。有時教師為了趕進度,講授法成了唯一的教學方法,師生之間缺乏足夠的交流和溝通,學生沒有有效、實用的學習輔助途徑,也間接影響著學生的學習興趣和學習效果。
3 程序設計教學思想解析
學生與教師的角色改變,就是教與學相互滲透的結果。教學中突出學生的主體能動性,是現代教學方法的核心。教學過程是教師根據教學的目的和任務以及學生身心發展的特點有計劃地引導學生掌握知識、認識客觀世界的過程,是通過知識的傳授和掌握來促進學生身心全面發展的過程。而在教學過程中一定要按照教學規律,只有按照教學規律辦事,才能提高教學質量,增強教學效果,并促進學生思維的拓展和能力的提高。
教學應該在理論與實際的結合過程中傳授和學習基本知識,從而引導學生運用所掌握的知識去分析問題和解決問題,在動手實踐中達到培養學生手腦并用能力的目的。除了進行一些必要的概念講解之外,教師主要應該讓學生通過上機實踐的辦法來掌握所學內容。一方面,通過上機實踐可以加深對課堂理論內容的理解和掌握;另一方面,通過上機實踐可以提高學生上機調試程序的能力,提高學生的編程能力,提高學生分析問題和解決問題的能力。
4 程序設計能力認識
程序是軟件的本體,程序設計(Programming)是指設計、編制、調試程序的方法和過程。它應排除軟件開發中的工程與管理因素,主要指軟件開發過程中的技術因素,尤其是計算機技術因素。
根據調查分析,合格程序員必須具有:1)扎實的專業基礎知識;2)很強的綜合分析和解決問題的能力;3)熟練的編程調試能力;4)創新能力;5)團隊合作能力;6)持續的自學能力;7)強烈的好奇心;8)較高的英語水平和軟件工程的實踐能力等。
應看到,程序設計能力,并非完全等價于程序員所應具備的專業素質,它還包括其他一些內容,如:1)理解問題,根據已知條件,找出求解該問題的數學方法或建立相應的數學模型;2)歸納程序的基本功能;3)設計數據結構和算法;4)用程序設計語言實現算法描述;5)編譯與調試;6)測試程序,保證程序正常運行。
綜上所述,可以將程序設計能力定義為:依據程序設計思想與觀念,應用程序設計語言,采用相應程序開發技術和環境,進行程序設計并達到預計結果的程度。
5 程序設計語言教學要點分析
基于對程序設計教學思想、程序設計能力的認識,為使學生充分掌握程序設計的思想和方法,有效實現程序設計課程教學目標,我認為程序設計教學還應注意并強調以下幾個基本的教學任務和要求。
5.1 程序設計基本概念的灌輸在整個課程教學過程中,結合具體實例的演示,應向學生反復強調程序,注意學生程序設計中基本概念的理解。學生只有對程序設計基本概念有了正確的掌握,才會為以后課程學習打下基礎,為學習興趣培養埋下伏筆;同時程序設計作為一門特殊意義上的課程,包含了許多計算機用于數據處理的基本原理、基本過程和特點,這些知識蘊藏于程序的基本概念之中,同時這些概念也是程序設計思想與觀念的載體。
5.2 結構化程序設計基本概念的培養結合控制語句結構和函數的學習,應著重培養學生的結構化程序設計的基本觀念。結構化程序設計的基本思想是采用“自頂向下,逐步求精”的程序設計方法和“單入口單出口”的控制結構,它是程序設計的基本原理之一。貫徹課程始終、通過具體實例潛移默化地培養這一思想,比在軟件工程中空洞的說教,更容易被學生理解和接收。
5.3 計算機算法觀念的培養通過控制結構、函數等學習,初步培養學生在程序設計中的算法觀念。如同數據結構觀念培養一樣,一則增強學生的程序設計觀念,二則也為學生留下廣闊的思考空間,以增強學習興趣。再次,通過這種觀念的培養,能夠直接提高學生初步的程序設計能力。
5.4 通過優秀的有趣的實例,激發學生學習興趣恩格斯說“興趣與愛好是最好的老師”。為了使初學者能盡快地掌握計算機知識,進入計算機的應用領域,在課程講授過程中,要特別注意培養學生的學習興趣。學習興趣就是學生在心理上對學習活動產生愛好、追求和向往的傾向,是推動學生積極主動學習的直接動力。學習興趣直接關系到教學效果的好壞。為提高學生的學習興趣,筆者歸納出6個辦法:1)通過演示程序突出程序語言的實用性;2)通過簡單的編程練習突出語言的易學性;3)運用恰當的類比使復雜問題形象化、簡單化;4)做到一題多解;5)要善于舉一反三;6)通過解決實際問題使學生樂學。
5.5 有選擇地運用多媒體教學直觀、形象、便捷的多媒體教學可以使學生在有限時間內迅速理解、掌握、獲取更多知識和信息,在教學過程中,我們有選擇地使用多媒體教學,將編程語言語法中的深奧理論和邏輯推理的內容,運用多媒體教學直觀、形象地講授給學生,加深其對問題的理解。這樣的多媒體教學,收到了將抽象問題形象化、枯燥問題生動化的效果。對于多媒體教學不易實施的程序設計方法的講解,我們可以采用傳統的教學方法,教會學生如何思考、推理,如何用語句實現算法,培養了學生的抽象思維、邏輯推理能力。這樣,將傳統的教學方法與多媒體教學相結合,大大提高了學生的綜合思維能力。
5.6 教師在教學過程中,應當注意設置疑難問題,引導學生思考和探索教學時發現,學生問不出問題的原因往往在于沒有真正學好。實際上,問題是最好的老師,是學生學習的引導者,沒有問題便沒有深入。在教學過程中,引導學生在問題解決中學習,即提出問題,留給學生時間思考、討論、解決問題,從而更深入地展開學習。實踐證明,這種教學方法充分調動了學生學習的積極性和主動性。
5.7 充分利用上機實踐程序設計語言,學生與教師在理論課與實踐課的角色是不同的。教師從課堂上的教學組織者轉變為上機操作的指導者。作為教學組織者,負責知識點的傳授,此時教師有較充分的主動性,易于控制所傳遞的知識內容,可使學生在較短時間內獲得較多的知識。但學生只是被動地接受知識,學生的積極參與少。上機操作是實現檢驗計算機編程語言課堂教學效果的重要方面。此時的教師是上機的輔導者,學生親自動手、動腦參與教學活動。但是上機操作課對學生來說是輕松的,若教師管理不當,會造成學生無所事事的局面。上機課是對理論課的應用和檢驗,對教師有更高的要求,因此,上機操作前教師要根據知識點布置相應的練習任務,編程序或調試程序。同時學生要完成有針對性的上機報告,進一步鞏固上機成果。
5.8 布置代表性的作業做作業是復習、練習的過程,也是繼續和深入學習的過程。我們每次課后給學生布置一些有代表性、恰當的習題,以鞏固課堂上所學的內容。也通過學生所做作業的好壞來了解學生對課程內容的掌握程度以及教師的教學效果。對作業中比較普遍出現的錯誤,我們都要在下節課上當堂講解,因為那是在上節課沒講清楚所致。作業中表現出與眾不同的、新穎的程序設計方法和思路,也要當堂宣講或作業批注,以鼓勵這種另辟新徑的有創意的學風。
在程序設計語言教學中,尤其語言基本要素的講解過程中,或隱或顯地,把如上幾點教學內容納入到課堂中,程序設計語言教學必定會從一種就語言而教語言的呆板模式中走出來,充分發揮出其在程序設計能力培養中的作用。
6 結束語
計算機程序設計語言教學雖然很難,但是非常有意義,它有利于培養學生的創造性思維能力,有利于學生建立通過計算機解決問題的意識和途徑。只要我們采取好相應的手段,組織好教學,就可以充分調動學生的積極性,使得本來索然無味的計算機編程課變得生動有趣,高效而又充滿活力。