尹寶林
摘要:本文論述了“C語(yǔ)言程序設(shè)計(jì)”課程建設(shè)的重點(diǎn)在于明確課程教學(xué)目標(biāo),改善教學(xué)內(nèi)容的設(shè)置和組織、改進(jìn)練習(xí)和考試的方法等。通過(guò)這些手段,進(jìn)一步提高學(xué)生的自學(xué)能力,分析問(wèn)題、解決問(wèn)題的能力,理論聯(lián)系實(shí)際的能力等,并促使其在程序設(shè)計(jì)的各個(gè)環(huán)節(jié)養(yǎng)成良好習(xí)慣,為深入掌握專(zhuān)業(yè)化程序設(shè)計(jì)打下基礎(chǔ)。實(shí)踐證明,以此思想指導(dǎo)的課程改革取得了顯著成效。
關(guān)鍵詞:C語(yǔ)言;程序設(shè)計(jì);教學(xué)改革;能力培養(yǎng);計(jì)算機(jī)輔助評(píng)測(cè)
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1背景
隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展和日益普及,越來(lái)越多的高校畢業(yè)生涌入計(jì)算機(jī)技術(shù)及應(yīng)用產(chǎn)業(yè),特別是軟件產(chǎn)業(yè)。這些人中不僅有計(jì)算機(jī)專(zhuān)業(yè)的畢業(yè)生,也有些非計(jì)算機(jī)專(zhuān)業(yè)的畢業(yè)生。在與這些非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的競(jìng)爭(zhēng)中,計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生并未表現(xiàn)出明顯的專(zhuān)業(yè)優(yōu)勢(shì)。造成這一現(xiàn)象的一個(gè)重要原因就是,計(jì)算機(jī)專(zhuān)業(yè)學(xué)生所掌握的基礎(chǔ)專(zhuān)業(yè)知識(shí)和能力,缺乏專(zhuān)業(yè)性的深度和廣度,計(jì)算機(jī)專(zhuān)業(yè)學(xué)生所學(xué)的一些專(zhuān)業(yè)課程和專(zhuān)業(yè)基礎(chǔ)課程沒(méi)有為學(xué)生提供足夠的專(zhuān)業(yè)知識(shí)和訓(xùn)練。課程改革前的C語(yǔ)言課程就是這樣一門(mén)在專(zhuān)業(yè)性方面有待加強(qiáng)的專(zhuān)業(yè)基礎(chǔ)課程。
程序設(shè)計(jì)是計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的基礎(chǔ)課程,程序設(shè)計(jì)能力是計(jì)算機(jī)專(zhuān)業(yè)人員的重要專(zhuān)業(yè)基礎(chǔ)能力,C語(yǔ)言是目前計(jì)算機(jī)專(zhuān)業(yè)工作者的第一語(yǔ)言。隨著計(jì)算機(jī)技術(shù)和知識(shí)的普及,越來(lái)越多的非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生也在這一層次和深度上掌握了C語(yǔ)言知識(shí)和運(yùn)用能力。與此同時(shí),計(jì)算機(jī)專(zhuān)業(yè)在C語(yǔ)言的教學(xué)方面依然采用原來(lái)的教學(xué)內(nèi)容和教學(xué)方法,在程序設(shè)計(jì)知識(shí)的深度和廣度以及C語(yǔ)言的運(yùn)用方面沒(méi)有大的進(jìn)展,導(dǎo)致計(jì)算機(jī)專(zhuān)業(yè)學(xué)生與非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生之間在這方面的專(zhuān)業(yè)能力差距逐漸縮小甚至消失。計(jì)算機(jī)專(zhuān)業(yè)學(xué)生所完成的程序在程序結(jié)構(gòu)、程序的可靠性、可維護(hù)性、可擴(kuò)展性、程序的時(shí)空效率、以及程序的風(fēng)格和可讀性等方面與非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的程序差別不大。
造成上述這種情況的原因,從教學(xué)方面看主要有三點(diǎn):一是目前“C語(yǔ)言程序設(shè)計(jì)”課程的教學(xué)內(nèi)容偏窄偏淺;二是教學(xué)方法不適當(dāng);三是實(shí)驗(yàn)考核手段落后。從學(xué)生學(xué)習(xí)的角度看,也存在對(duì)學(xué)習(xí)內(nèi)容和方法不適應(yīng)的問(wèn)題。大多數(shù)的學(xué)生從小學(xué)到中學(xué),已經(jīng)適應(yīng)了記概念、背知識(shí)點(diǎn)、應(yīng)付書(shū)面考試的學(xué)習(xí)模式,對(duì)于靈活運(yùn)用所學(xué)知識(shí)去分析解決問(wèn)題,缺乏必要的訓(xùn)練。當(dāng)程序設(shè)計(jì)教學(xué)仍然是以程序設(shè)計(jì)語(yǔ)言為主、以概念為主、以書(shū)面教學(xué)為主時(shí),就更會(huì)強(qiáng)化學(xué)生原有的思維模式和學(xué)習(xí)方法,把這門(mén)課程當(dāng)成以概念和知識(shí)點(diǎn)學(xué)習(xí)為主的理論型課程,忽視了對(duì)實(shí)際能力的培養(yǎng)。
2指導(dǎo)思想
C語(yǔ)言課程是培養(yǎng)學(xué)生專(zhuān)業(yè)能力的重要課程,其教學(xué)效果對(duì)學(xué)生今后其他專(zhuān)業(yè)課程的學(xué)習(xí)以及畢業(yè)后的專(zhuān)業(yè)工作前景都有重要的影響。為解決C語(yǔ)言課程在程序設(shè)計(jì)能力培養(yǎng)方面的不足,需要根據(jù)當(dāng)前學(xué)生的特點(diǎn),在課程教學(xué)目標(biāo)、課程指導(dǎo)思想、課程內(nèi)容設(shè)置和組織、練習(xí)和考試的方法及重點(diǎn)等方面進(jìn)行調(diào)整和改革,使學(xué)生在掌握運(yùn)用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的同時(shí),在分析問(wèn)題和解決問(wèn)題的能力上有顯著的進(jìn)步,在程序設(shè)計(jì)的各個(gè)環(huán)節(jié)養(yǎng)成良好的習(xí)慣,為后續(xù)的專(zhuān)業(yè)課程學(xué)習(xí)提供必要的程序設(shè)計(jì)知識(shí)和能力,為今后深入掌握專(zhuān)業(yè)化的程序設(shè)計(jì)能力打下良好的基礎(chǔ)。
對(duì)于計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生來(lái)說(shuō),C語(yǔ)言課程的教學(xué)目標(biāo)不僅僅是使學(xué)生了解和掌握C語(yǔ)言本身,而且應(yīng)該使學(xué)生深入掌握程序設(shè)計(jì)的思路和方法。C語(yǔ)言課程應(yīng)該是學(xué)習(xí)使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的課程,而不是僅僅學(xué)習(xí)C語(yǔ)言本身的課程。程序設(shè)計(jì)語(yǔ)言與程序設(shè)計(jì)是互為表里的。程序設(shè)計(jì)的作用是表達(dá)程序設(shè)計(jì)者的思想,是按照計(jì)算機(jī)所能理解和執(zhí)行的方式描述需要讓計(jì)算機(jī)完成的工作,而程序設(shè)計(jì)語(yǔ)言則是表達(dá)這種思想的工具。在程序設(shè)計(jì)工作中,首先需要明確的是所要表達(dá)的思想到底是什么,也就是到底需要計(jì)算機(jī)按照什么樣的步驟來(lái)執(zhí)行計(jì)算過(guò)程,產(chǎn)生什么樣的計(jì)算結(jié)果。至于采用什么樣的語(yǔ)言,以及這種語(yǔ)言的細(xì)節(jié),則是第二位的。因此,對(duì)于沒(méi)有程序設(shè)計(jì)經(jīng)驗(yàn)的學(xué)生的教學(xué),必須把程序設(shè)計(jì)的思想和方法放在中心的位置,而把程序設(shè)計(jì)語(yǔ)言作為講述程序設(shè)計(jì)思想和方法的工具。
3課程的內(nèi)容和安排
為使學(xué)生通過(guò)C語(yǔ)言的學(xué)習(xí)掌握程序設(shè)計(jì)的能力,養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣,并在分析問(wèn)題和解決問(wèn)題的能力上得到培養(yǎng)和鍛煉,需要在課程的教學(xué)內(nèi)容和側(cè)重點(diǎn)上進(jìn)行必要的調(diào)整,在教學(xué)方法上進(jìn)行必要的改進(jìn),在實(shí)驗(yàn)和考核的手段上進(jìn)行必要的革新,在教學(xué)過(guò)程的組織和安排上與其他相關(guān)課程更好地協(xié)調(diào)。
首先,需要把教學(xué)的重點(diǎn)從C語(yǔ)言本身轉(zhuǎn)移到程序設(shè)計(jì)的思路和方法、以及運(yùn)用C語(yǔ)言進(jìn)行程序設(shè)計(jì)上來(lái),把講授語(yǔ)言的概念轉(zhuǎn)變?yōu)橹v授語(yǔ)言運(yùn)用,把對(duì)概念的講授由抽象的分析和講解轉(zhuǎn)變?yōu)橥ㄟ^(guò)實(shí)例和經(jīng)驗(yàn)對(duì)概念的學(xué)習(xí)。教學(xué)內(nèi)容應(yīng)當(dāng)圍繞程序設(shè)計(jì)的思想和方法進(jìn)行組織,把C語(yǔ)言作為講解程序設(shè)計(jì)的工具,在講解程序設(shè)計(jì)的思想、方法和步驟的過(guò)程中,根據(jù)程序描述的需要,本著由簡(jiǎn)到繁,由淺入深的原則,逐步講解C語(yǔ)言中的知識(shí)點(diǎn),特別是C語(yǔ)言要素在程序設(shè)計(jì)中的運(yùn)用。
其次,“C語(yǔ)言程序設(shè)計(jì)”課程是一門(mén)實(shí)踐性和應(yīng)用性很強(qiáng)的課程,因此這門(mén)課程在教學(xué)方法上必然要不同于其他各種理論性課程。它不是以概念的學(xué)習(xí)為中心,而是以概念運(yùn)用能力的培養(yǎng)為中心。對(duì)于概念和基本知識(shí)的掌握,更多地不是通過(guò)理論分析,而是通過(guò)對(duì)實(shí)例的分析和在實(shí)踐中的運(yùn)用。對(duì)練習(xí)題的分析、講解、討論以及在練習(xí)現(xiàn)場(chǎng)的答疑都是教學(xué)中的要點(diǎn)。對(duì)一些復(fù)雜概念的引入和探討只有在學(xué)生具有了相當(dāng)?shù)膶?shí)踐經(jīng)驗(yàn)時(shí)進(jìn)行,才能使學(xué)生真正地接受。
第三,在教學(xué)安排方面要充分考慮C語(yǔ)言的基礎(chǔ)性、應(yīng)用性、專(zhuān)業(yè)性的特點(diǎn),以及該課程與其他課程的關(guān)聯(lián)和配合。復(fù)雜的程序設(shè)計(jì)知識(shí)需要有“數(shù)據(jù)結(jié)構(gòu)”等先修課程作為基礎(chǔ),同時(shí),基本的C語(yǔ)言知識(shí)和程序閱讀和理解能力,也是其他一些專(zhuān)業(yè)課程,包括“數(shù)據(jù)結(jié)構(gòu)”等課程在內(nèi)的基礎(chǔ)。為了適應(yīng)學(xué)生知識(shí)水平和學(xué)習(xí)能力的現(xiàn)狀,并考慮與其他課程的銜接和協(xié)調(diào),我們把“C語(yǔ)言程序設(shè)計(jì)”課程的內(nèi)容分為兩個(gè)部分,分兩個(gè)階段講授。第一個(gè)階段主要針對(duì)沒(méi)有程序設(shè)計(jì)經(jīng)驗(yàn)的初學(xué)者講授程序設(shè)計(jì)的基本方法和C語(yǔ)言的入門(mén)知識(shí),第二階段主要是在第一階段的基礎(chǔ)上進(jìn)一步提高學(xué)生的程序設(shè)計(jì)能力,培養(yǎng)學(xué)生專(zhuān)業(yè)化程序設(shè)計(jì)能力的基礎(chǔ),以及對(duì)C語(yǔ)言的深入理解和把握。
第一階段課程教學(xué)的重點(diǎn)內(nèi)容是程序設(shè)計(jì)的基本思路、步驟和方法,以及簡(jiǎn)單的程序設(shè)計(jì)技術(shù)和C語(yǔ)言的運(yùn)用,目的是培養(yǎng)學(xué)生程序設(shè)計(jì)的基本能力和初步培養(yǎng)學(xué)生良好的程序設(shè)計(jì)習(xí)慣,使他們知道如何著手分析一個(gè)問(wèn)題,如何把解決問(wèn)題的過(guò)程分解成一個(gè)個(gè)緊密銜接的步驟,如何用C語(yǔ)言準(zhǔn)確地描述這些步驟,以及當(dāng)程序出現(xiàn)錯(cuò)誤時(shí)如何迅速準(zhǔn)確地發(fā)現(xiàn)問(wèn)題的原因,找到解決的方法。在這一階段的教學(xué)中,在講授方法上應(yīng)以例題分析和討論為主,避免從概念到概念的論述,特別注意避免過(guò)于深?yuàn)W的概念的引入和討論,以免學(xué)生在未掌握程序設(shè)計(jì)基本方法和思考習(xí)慣的情況下把注意力不適當(dāng)?shù)赝度雽?duì)概念理解的過(guò)分追求。對(duì)于概念和理論,應(yīng)該只對(duì)必要的內(nèi)容做適當(dāng)?shù)慕榻B,更多地把學(xué)生的注意力引入到對(duì)這些概念的運(yùn)用中。應(yīng)該更多地講授使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的實(shí)例,通過(guò)實(shí)例講授分析問(wèn)題的方法以及程序設(shè)計(jì)的基本思路、過(guò)程和步驟。對(duì)于C語(yǔ)言本身,主要應(yīng)介紹各種基本語(yǔ)言要素和使用方法,介紹簡(jiǎn)單程序的編寫(xiě)、調(diào)試和運(yùn)行過(guò)程和操作步驟,講授一些基本的算法、數(shù)據(jù)結(jié)構(gòu)的C語(yǔ)言實(shí)現(xiàn)方法和特點(diǎn)。對(duì)于C語(yǔ)言的語(yǔ)法和語(yǔ)義,應(yīng)盡量通過(guò)例題的示范進(jìn)行概括性的介紹。對(duì)于其中的細(xì)節(jié),則應(yīng)留給學(xué)生通過(guò)上機(jī)實(shí)習(xí),自己逐步深入了解和掌握。這一階段的教學(xué)目標(biāo)是使學(xué)生能閱讀和理解一些較為復(fù)雜的程序,并能在較短的時(shí)間內(nèi)獨(dú)立完成具有初等難度、長(zhǎng)度約幾十行的程序的設(shè)計(jì)、實(shí)現(xiàn)和調(diào)試。
第二階段的教學(xué)主要集中在對(duì)程序設(shè)計(jì)能力、特別是專(zhuān)業(yè)程序設(shè)計(jì)能力基礎(chǔ)的培養(yǎng)上。在學(xué)生學(xué)習(xí)了“數(shù)據(jù)結(jié)構(gòu)”及其他相關(guān)的課程之后,可以進(jìn)一步引入專(zhuān)業(yè)化的程序設(shè)計(jì)思想,介紹專(zhuān)業(yè)化的程序設(shè)計(jì)應(yīng)當(dāng)考慮的一些問(wèn)題,對(duì)比不同的解題思路實(shí)現(xiàn)的難易程度,對(duì)比不同的算法和實(shí)現(xiàn)方法在時(shí)空效率方面的優(yōu)劣,對(duì)比不同的程序設(shè)計(jì)風(fēng)格對(duì)程序的可讀性、可維護(hù)性、可擴(kuò)展性、可移植性等方面的影響,講授程序質(zhì)量的判斷標(biāo)準(zhǔn)等。在這一階段也可以引導(dǎo)學(xué)生進(jìn)一步深入理解C語(yǔ)言中的一些重要概念和C語(yǔ)言的特點(diǎn),使學(xué)生在C語(yǔ)言運(yùn)用的技巧方面得到鍛煉,在程序設(shè)計(jì)的水平方面得到提高。這一階段的教學(xué)內(nèi)容包括對(duì)C語(yǔ)言屬性、特點(diǎn)和重要概念的深入講解、對(duì)C語(yǔ)言中難點(diǎn)的深入分析,對(duì)程序設(shè)計(jì)思路、過(guò)程和步驟的進(jìn)一步系統(tǒng)化,以及信息領(lǐng)域常用算法的實(shí)現(xiàn),程序和軟硬件系統(tǒng)的關(guān)系,程序的調(diào)試和測(cè)試,程序的時(shí)空效率和優(yōu)化,程序設(shè)計(jì)的風(fēng)格,中型程序的結(jié)構(gòu)和組織等。在掌握了這部分內(nèi)容之后,學(xué)生應(yīng)該能夠獨(dú)立完成較為復(fù)雜的,長(zhǎng)度在百行以上的程序的設(shè)計(jì)、實(shí)現(xiàn)和調(diào)試,知道如何充分測(cè)試一個(gè)程序,以保證其運(yùn)行的可靠,知道如何正確地組織一個(gè)較大的程序,以保證其可維護(hù)性和可擴(kuò)展性,知道如何優(yōu)化一個(gè)程序,以滿足對(duì)時(shí)空效率的要求。在這一階段的教學(xué)過(guò)程中,在教學(xué)方法上可以更多地采用啟發(fā)式的方法,可以拿出一定的時(shí)間展開(kāi)課堂討論和習(xí)題分析,引導(dǎo)學(xué)生主動(dòng)地學(xué)習(xí)。同時(shí),在練習(xí)題方面也可以適當(dāng)提供一些難題,以便為學(xué)有余力的學(xué)生提供更大的學(xué)習(xí)空間。
4練習(xí)和考試
程序設(shè)計(jì)課程是一門(mén)實(shí)踐性很強(qiáng)的專(zhuān)業(yè)技術(shù)課程。只有加強(qiáng)實(shí)踐環(huán)節(jié),讓學(xué)生在失敗的和成功的實(shí)踐中通過(guò)自己的經(jīng)驗(yàn)積累才能切實(shí)掌握實(shí)際知識(shí)的運(yùn)用能力。在課程教學(xué)的過(guò)程中不僅要重視理論教學(xué),重視教學(xué)內(nèi)容的設(shè)置,也要重視實(shí)踐環(huán)節(jié)的設(shè)置,重視為學(xué)生提供具有及時(shí)監(jiān)控和反饋環(huán)節(jié)的實(shí)踐環(huán)境。在課程的考核環(huán)節(jié),應(yīng)該以檢驗(yàn)學(xué)生的實(shí)際程序設(shè)計(jì)能力為主,關(guān)鍵概念為輔。對(duì)于語(yǔ)言的語(yǔ)法細(xì)節(jié)和使用方式,則不應(yīng)單獨(dú)作為考核的題目,而應(yīng)該與對(duì)程序設(shè)計(jì)能力的考核有機(jī)地融和在一起,以改變學(xué)生讀書(shū)、背概念、應(yīng)付考試的學(xué)習(xí)模式。
程序設(shè)計(jì)題目和源程序答案具有高度的靈活性和差異性,難以進(jìn)行常規(guī)的標(biāo)準(zhǔn)化評(píng)測(cè)。受評(píng)測(cè)方式的制約,傳統(tǒng)程序設(shè)計(jì)語(yǔ)言的練習(xí)及考試一般以標(biāo)準(zhǔn)化的筆試題為主,偏重于考察程序設(shè)計(jì)語(yǔ)言的基本概念和語(yǔ)法細(xì)節(jié),而程序設(shè)計(jì)題目所占比重較小。這種練習(xí)及考試方式易于導(dǎo)致學(xué)生忽視編程實(shí)踐能力和理論聯(lián)系實(shí)際能力的培養(yǎng)。為此,需要在練習(xí)和考試中改變傳統(tǒng)的方法,要求學(xué)生以實(shí)際程序設(shè)計(jì)為主進(jìn)行練習(xí),通過(guò)實(shí)際程序設(shè)計(jì)對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行考核。這種練習(xí)和考試的方式改變了練習(xí)的目的,使練習(xí)由過(guò)去簡(jiǎn)單地復(fù)習(xí)課堂的講授內(nèi)容改變?yōu)橛蓪W(xué)生通過(guò)實(shí)踐環(huán)節(jié)進(jìn)行自學(xué)。這樣,課堂講授就可以集中對(duì)關(guān)鍵內(nèi)容上,而不必在語(yǔ)言本身的細(xì)節(jié)上花費(fèi)過(guò)多的時(shí)間。
5技術(shù)支持手段
為采用“以實(shí)際程序設(shè)計(jì)為主進(jìn)行練習(xí),通過(guò)實(shí)際程序設(shè)計(jì)進(jìn)行考核”的實(shí)踐及考試方式,需要為學(xué)生在編程實(shí)踐中提供具有及時(shí)監(jiān)控和反饋功能的實(shí)踐環(huán)境,并在課程作業(yè)方面增加程序設(shè)計(jì)題目的比例。這樣,不但可以提高練習(xí)和考試的強(qiáng)度,使得習(xí)題更加接近實(shí)際程序設(shè)計(jì)的要求,而且也更能檢驗(yàn)教學(xué)效果和學(xué)生的實(shí)際程序設(shè)計(jì)能力。學(xué)生的答題工作全部在計(jì)算機(jī)上進(jìn)行,提交的答案必須是不存在任何語(yǔ)法和邏輯錯(cuò)誤、能解決一個(gè)完整問(wèn)題的源程序。學(xué)生在學(xué)習(xí)階段必須重視實(shí)際編程能力,提高對(duì)代碼質(zhì)量和編程風(fēng)格的要求,養(yǎng)成良好的編程習(xí)慣。同時(shí),這也可以改變以往基于經(jīng)驗(yàn)和直觀感覺(jué)的人工閱卷方式,提高閱卷的效率,減輕教師的閱卷負(fù)擔(dān),保證成績(jī)?cè)u(píng)定的準(zhǔn)確和公正。而且,在C語(yǔ)言這樣一門(mén)具有很強(qiáng)實(shí)踐性的信息技術(shù)專(zhuān)業(yè)基礎(chǔ)課程的實(shí)踐環(huán)節(jié)采用基于信息技術(shù)的自動(dòng)化支持手段,其本身也是對(duì)學(xué)生的一種示范和啟發(fā)。
在自動(dòng)化的評(píng)測(cè)系統(tǒng)中,最重要的問(wèn)題是對(duì)程序設(shè)計(jì)題目的評(píng)測(cè)方式和標(biāo)準(zhǔn)。對(duì)程序的評(píng)價(jià)既有內(nèi)在屬性的指標(biāo),如功能、性能、正確性、可靠性等,也有外在屬性的指標(biāo),如程序的結(jié)構(gòu)、可讀性、風(fēng)格等。根據(jù)本課程的教學(xué)要求,程序評(píng)測(cè)系統(tǒng)主要采用內(nèi)在屬性指標(biāo),學(xué)生所完成的程序必須通過(guò)編譯,產(chǎn)生可執(zhí)行代碼文件,在計(jì)算機(jī)上運(yùn)行,根據(jù)題目的要求讀入輸入數(shù)據(jù),進(jìn)行正確的運(yùn)算,產(chǎn)生正確的輸出數(shù)據(jù),才能得分。這種方式可以檢查學(xué)生程序語(yǔ)法和基本功能的正確性。對(duì)程序的功能完整性和性能的評(píng)測(cè)通過(guò)設(shè)計(jì)具有不同難度的輸入數(shù)據(jù)來(lái)完成。這樣,就可以對(duì)學(xué)生的程序在問(wèn)題分析、數(shù)據(jù)結(jié)構(gòu)和算法的選擇、實(shí)現(xiàn)的正確性和效率等多個(gè)方面產(chǎn)生適當(dāng)?shù)膮^(qū)分度。同時(shí),為了全面提高學(xué)生專(zhuān)業(yè)化程序設(shè)計(jì)的能力,也可適當(dāng)引入一些外在屬性的指標(biāo)以及相應(yīng)的評(píng)測(cè)手段,以檢驗(yàn)學(xué)生程序在程序的結(jié)構(gòu)、可讀性、風(fēng)格等方面的水平。
根據(jù)這些原則,我們?cè)O(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于Web的程序設(shè)計(jì)語(yǔ)言練習(xí)及考試評(píng)測(cè)系統(tǒng),并開(kāi)通了C語(yǔ)言課程教學(xué)網(wǎng)站。該練習(xí)及考試評(píng)測(cè)系統(tǒng)由配置工具、命題及題庫(kù)管理工具、Web應(yīng)用服務(wù)器、程序題評(píng)測(cè)服務(wù)器、考試控制工具、成績(jī)統(tǒng)計(jì)工具等組成,具有很強(qiáng)的可配置性和可擴(kuò)展性,能夠適應(yīng)不同的練習(xí)和考試要求。為防范考試中可能的作弊行為,系統(tǒng)提供了實(shí)時(shí)網(wǎng)絡(luò)監(jiān)測(cè)工具和程序源文件及可執(zhí)行碼的查重功能;在一場(chǎng)考試中可以使用具有相同難度的多份試卷,以避免相鄰座位學(xué)生之間的交流和抄襲。練習(xí)及考試評(píng)測(cè)系統(tǒng)既支持程序設(shè)計(jì)類(lèi)型的試題,又支持單選、多選、填空等標(biāo)準(zhǔn)化試題。為適應(yīng)練習(xí)和考試的不同要求,對(duì)所提交的答案可以分別設(shè)置為立即評(píng)測(cè)和定時(shí)評(píng)測(cè)。這樣,在練習(xí)過(guò)程中學(xué)生就可以及時(shí)得知自己的答案是否正確,并及時(shí)改正錯(cuò)誤。練習(xí)及考試評(píng)測(cè)系統(tǒng)可以自動(dòng)完成對(duì)學(xué)生成績(jī)的評(píng)測(cè)和統(tǒng)計(jì),并根據(jù)需要生成成績(jī)表。這樣,不僅可以使教師及時(shí)準(zhǔn)確地掌握學(xué)生的成績(jī),發(fā)現(xiàn)存在的問(wèn)題,而且可以大大減輕教師的工作負(fù)擔(dān)。
6結(jié)語(yǔ)
“C語(yǔ)言程序設(shè)計(jì)”課是計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的一門(mén)重要的專(zhuān)業(yè)基礎(chǔ)課。學(xué)生們通過(guò)這門(mén)課程的學(xué)習(xí),應(yīng)該不僅學(xué)會(huì)C語(yǔ)言,而且更要學(xué)會(huì)程序設(shè)計(jì)、學(xué)會(huì)分析問(wèn)題和解決問(wèn)題的方法,學(xué)會(huì)自學(xué)的方法,養(yǎng)成理論聯(lián)系實(shí)際、注重實(shí)踐的習(xí)慣,而這一切對(duì)于培養(yǎng)具有發(fā)展?jié)摿Φ墓た茖W(xué)生具有重要的意義。我們近幾年的課程改革正在朝著這一方向努力。經(jīng)過(guò)實(shí)踐,已經(jīng)取得了初步的成效。學(xué)生學(xué)習(xí)的積極性和主動(dòng)性比以前有較大的提高,學(xué)生的實(shí)際能力比以前有較大的增強(qiáng)。一些后繼課程的教師反映,學(xué)生程序設(shè)計(jì)能力的提高有助于相關(guān)課程的學(xué)習(xí)和課程作業(yè)的完成。已經(jīng)畢業(yè)的學(xué)生也反映,無(wú)論是在工作崗位上還是在國(guó)內(nèi)外高校的研究生學(xué)習(xí)中,程序設(shè)計(jì)的能力都成為了他們重要的基礎(chǔ)能力,并增強(qiáng)了他們?cè)诠ぷ骱蛯W(xué)習(xí)上取得進(jìn)展的信心。同時(shí),根據(jù)這幾年的教學(xué)經(jīng)驗(yàn),我們將教案整理成為正式的教材《C程序設(shè)計(jì)思想與方法》,于2009年由機(jī)械工業(yè)出版社出版。