C語(yǔ)言作為時(shí)下最流行的程序設(shè)計(jì)語(yǔ)言之一,是計(jì)算機(jī)專業(yè)的必修課。它是計(jì)算機(jī)應(yīng)用人員應(yīng)掌握的一種程序設(shè)計(jì)工具。然而,在中職院校,大部分學(xué)生由于英語(yǔ)、數(shù)學(xué)基礎(chǔ)較差,導(dǎo)致其在C語(yǔ)言學(xué)習(xí)中會(huì)遇到很多障礙,從而喪失學(xué)習(xí)熱情。在這種情況下,如果老師還是按照傳統(tǒng)的教學(xué)方法進(jìn)行教學(xué),教學(xué)效果可想而知。作為從事C語(yǔ)言教學(xué)多年的教師,筆者認(rèn)為,針對(duì)當(dāng)前中職學(xué)生的特點(diǎn),要想在C語(yǔ)言的教學(xué)上取得比較滿意的教學(xué)效果,可以在以下幾個(gè)方面進(jìn)行改革。
一、教學(xué)內(nèi)容的改革
1.重視“靈魂”算法
有人說(shuō),C可能被淘汰,VC也可能被淘汰。實(shí)際上,java、delphi都可能被淘汰。但是,優(yōu)秀的數(shù)據(jù)結(jié)構(gòu)、優(yōu)秀的算法,是不會(huì)被淘汰的。C語(yǔ)言的實(shí)踐過(guò)程,實(shí)際上就是算法的語(yǔ)言實(shí)現(xiàn)過(guò)程,是計(jì)算機(jī)的“靈魂”。中職學(xué)生初步進(jìn)行語(yǔ)言的學(xué)習(xí),絕不能使他們錯(cuò)誤地認(rèn)為語(yǔ)言只是一些規(guī)則和符號(hào),而要使他們知道只有算法才是真正的智慧之源。
鑒于中職學(xué)生的基礎(chǔ)較為薄弱,這些算法的講解也不宜太難,否則會(huì)挫敗學(xué)生的積極性。所以,可以由淺入深,因材施教地進(jìn)行教授。例如冒泡排序,其基本思想是:將相鄰兩個(gè)數(shù)依次比較,將大數(shù)調(diào)在前頭。也就是說(shuō),第一個(gè)數(shù)和第二個(gè)數(shù)比較,大數(shù)放前,小數(shù)放后,第二個(gè)和第三個(gè)進(jìn)行比較,大數(shù)放前、小數(shù)放后,依此類推。講解時(shí),教師不僅可以給出冒泡排序的一般方法,還可以進(jìn)一步采用其他的排序方法進(jìn)行比較,用一些簡(jiǎn)單的例子比較它們排序所需要的計(jì)算次數(shù),孰優(yōu)孰劣不言而喻,也能讓學(xué)生充分認(rèn)識(shí)到算法的重要性。
2.巧妙化解難度
中職學(xué)生群體中,相當(dāng)一部分學(xué)生基礎(chǔ)薄弱,在數(shù)學(xué)方面,反映得更為明顯。這就要求教師在教學(xué)內(nèi)容的選擇上,要結(jié)合目前中職學(xué)生的知識(shí)水平,依據(jù)中職教學(xué)的培養(yǎng)目標(biāo),適當(dāng)降低理論知識(shí)的難度和深度。對(duì)于較深?yuàn)W的概念,盡量采用生動(dòng)的、學(xué)生熟悉的案例進(jìn)行引導(dǎo)。例如指針的概念,教材對(duì)“間接存取”的敘述比較生硬,學(xué)生難以理解,可以借用比喻講解:將A房間的鑰匙放在B房間里,若要取A房間里的物品,就需要先打開B房間,取出A鑰匙,再打開A房間,取出A房間的物品,這就是“間接存取”。這樣的講解方式,可以使學(xué)生很快理解并加深對(duì)指針概念的認(rèn)識(shí)。
二、教學(xué)方法的改革
1.創(chuàng)設(shè)情境,引人入勝
教師在講解每一個(gè)問(wèn)題的時(shí)候,應(yīng)當(dāng)教會(huì)學(xué)生解決問(wèn)題的方法。如果只是把課本的內(nèi)容原封不動(dòng)地講給學(xué)生聽(tīng),學(xué)生可能會(huì)覺(jué)得枯燥無(wú)味,很快就失去繼續(xù)聽(tīng)下去的耐心。這就要求教師要針對(duì)中職學(xué)生的特點(diǎn),創(chuàng)設(shè)能引導(dǎo)學(xué)生主動(dòng)參與的教學(xué)環(huán)境,激發(fā)學(xué)生的學(xué)習(xí)積極性。例如在講授對(duì)n個(gè)數(shù)進(jìn)行從大到小的排序算法時(shí),筆者是這樣處理的:讓6名學(xué)生主動(dòng)到講臺(tái)前隨機(jī)排列站好,個(gè)子最高的學(xué)生代表最大數(shù),個(gè)子最矮的學(xué)生代表最小數(shù)。第一個(gè)學(xué)生先與相鄰的同學(xué)比較,如果相鄰的同學(xué)個(gè)子高,就交換位置,否則不交換。然后,用同樣的方法再分別與其他4個(gè)同學(xué)比較,最后發(fā)現(xiàn)第一個(gè)學(xué)生的位置,站的是個(gè)子最高的學(xué)生;再讓第二個(gè)學(xué)生分別與后面的4個(gè)同學(xué)比較。依此類推,結(jié)果發(fā)現(xiàn),6個(gè)學(xué)生按個(gè)子從高到低順序排列。整個(gè)過(guò)程中,筆者只需要找出第一個(gè)最高的學(xué)生,其他都由學(xué)生負(fù)責(zé)找。這樣一來(lái),學(xué)生們個(gè)個(gè)熱情高漲,課堂氣氛特別活躍,在人人參與的輕松環(huán)境中,問(wèn)題得到了圓滿解決。方法掌握了,對(duì)本排序算法的理解,就不是問(wèn)題了。所以,在教學(xué)方法上,教師要?jiǎng)?chuàng)新,要找出能使中職學(xué)生易于接受的方法。這樣,教學(xué)才能取得令人滿意的效果。
2.激發(fā)學(xué)習(xí)積極性
筆者針對(duì)C語(yǔ)言的特點(diǎn),激發(fā)學(xué)生主動(dòng)思考,課前給學(xué)生布置幾個(gè)專題,讓學(xué)生利用課余時(shí)間去思考、收集資料,并在課堂上組織學(xué)生發(fā)言和討論。這種教學(xué)法不僅可以讓學(xué)生獲得許多課外知識(shí),也促進(jìn)了教學(xué)內(nèi)容的改革,而且也有利于充分挖掘?qū)W生的學(xué)習(xí)潛力。例如,求1000以內(nèi)的所有“水仙花”數(shù)。首先,課前提示學(xué)生可用多種方法進(jìn)行解題,如循環(huán)控制、數(shù)組和函數(shù),讓學(xué)生嘗試編寫并總結(jié)出最佳的程序結(jié)構(gòu),提高編程能力。其次,在課上,對(duì)學(xué)生的各種方法進(jìn)行講解、點(diǎn)評(píng)。這樣,有利于學(xué)生加深對(duì)所學(xué)知識(shí)的理解,讓學(xué)生真正體會(huì)到C語(yǔ)言的靈活性,激發(fā)學(xué)生的學(xué)習(xí)興趣和求知欲。
三、實(shí)驗(yàn)教學(xué)的改革
C語(yǔ)言是一門實(shí)踐性很強(qiáng)的課程,其主要任務(wù)就是培養(yǎng)學(xué)生具有一定的閱讀程序、設(shè)計(jì)程序的能力,以及分析問(wèn)題、解決問(wèn)題和邏輯思維的能力。筆者對(duì)實(shí)驗(yàn)內(nèi)容上進(jìn)行了認(rèn)真探討,一般一次實(shí)驗(yàn)給出2~3個(gè)實(shí)驗(yàn)題目,分為必做與選做。這樣的好處是一方面保留相對(duì)簡(jiǎn)單的基礎(chǔ)性實(shí)驗(yàn),使學(xué)生能夠較順利地編寫出程序,培養(yǎng)學(xué)生的自信心,使其學(xué)習(xí)熱情得到進(jìn)一步提高;另一方面,增加實(shí)用性強(qiáng)、難度略大的實(shí)驗(yàn)題目,進(jìn)一步提高學(xué)生的編程能力,也可以滿足較高層次學(xué)生的需要。下面筆者簡(jiǎn)單介紹一下實(shí)驗(yàn)的基本步驟。
1.上機(jī)前的準(zhǔn)備
讓學(xué)生寫出實(shí)驗(yàn)預(yù)習(xí)報(bào)告,內(nèi)容包括對(duì)實(shí)驗(yàn)題目的理解和分析,選擇適當(dāng)算法,畫出流程圖并編寫程序;準(zhǔn)備幾組測(cè)試程序的數(shù)據(jù)和預(yù)期的正確結(jié)果,以便發(fā)現(xiàn)程序中可能存在的錯(cuò)誤。
2.上機(jī)調(diào)試
首先,調(diào)用C語(yǔ)言集成開發(fā)環(huán)境,輸入事先準(zhǔn)備好的源程序,然后進(jìn)行調(diào)試。在調(diào)試過(guò)程中,要充分利用C語(yǔ)言集成開發(fā)環(huán)境提供的調(diào)試手段和工具,如單步跟蹤、設(shè)置斷點(diǎn)、監(jiān)視變量值的變化等。整個(gè)過(guò)程應(yīng)由學(xué)生自己獨(dú)立完成,也可分組討論,使學(xué)生通過(guò)自己的實(shí)踐得到更豐富的經(jīng)驗(yàn)。
3.整理實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)結(jié)束后,要求學(xué)生整理實(shí)驗(yàn)結(jié)果,并認(rèn)真分析和總結(jié),寫出實(shí)驗(yàn)報(bào)告。具體內(nèi)容包括實(shí)驗(yàn)內(nèi)容、算法說(shuō)明、程序清單。
四、考核方式的改革
考核是教學(xué)工作的重要環(huán)節(jié),是評(píng)價(jià)教學(xué)效果的主要方法。衡量這門課的學(xué)習(xí)效果,不是看學(xué)生“知不知道”,而是“會(huì)不會(huì)干”。最初,C語(yǔ)言課都采用筆試考核,讓學(xué)生做一些填空題、選擇題,給出一些不完整的程序讓學(xué)生填空,導(dǎo)致學(xué)生死記硬背以應(yīng)付考試,寫完后語(yǔ)法有沒(méi)有錯(cuò)、語(yǔ)句用得對(duì)不對(duì)卻不知曉。所以,筆試并不能真正反映學(xué)生的學(xué)習(xí)效果。
C語(yǔ)言課程的教學(xué)目的,就是培養(yǎng)學(xué)生熟練運(yùn)用計(jì)算機(jī)語(yǔ)言編制和調(diào)試程序,從而解決實(shí)際問(wèn)題的能力。學(xué)過(guò)程序設(shè)計(jì)的人都知道,編寫一個(gè)程序有時(shí)很容易,但其正確運(yùn)行往往不是一件容易的事情。C語(yǔ)言的考核,應(yīng)采用上機(jī)考核形式,可以在期末考試前一個(gè)月左右向?qū)W生公開20~30道綜合性較強(qiáng)的題目。這些題目涵蓋所有的考核知識(shí)點(diǎn),讓學(xué)生提前進(jìn)行編程練習(xí),并且告知學(xué)生,期末上機(jī)考試的題目就從中選擇,只是關(guān)鍵數(shù)據(jù)會(huì)有變化。上機(jī)考試時(shí),每人的試題都是老師從之前公布的題庫(kù)中隨機(jī)抽取5道,然后讓學(xué)生編寫程序并調(diào)試運(yùn)行,并根據(jù)運(yùn)行結(jié)果記錄評(píng)分。實(shí)踐證明,這種考核形式的實(shí)施,能夠大大促進(jìn)學(xué)生上機(jī)調(diào)試程序的積極性,增強(qiáng)學(xué)生編寫程序、調(diào)試程序的能力。
中職C語(yǔ)言教學(xué),相對(duì)于其他計(jì)算機(jī)專業(yè)課程來(lái)說(shuō)較為抽象,所以教師必須花費(fèi)足夠的耐心,采用合理的授課方式,講授合適的內(nèi)容,才能使中職學(xué)生受益。這是中職教師必須努力去做的工作。在這一過(guò)程中,應(yīng)該以能力的掌握為主,以開拓思維為主要目的,針對(duì)學(xué)生自身的特點(diǎn),設(shè)計(jì)出適合中職學(xué)生的教學(xué)方案。只有這樣,教學(xué)才能取得良好的效果。
(作者單位:浙江省嘉興市科技工程學(xué)校、浙江省嘉興市高級(jí)技工學(xué)校)