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