摘要:目前高職院校計算機語言類課程普遍存在“老師難教,學生難學”的現象。本文對高職院校計算機語言類課程教學進行了多方面的探討,以期對廣大高職院校教師的語言類課程教學有一定的參考價值。
關鍵詞:計算機語言;教學;程序;C語言;高職院校
隨著IT技術的發展,應用于各個領域的計算機語言種類越來越多。高職教育面臨著能否滿足社會需求和學生接受能力的雙重壓力。目前主流的計算機語言類課程主要有c語言,c++,java,jsp,j2ee,php,delphy,sql server 2005,sysbase,c#,asp.net,ado.net,vb.net等。如果要求學生在三年之內掌握上述所有技術是不現實,也是沒有必要的,這就要求教研工作者設計出合理的課程設置計劃,既能滿足職業崗位(群)的需求,又能提高學生的實踐能力,還有助于學生樹立終身學習的理念。
一、計算機語言類課程教學概述
1. 計算機語言概述
計算機語言(Computer Language)指用于人與計算機之間通訊的語言,是人與計算機之間傳遞信息的媒介。
計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的歷程。
(1)機器語言:指一臺計算機全部的指令集合,是第一代計算機語言。
機器語言程序就是運用二進制數“0”和“1”編制的能夠被機器直接識別的二進制文件,一條機器語言成為一條指令,指令是不可分割的最小功能單元。由于每臺計算機的指令系統往往各不相同,因此在一臺計算機上執行的程序,要想在另一臺計算機上執行,必須另編程序,造成了工作的重復。但由于使用的是不同型號計算機各自特定的機器語言,故而運算效率是所有語言中最高的。
(2)匯編語言:指面向機器的程序設計語言,是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言,是第二代計算機語言。
匯編語言對計算機硬件依賴性亦很大,移植性不好,但效率十分高。針對計算機特定硬件而編制的匯編語言程序,能準確發揮計算機硬件的功能和特長,程序精練而質量高,至今仍是一種常用而強有力的軟件開發工具。
(3)高級語言:指不直接依賴計算機硬件,運用易學易懂的語法和結構類似普通英文進行編程的語言。
高級語言是從人類邏輯思維角度出發的計算機語言,抽象程度大大提高,需要經過編譯成特定機器上的目標代碼才能執行,一條高級語言的語句往往需要若干條機器指令來完成。高級語言不依賴于機器,在不同的機器或平臺上高級語言的程序本身不變,而通過編譯器編譯得到的目標代碼去適應不同的機器具有很大的移植性和實用性。
2. 計算機語言類課程教學
計算機語言教學是讓學生掌握計算機語言特征,學會用計算機語言進行程序設計的技能,培養學生獨立思考的能力和一定的自主創新能力。教學過程首先應讓學生端正思想,明確學習計算機語言的意義;其次應讓學生明白學習計算機語言最終就是要學會用語言來編寫程序,為實際工作服務,而不是死摳語法。計算機語言課最終的目的是讓學生掌握程序設計總體思路,運用所學語言解決實際工作中的問題。作為高職院校計算機課程的特點,一方面要讓學生掌握好扎實的基本理論。另一方面還要培養學生有較強的動手能力,那么針對語言課的課程設計就顯得尤為重要,它不僅是理論教學的延伸,而且是理論與實踐緊密的結合。
二、高職院校計算機語言類課程教學存在的弊端
1. 學生缺乏學習興趣
計算機語言類課程教學中,學生缺乏學習興趣。有一定數量的學生認為學習計算機語言應專心地自學,而通過課堂學習是無法取得好的學習效果,所以自學能力強的學生選擇自學,而自學能力弱或自覺性較差的學生則可能上課不聽講、下課不看書。同時有些學生對于整個計算機語言的學習不重視,在計算機等級考試和軟考的過程中,一些學生沒有明確的目的性,僅是抱著僥幸的態度參加考試。
2. 教師教學中深度與廣度不協調
計算機語言類教學范疇的廣泛讓廣大計算機專業教師在制訂相關教學計劃時往往無從下手。計算機語言多達幾十種,并有不斷更新的趨勢。而教學的總學時卻相對穩定,為了讓學生在校期間盡可能多接受相關知識,為以后的就業創造條件,許多高職院校開設了VB,C和匯編等多種語言課程。但在實際教學中,每門課的理論和實驗教學總學時不過70學時左右,因此講授的是語言基本語句、語法和簡單算法,對于具體的語言版本卻介紹不多。如C語言只介紹標準C語言的語句和語法,對具體如Turbo C的庫函數應用及其語言本身固有特點很少介紹或根本不予介紹。這樣造成學生計算機語言學了不少,但真正精通的卻沒有。
3. 學生計算機水平參差不齊
計算機語言類課程教學中,學生計算機知識程度參差不齊,比如在授課的過程中,一些基礎好的學生覺得早已聽懂,而基礎差的學生會覺得進度較快。這樣使得基礎好的學生不能深入學習,基礎差的學生學習基礎不扎實。從考試結果來看,各班平均成績差異較大,同時同班成績差異也較大。試卷成績分析結果表明:學生對相對死板的概念題解答較好,對相關知識的簡單應用也能較好回答,但對知識綜合應用題普遍反映答題困難。
4.學生缺乏程序設計、閱讀及調試能力
(1)程序設計能力。教學調查中發現,學生懼怕計算機等級考試(二級)中筆試的程序填空和機試的編程題,但實際這類題目的難度并不大。從中可看出,結構化程序設計思想不強,常見算法操作不熟練,知識綜合運用能力較弱,缺乏創新思維。這就直接導致在完成程序填空時,閱讀理解程序能力弱;編程時設計的程序結構不清晰、臃腫、可讀性差,程序的效率低。
(2)程序閱讀能力。多次考試結果顯示:相當一部分學生對寫出程序的運行結果這樣的題目解答較差,這說明相當一部分學生獨立閱讀和分析程序的能力較差。一個優秀的程序員首先是一個優秀的程序分析員,通常都是先閱讀和分析他人已編好的程序,去認真體會程序設計者的思想,對自身的思維進行啟迪,對那些嚴謹的程序結構和巧妙的語句安排,加以借鑒和引申,在今后自己的程序中加以靈活運用。閱讀程序能力差的主要原因是,不熟悉各種語句的語法規則及相關概念,不清楚各種程序結構的執行情況,如弄不清For語句、While語句及Do-While語句的執行過程,弄不清局部變量和全局變量的區別等,這就造成對程序的運行過程理不出個頭緒,自然不能順利得出正確結果。
(3)程序調試能力。計算機專業學生多數擁有個人電腦,但大部分學生只熟悉Windows系統視窗操作環境,不熟悉DOS系統操作環境,隨之出現各種狀況。例如,不熟悉DOS常用命令,不熟悉TC(TurboC)菜單功能,不懂TC工作環境的確立,不理解編譯過程中出錯的英文信息,甚至連syntax(語法)、statement(語句)、overflow(溢出)等常見語言單詞都不認識,尤其當出現惡意語法錯誤時,C語言編譯器也可能因故障隱患而給出名不符實的錯誤信息。不熟悉程序動態調試方法,如斷點設置、單步執行、觀察變量的當前值等。另外,程序錄入速度慢、正確率低的現象也普遍存在。
三、如何進行高職院校計算機語言類課程教學
1. 初步滲透算法設計和軟件工程思想
為避免培養應試能力強于編程實踐能力的學生,必須跳出以語法教學為主線的教學傳統模式,吸收國外計算機課程教學的優點,積極推行案例教學,將復雜枯燥的語法知識分解到一個個生動實用的程序實例中。即在教學過程中以程序設計為主線,有意識地淡化計算機語言本身的語句介紹,而重點介紹程序設計方法,在分析程序和程序設計中熟悉語法、應用語句,并把軟件工程學科中的思想、算法分析與設計思想貫穿于整個程序設計過程中。例如,“百元買百雞”程序設計思路中,介紹了循環結構的語法形式,然后再通過求在一定區間內符合約束條件的算式來求滿足條件的未知數,將“窮舉法”的使用特點及思維方式向學生展示,使學生在程序分析中學習語法,掌握程序設計和解決問題的思路(算法)。
VB,VF和VC等可視化開發環境的教學中,可用一個小型信息管理系統(例如學籍管理系統)為實例,讓學生初步了解快速原型開發模型及有關軟件分析與設計方法等,VC的學習過程中可以選取難度合適的實例初步掌握OOSE(面向對象的軟件工程)的有關知識。
2. 階段報告(Project)教學模式
為了培養學生獨立編程的能力,還可為整個課程設計幾個“大作業”。在授課時,以這幾個“大作業”的程序設計要求為總體要求,每章學完后要求完成一項或幾項編程作業,且各章的編程作業不是孤立的,而是相互聯系的,實際上是一個較大、較復雜程序的組成部分。
例如,在C語言教學中介紹了常用I/O語句printf和scanf后,要求學生編寫主函數并在主函數中調用若干個空函數,形成一個文本型菜單的雛形;在介紹了常用數據類型后,要求學生編寫一個驗證密碼輸入的函數;在介紹了邏輯運算和判斷選取控制常用語句后,要求學生編寫一個菜單選取函數;在介紹了循環控制常用語句后,要求學生編寫幾段求解中常見數學問題的函數;在介紹了數組和字符串后,利用UCDOS特顯功能編寫一個具有特別顯示效果的軟件封面函數……這一個個編程“作業”,貌似各自獨立,但實際都圍繞著一個總體要求——編寫一個具有美觀封面并可通過菜單進行操作的“數學萬花筒”程序——“大作業”。當學生學完整個課程,完成了平時要求的各項編程作業后,他們會意識到:原來自己完成的不只是一些零碎的程序段,而是在逐步制作程序的各個部件,只要通過相應的程序拼裝,就可以構成一個較大、較復雜的程序。
學生在學習C語言的過程中,通過這幾個“大作業”(每個作業要多次上機才能完成),可將自己學過的知識和算法綜合在一起,從整體角度來審視程序的設計,并通過上機進行綜合調試,達到提高編程能力的目的,同時讓學生進入面對實際問題的應用程序解決能力的培養階段,這就是“階段報告(Project)”的教學模式。
3. 傳統與現代教學手段相結合
(1)傳統教學手段采用“語言+黑板+教材”方式。優點是注重抽象說理,學生可以感受到教師的思維過程;缺點是以“聽”或“視”的單一通道方式傳送信息,信息量少,且進度較慢。
(2)現代教學手段——多媒體教學。充分利用計算機網絡和多媒體技術。計算機多媒體技術以其聲、光、電、色等多重元素,突出信息的形象性及感染力,使計算機具有綜合處理文字、聲音、圖形、圖像和視頻信息的能力。
多媒體教學具有很多優點:1)教學內容形象、生動、直觀地展示在學生面前,對學生產生極大的吸引力;2)大大增加課堂教學的信息量,提高教學效率;3)利用多媒體教學可以集中教師的智慧與教學經驗,使教學內容更規范有序;4)充分利用計算機網絡優勢,將授課內容上網,為學生課外學習提供輔導。
語言類課程教學中,特別是第一門計算機語言課的教學,應讓學生掌握一定的程序調試技巧,這是通過傳統的教學手段是難以實現的,可以通過多媒體教學直觀地把程序的調試及排錯過程進行演示。但在多媒體教學中,程序的講解須配以精美動畫演示才能達到較好的效果,這就需要教師熟悉Flash,PowerPoint等軟件,否則光有靜態文本描述是很難讓學生理解程序的實現過程。
因此,只有將傳統與現代教學手段結合,才能取得很好的教學效果。還可以將構建的網絡學習環境作為輔助教學手段,讓教學資源上網,建立網上測試題庫,逐漸提高學生自主學習能力。
計算機專業相對其他專業來說將是新興的專業。作為專業教師必須盡快轉變觀念,以適應市場用人單位的需要。要想讓市場歡迎高職高專學院培養的學生,首先教師應該是市場上受歡迎的教師。高職高專學院應創出自己的新路,在綜合素質上超過職業中專水平,在動手能力上勝出本科生,這樣的學生會有更大的就業空間,這是每個專業教師應該認真思考的問題和義不容辭的責任。
參考文獻:
[1]譚浩強.C語言程序設計[M].北京:清華大學出版社,2004.
[2]常艷,任明海.對計算機語言教學方法的探討[J].遼寧警專學報,2003(01).
[3]王娟.對計算機語言教學的幾點思考[J].甘肅政法成人教育學院學報,2003(02).
[4]范會敏,王淑蓉.計算機語言課教學手段與方法探討[J].商洛師范專科學校學報,2003(02).
(江西省農業工程職業學院信息管理系)