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