劉明才 牟連泳 辛慧杰
【摘 要】C語(yǔ)言程序設(shè)計(jì)課程具有很強(qiáng)的理論性和實(shí)踐性,要求學(xué)生既要掌握扎實(shí)的理論基礎(chǔ)知識(shí),又要培養(yǎng)實(shí)際編程能力。本文根據(jù)多年教學(xué)改革研究和實(shí)踐經(jīng)驗(yàn),對(duì)C語(yǔ)言程序設(shè)計(jì)課的教學(xué)內(nèi)容、教學(xué)方法和考試形式的改革進(jìn)行了研究。
【關(guān)鍵詞】C語(yǔ)言 教學(xué)方法 多媒體課件
C語(yǔ)言是當(dāng)今流行的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言之一。在C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)中,教師和學(xué)生都普遍認(rèn)為該課涉及的概念比較復(fù)雜,使用靈活,容易出錯(cuò),特別是民族院校的學(xué)生大部分是來(lái)自邊遠(yuǎn)地區(qū)的少數(shù)民族學(xué)生,由于基礎(chǔ)差、語(yǔ)言交流困難等諸多原因,使得該課的教學(xué)更加困難。我校對(duì)理工科專業(yè)本科生開(kāi)設(shè)C語(yǔ)言程序設(shè)計(jì)這門公共基礎(chǔ)課已有多年,并不斷進(jìn)行教學(xué)改革與探討。
一、教學(xué)內(nèi)容的改革
1.注意知識(shí)點(diǎn)的結(jié)構(gòu)
C語(yǔ)言通常是學(xué)生接觸的第一門程序設(shè)計(jì)語(yǔ)言,它所包含的基礎(chǔ)知識(shí)繁多,語(yǔ)法規(guī)則復(fù)雜,給初學(xué)者帶來(lái)一定困難,初學(xué)者要全面地掌握它是不可能的。因此,在教學(xué)中如何從教材中精選課程內(nèi)容就顯得非常重要。在C語(yǔ)言的教學(xué)過(guò)程中不要在細(xì)枝末節(jié)上浪費(fèi)精力,例如輸入函數(shù)scanf和輸出函數(shù)printf的格式復(fù)雜,一般的教材安排在前面用很大的篇幅介紹其語(yǔ)法格式和使用方法。按照這樣的安排授課,在一次課中講完并讓學(xué)生掌握是不容易的,而且容易讓學(xué)生產(chǎn)生厭煩心理。實(shí)際上,格式化輸入輸出函數(shù)應(yīng)精選常用的格式并結(jié)合程序進(jìn)行講解,其他非常用格式在后續(xù)課中需要時(shí)講授,這樣學(xué)生容易接受和掌握。
在選擇講授的知識(shí)點(diǎn)時(shí),可以參考C語(yǔ)言的全國(guó)計(jì)算機(jī)等級(jí)考試大綱,并對(duì)近幾年的考題進(jìn)行歸納總結(jié),精選出常用的知識(shí)點(diǎn)重點(diǎn)講授,其他非常用的知識(shí)點(diǎn)可讓學(xué)生自學(xué)。為了激發(fā)學(xué)生的學(xué)習(xí)積極性,可以將通過(guò)全國(guó)計(jì)算機(jī)等級(jí)考試作為學(xué)習(xí)C語(yǔ)言的近期目標(biāo),而將培養(yǎng)程序設(shè)計(jì)能力作為長(zhǎng)遠(yuǎn)目標(biāo)。
在教學(xué)中可將各知識(shí)點(diǎn)劃分為幾個(gè)相對(duì)獨(dú)立的模塊,如簡(jiǎn)單數(shù)據(jù)類型模塊、控制結(jié)構(gòu)模塊、數(shù)組模塊、指針模塊、函數(shù)模塊和文件模塊。模塊的內(nèi)容要循序漸進(jìn),由易到難。在教學(xué)中,要力爭(zhēng)做到概念準(zhǔn)確,分散難點(diǎn)。各模塊的教學(xué)目標(biāo)要十分明確,教學(xué)量適中,讓學(xué)生容易抓住要點(diǎn),理解和掌握教學(xué)內(nèi)容。
2.算法是程序設(shè)計(jì)的靈魂
講授C語(yǔ)言這門課程,如果只注重語(yǔ)句和語(yǔ)法,不重視程序設(shè)計(jì)能力的培養(yǎng),學(xué)生往往在教學(xué)過(guò)程中感到枯燥難學(xué),學(xué)過(guò)之后,編不出程序。我們經(jīng)常遇到這樣的學(xué)生,教師所講授的知識(shí)點(diǎn)都掌握了,所講授的程序也能看懂,就是不會(huì)編寫程序。這個(gè)問(wèn)題主要是授課中過(guò)多強(qiáng)調(diào)知識(shí)點(diǎn)的掌握,而忽略了分析算法的訓(xùn)練。Niklaus Wirth指出:“算法+數(shù)據(jù)結(jié)構(gòu)=程序”。算法是程序設(shè)計(jì)的靈魂,數(shù)據(jù)結(jié)構(gòu)是算法加工的對(duì)象。在學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)過(guò)程中必須仔細(xì)分析算法,恰當(dāng)選擇數(shù)據(jù)結(jié)構(gòu),選擇合適的C語(yǔ)言的數(shù)據(jù)類型和語(yǔ)句,這樣才能編寫高質(zhì)量的程序。因此在C語(yǔ)言的教學(xué)中必須堅(jiān)持講授程序設(shè)計(jì)方法和講授語(yǔ)言并重的原則,將兩者在教學(xué)中有機(jī)的結(jié)合就來(lái),才能收到好的教學(xué)效果。
二、教學(xué)方法的改革
1.多媒體與傳統(tǒng)教學(xué)方法相結(jié)合
隨著多媒體技術(shù)的發(fā)展,教學(xué)方法和手段也在不斷改進(jìn)。運(yùn)用多媒體課件輔助教學(xué)有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,同時(shí)由于多媒體信息量大,也有優(yōu)化教學(xué)過(guò)程。但是對(duì)媒體使用不當(dāng)也會(huì)影響教學(xué)效果,例如過(guò)多地增加動(dòng)畫效果和音響,會(huì)分散學(xué)生的注意力,影響主要問(wèn)題的理解。如果用多媒體課件講課的速度過(guò)快,信息量過(guò)大也不利于學(xué)生分析問(wèn)題和思考問(wèn)題。在教學(xué)中,要根據(jù)教學(xué)內(nèi)容而選擇教學(xué)方法和手段。例如,對(duì)于C語(yǔ)言的數(shù)據(jù)類型、各種運(yùn)算符和表達(dá)式、程序結(jié)構(gòu)等,這種概念性的知識(shí)和實(shí)例沒(méi)有過(guò)多的推理邏輯,易于理解,而信息量又大,采用多媒體教學(xué)比較好。事先將概念、大量信息的案例代碼制作成課件,在課堂講授,增加了信息量,克服了傳統(tǒng)的板書的缺點(diǎn),課堂教學(xué)也不顯得枯燥無(wú)味。但對(duì)于案例中的算法分析及程序的編寫過(guò)程就要發(fā)揮傳統(tǒng)教學(xué)的優(yōu)勢(shì),進(jìn)行課堂討論、板書講解,將所討論的問(wèn)題層層剖析,達(dá)到師生互動(dòng)的效果,使學(xué)生對(duì)所討論的問(wèn)題有深入的理解。另外,還要利用網(wǎng)絡(luò)平臺(tái)將課件及各種電子輔導(dǎo)材料放在網(wǎng)上,供學(xué)生自主學(xué)習(xí)。
2.加強(qiáng)實(shí)驗(yàn)課教學(xué)
C語(yǔ)言程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,既要掌握概念,又要?jiǎng)邮志幊?還要上機(jī)調(diào)試。教師設(shè)計(jì)實(shí)驗(yàn)內(nèi)容時(shí),根據(jù)各個(gè)不同的教學(xué)階段,精心設(shè)計(jì)相應(yīng)的實(shí)驗(yàn)內(nèi)容。例如,可以將實(shí)驗(yàn)課教學(xué)分為三個(gè)階段。第一階段主要熟悉上機(jī)環(huán)境、簡(jiǎn)單程序的運(yùn)行和調(diào)試。這一階段以驗(yàn)證性實(shí)驗(yàn)為主,增強(qiáng)學(xué)生學(xué)習(xí)信心。第二階段,根據(jù)教學(xué)內(nèi)容,主要編寫一些常用算法的小程序。第三階段,對(duì)應(yīng)課堂教學(xué)的結(jié)構(gòu)體、鏈表和文件部分,應(yīng)進(jìn)行綜合設(shè)計(jì)性實(shí)驗(yàn)??刹捎庙?xiàng)目分析教學(xué)法,在教師指導(dǎo)下完成一較大的實(shí)驗(yàn)項(xiàng)目,如“學(xué)生成績(jī)管理系統(tǒng)”。將該項(xiàng)目的功能分解成各個(gè)模塊,分別用函數(shù)編寫。該實(shí)驗(yàn)項(xiàng)目既復(fù)習(xí)、鞏固了已學(xué)知識(shí),又引入要學(xué)的新知識(shí)結(jié)構(gòu)體、鏈表和文件等。
三、考試形式的改革
在考試的形式上,要改變以前期末閉卷一次性的考核方法,實(shí)行分階段考核,即平時(shí)考核和期末考試相結(jié)合的方式。我們根據(jù)C語(yǔ)言程序設(shè)計(jì)這門課的特點(diǎn),采用了下面的考試形式:
課外大作業(yè)(10%)+考勤(10%)+3次單元考試(30%)+期末考試(50%)。
1.課外大作業(yè)是指學(xué)生在期末考試之前所要提交的一個(gè)大的試驗(yàn)項(xiàng)目,題目自選。該作業(yè)的目的在于培養(yǎng)學(xué)生的綜合程序設(shè)計(jì)能力和創(chuàng)新意識(shí)。作業(yè)采用網(wǎng)上提交,教師批閱的形式,滿分10分。
2.考勤分為理論課和實(shí)驗(yàn)課兩部分。理論課的考勤采用抽查及點(diǎn)名提問(wèn)的方式完成,實(shí)驗(yàn)課的考勤利用計(jì)算機(jī)管理系統(tǒng)網(wǎng)上統(tǒng)計(jì)到課率。考勤滿分為10分。
3.單元考試是指將課程內(nèi)容分為3個(gè)單元,每講授完一個(gè)單元,就進(jìn)行一次單元考試,每次10分,共30分。單元考試的題型分為單選題、填空題、程序改錯(cuò)題、程序填空題、程序設(shè)計(jì)題。其中:
(1)單選題和填空題主要考核學(xué)生對(duì)常用的語(yǔ)法規(guī)則和基本概念的掌握程度。
(2)程序改錯(cuò)題和程序填空題主要考核學(xué)生閱讀程序和調(diào)試程序的能力。
(3)程序設(shè)計(jì)題主要考核學(xué)生程序設(shè)計(jì)的能力,并且程序設(shè)計(jì)題占主要部分,以引導(dǎo)學(xué)生逐步掌握程序設(shè)計(jì)的方法,提高程序設(shè)計(jì)能力。
4.期末綜合考試的題型與單元考試題型相同,只是內(nèi)容覆蓋全課程,共50分。
我們把上述考試形式稱為過(guò)程化考試。其中,單元考試和期末考試均采用機(jī)試,即通過(guò)計(jì)算機(jī)考試系統(tǒng)從題庫(kù)自動(dòng)抽題,自動(dòng)閱卷。
經(jīng)過(guò)兩年的教學(xué)實(shí)踐,學(xué)生的考試成績(jī)大幅度提高,教學(xué)效果明顯好轉(zhuǎn),出現(xiàn)了兩個(gè)方面的可喜變化:一是學(xué)生平時(shí)不努力,期末搞突擊的不良習(xí)慣大大改變。二是通過(guò)單元考試,教學(xué)效果及時(shí)反饋給教師,使得教師不斷改進(jìn)教學(xué)方法,加強(qiáng)對(duì)后進(jìn)學(xué)生的輔導(dǎo)。
參考文獻(xiàn):
[1]譚浩強(qiáng).C程序設(shè)計(jì)(第二版).北京:清華大學(xué)出版社,1999.
[2]Eric S. Roberts. C語(yǔ)言的科學(xué)和藝術(shù). 北京:機(jī)械工業(yè)出版社,2005.