鄭富蘭 史春秀
摘要:針對(duì)高校計(jì)算機(jī)專業(yè)人才培養(yǎng)的現(xiàn)狀,分析在C程序設(shè)計(jì)課程傳統(tǒng)教學(xué)過程中普遍存在的問題以及傳統(tǒng)理論與實(shí)踐教學(xué)特征,結(jié)合自身教學(xué)經(jīng)驗(yàn),提出以程序先行為基礎(chǔ)和以實(shí)踐教學(xué)為中心的分階段教學(xué)改革思路。
關(guān)鍵詞:C程序設(shè)計(jì);高級(jí)程序設(shè)計(jì);實(shí)踐教學(xué);教學(xué)研究;教學(xué)改革
C語(yǔ)言作為一門高級(jí)程序設(shè)計(jì)語(yǔ)言,不僅是很多高校計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的入門語(yǔ)言,而且是非計(jì)算機(jī)專業(yè)學(xué)生的公共必修課,在培養(yǎng)學(xué)生分析和解決問題能力方面起著舉足輕重的作用。然而,學(xué)生普遍反映學(xué)習(xí)C語(yǔ)言有一定難度,認(rèn)為C語(yǔ)言抽象、不好理解,尤其對(duì)于實(shí)踐部分更是一籌莫展。實(shí)際上,這種局面的出現(xiàn)與教學(xué)雙方都有關(guān)系。
1、教學(xué)中出現(xiàn)的主要問題
1.1 理論教學(xué)重語(yǔ)法、輕算法,教學(xué)目的不強(qiáng)
在理論教學(xué)中,大多數(shù)教師只是按照傳統(tǒng)的教學(xué)方法,根據(jù)選定教材并對(duì)照教學(xué)大綱逐一講解。這種“滿堂灌”的教學(xué)方式挫傷了學(xué)生的學(xué)習(xí)興趣,而重語(yǔ)法、輕算法的教學(xué)思路偏離了“教學(xué)相長(zhǎng)”的教學(xué)理念,更偏離了這門課的教學(xué)目的。
1.2 實(shí)踐環(huán)節(jié)薄弱,教學(xué)效果不佳
C語(yǔ)言本身是實(shí)踐性很強(qiáng)的一門課,大量的理論知識(shí)需要在實(shí)踐中得到應(yīng)用和鞏固,算法和編程思想需要在實(shí)踐中形成。然而,實(shí)際教學(xué)收效甚微,主要原因有以下3個(gè)方面:①學(xué)生學(xué)習(xí)缺乏主動(dòng)性,在實(shí)踐課上隨心所欲,沒有目的性;②對(duì)于在實(shí)踐課中遇到的困難,學(xué)生沒有足夠的預(yù)期,從而降低了學(xué)習(xí)積極性;③實(shí)踐與理論教學(xué)聯(lián)系不緊密,包括教師在理論教學(xué)中缺乏對(duì)相應(yīng)實(shí)踐內(nèi)容的指導(dǎo)和教師在制訂實(shí)踐任務(wù)時(shí)針對(duì)性不強(qiáng)。
以上3個(gè)方面的原因?qū)е聦W(xué)生往往直到下課都運(yùn)行不了一個(gè)程序,大大挫傷學(xué)習(xí)積極性并形成惡性循環(huán),這是一部分學(xué)生編程能力相對(duì)不高的主要原因。
1.3 考核模式單一
考試在整個(gè)教學(xué)中起關(guān)鍵作用,是教師教學(xué)和學(xué)生學(xué)習(xí)的“指揮棒”。對(duì)于C語(yǔ)言程序設(shè)計(jì)這門課的考核,大部分院校仍采用傳統(tǒng)的筆試方式,考核的重點(diǎn)是語(yǔ)法和基本的邏輯推導(dǎo)能力,忽略了學(xué)生對(duì)問題的分析和對(duì)所學(xué)知識(shí)的綜合應(yīng)用能力。
2、課程教學(xué)思路探索
在傳統(tǒng)的教學(xué)方法中,教師總是把更多的精力用在理論教學(xué)上,認(rèn)為實(shí)踐是學(xué)生自己的事,是鞏固前面所學(xué)的理論知識(shí),加深對(duì)理論知識(shí)的理解。然而通過分析教學(xué)中出現(xiàn)的問題,我們認(rèn)為傳統(tǒng)的教學(xué)思路不適合實(shí)踐類課程,因此提出以程序先行為基礎(chǔ)和以實(shí)踐教學(xué)為中心的教學(xué)改革思路。
2.1 程序先行,逐步強(qiáng)化學(xué)生的編程意識(shí)
以課本為中心的“重語(yǔ)法”教學(xué)模式很容易使知識(shí)脫離使用環(huán)境,使學(xué)生體會(huì)不到知識(shí)的使用價(jià)值,因此教師必須對(duì)每一小節(jié)的授課內(nèi)容進(jìn)行精心設(shè)計(jì),讓學(xué)生逐步建立穩(wěn)固的學(xué)習(xí)興趣,我們采用的方法是“從程序中來(lái):到程序中去”。具體地說(shuō),針對(duì)每一小節(jié)的教學(xué)內(nèi)容,教師首先提出一個(gè)較實(shí)際且難度適中的問題,然后分析問題并提出解決方法,繼而給出相應(yīng)程序。
在整個(gè)分析過程中教師要有意強(qiáng)化學(xué)生的編程意識(shí),這個(gè)過程不僅能激發(fā)學(xué)生的學(xué)習(xí)興趣,還有益于學(xué)生逐步建立用計(jì)算機(jī)解題的思想。在學(xué)生對(duì)該程序所涉及的知識(shí)點(diǎn)在宏觀上有了感性認(rèn)識(shí)之后,教師再對(duì)相關(guān)的表達(dá)式和語(yǔ)句作進(jìn)一步講解,以使學(xué)生達(dá)到理性認(rèn)識(shí)的層面,這也符合學(xué)生的認(rèn)知過程。編程思想在整個(gè)理論教學(xué)中逐步滲透,而相關(guān)語(yǔ)法知識(shí)的學(xué)習(xí)則是采用“用中學(xué)”的方式完成。
2.2 靈活運(yùn)用教學(xué)手段和教學(xué)方法,理論與實(shí)踐相輔相成
好的教學(xué)方法能夠活躍課堂,激發(fā)學(xué)生的興趣和求知欲;也有利于教師分析問題,講清所授內(nèi)容;同時(shí)可以開拓學(xué)生的思路,往往能夠達(dá)到事半功倍的效果。教師要根據(jù)不同的教學(xué)內(nèi)容使用不同的教學(xué)方法。下面我們以“指針”教學(xué)為例說(shuō)明各種教學(xué)方法。
比喻教學(xué)法是把講授內(nèi)容比作生活中某些事物,以達(dá)到輔助理解的作用。例如,講指針的定義時(shí),我們可以用“拜訪同學(xué)”作比喻:A同學(xué)要拜訪C同學(xué),A本來(lái)就知道C的地址——直接訪問;A去B家拿到C的地址——間接訪問,A去B家拿到的C家地址就如同一個(gè)“路標(biāo)”,稱為“指針”。
類比教學(xué)法是將教學(xué)中出現(xiàn)的類似知識(shí)點(diǎn)進(jìn)行對(duì)照講解,以達(dá)到鞏固知識(shí)和加深理解的作用,如將函數(shù)中簡(jiǎn)單變量作參數(shù)與指針變量作參數(shù)類比,類比情況如表1所示。
在比較時(shí),將比較內(nèi)容用PPT展示,并將比較內(nèi)容在Tubor C(或VC)環(huán)境下的實(shí)踐結(jié)果相對(duì)照,激發(fā)學(xué)生求知欲,同時(shí)適當(dāng)運(yùn)用啟發(fā)式教學(xué)輔助講解,引導(dǎo)學(xué)生自己分析并最終得出結(jié)論。隨后,教師可以根據(jù)理論教學(xué)內(nèi)容的難易程度,以“階梯狀”形式制定相應(yīng)的實(shí)踐任務(wù):①將理論教學(xué)中的例子稍加改動(dòng),讓學(xué)生進(jìn)行“驗(yàn)證性”實(shí)驗(yàn);②理論教學(xué)要適當(dāng)留下“伏筆”,要求學(xué)生在實(shí)踐中“求證”,如教師可將2個(gè)同是指針變量作函數(shù)參數(shù)而改變不同的值的案例相對(duì)照,對(duì)照情況如表2所示,在理論教學(xué)中只分析并講解其中一個(gè)例子,而將另一個(gè)留作實(shí)踐作業(yè);③綜合前2項(xiàng)實(shí)踐任務(wù),設(shè)想一個(gè)(或多個(gè))應(yīng)用題目,使學(xué)生能綜合練習(xí)所學(xué)知識(shí)。
2.3 實(shí)踐教學(xué)分階段進(jìn)行,逐步提高學(xué)生編程能力
在程序先行的教學(xué)思想指導(dǎo)下,我們將實(shí)踐教學(xué)劃分為入門階段、基本編程階段、編程能力提高階段和綜合編程階段,分階段教學(xué)流程如圖l所示。根據(jù)學(xué)生各階段對(duì)知識(shí)的掌握程度,教師應(yīng)制訂不同的實(shí)驗(yàn)方案和標(biāo)準(zhǔn),并提供相應(yīng)的指導(dǎo)。當(dāng)然理論教學(xué)也應(yīng)與實(shí)驗(yàn)方案同步,除了完成相應(yīng)的教學(xué)內(nèi)容外,還要分析實(shí)踐中出現(xiàn)的典型問題,從正、反兩方面強(qiáng)化相關(guān)知識(shí)和編程思路。
1)入門階段。
此階段理論教學(xué)內(nèi)容大致為C語(yǔ)言基礎(chǔ)知識(shí)、各類運(yùn)算符及表達(dá)式、基本輸入、輸出語(yǔ)句、選擇結(jié)構(gòu)。學(xué)生的實(shí)驗(yàn)任務(wù)分為3部分。第一部分是調(diào)試任務(wù),即教師提前給定相應(yīng)程序并要求學(xué)生改錯(cuò),直到出現(xiàn)運(yùn)行結(jié)果。此類實(shí)驗(yàn)旨在將實(shí)踐與理論相結(jié)合,讓學(xué)生熟悉語(yǔ)法知識(shí)并輕松獲得成就感,激發(fā)學(xué)習(xí)興趣。第二部分是運(yùn)行例題,要求學(xué)生運(yùn)行課本上的某個(gè)例題。在編程初期,學(xué)生很容易因疏忽出現(xiàn)語(yǔ)法錯(cuò)誤。此類實(shí)驗(yàn)不僅可以磨練學(xué)生,還可以強(qiáng)化學(xué)生的語(yǔ)法知識(shí),指導(dǎo)學(xué)生進(jìn)行理論學(xué)習(xí)。第三部分是簡(jiǎn)單編程任務(wù),要求學(xué)生改編課本例題或解決較簡(jiǎn)單的實(shí)際問題,如實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器或判斷某數(shù)是否為素?cái)?shù),從而訓(xùn)練編程基本技能。
2)基本編程階段。
此階段理論教學(xué)內(nèi)容為選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),學(xué)生的實(shí)驗(yàn)任務(wù)不再有調(diào)試任務(wù)和運(yùn)行例題,而主要是通過程序擴(kuò)展(如由判斷某個(gè)數(shù)是否是素?cái)?shù)擴(kuò)展為判斷3位數(shù)的素?cái)?shù))、程序變換(如將程序中的Continue改為break、將1-100累加改為累積)鞏固編程技能,并讓學(xué)生在實(shí)踐中深刻體會(huì)知識(shí)點(diǎn)的具體作用。
3)編程能力提高階段。
此階段理論教學(xué)內(nèi)容大致為函數(shù)、編譯預(yù)處理、數(shù)組、指針,主要讓學(xué)生通過舊題新編(如判斷素?cái)?shù))體會(huì)新知識(shí)的應(yīng)用,并且加入一些實(shí)際性問題(如對(duì)一組數(shù)進(jìn)行排序、刪除、查找等),讓學(xué)生通過一題多解(如斐伯那契數(shù)列)拓展編程思路,達(dá)到鞏固舊知識(shí)和應(yīng)用新知識(shí)的效果。
4)綜合編程階段。
此階段理論教學(xué)內(nèi)容大致為結(jié)構(gòu)體、共用體和文件,除了讓學(xué)生鞏固基礎(chǔ)知識(shí)外,還針對(duì)某些實(shí)際問題(如為本班所有學(xué)生建立檔案,并讓學(xué)生完成查找、刪除、計(jì)算總分和平均分、排序等操作)讓學(xué)生通過分工合作達(dá)到掌握知識(shí)點(diǎn)和鞏固編程技能的綜合應(yīng)用效果。
該環(huán)節(jié)中,在編程實(shí)驗(yàn)題的選擇上,教師需充分考慮實(shí)驗(yàn)題和理論教學(xué)的銜接以及實(shí)驗(yàn)題的綜合可操作性、趣味性和難易程度。這樣不僅可以使理論知識(shí)在實(shí)驗(yàn)中得到驗(yàn)證和應(yīng)用,更重要的是使學(xué)生獲得成就感,從而增強(qiáng)學(xué)習(xí)興趣,提高學(xué)習(xí)主動(dòng)性,讓學(xué)生成為課堂的真正主體和主人。
2.4 改革考核模式,實(shí)施新的考核標(biāo)準(zhǔn)
考核模式由傳統(tǒng)的單純筆試考核改為“2+2+6”模式,即總成績(jī)=機(jī)試成績(jī)×20%+平時(shí)成績(jī)×20%+筆試成績(jī)×60%,由注重“結(jié)果”向注重“過程”靠攏。根據(jù)實(shí)際教學(xué)效果,教師可以在以后的教學(xué)中逐步完善考核機(jī)制,這樣更有利于學(xué)生編程能力的提高;當(dāng)考核模式成熟到一定程度時(shí),教師甚至可以取消筆試,將考核模式改為“4+6”模式,即總成績(jī)=平時(shí)成績(jī)×40%+機(jī)試成績(jī)×60%。
3、結(jié)語(yǔ)
筆者在多年C語(yǔ)言教學(xué)過程中不斷探索,取得了較好的教學(xué)效果。隨著學(xué)校及學(xué)院教學(xué)改革力度的加大,新的考核模式將提上日程,學(xué)生的編程能力將得到進(jìn)一步提高。在此基礎(chǔ)上,引導(dǎo)并鼓勵(lì)學(xué)生多參加課外實(shí)踐活動(dòng),也是學(xué)生綜合能力提高的必備項(xiàng)目。我們深刻地認(rèn)識(shí)到,教學(xué)需要不斷地探索、改進(jìn)、完善,教師在教學(xué)中應(yīng)以學(xué)生為原動(dòng)力,不斷推陳出新,積極探索新的教學(xué)思路,提高學(xué)生學(xué)習(xí)興趣和教師教學(xué)質(zhì)量。