吳爽++余曉峰
【摘要】C程序設(shè)計(jì)課程是高職院校計(jì)算機(jī)專業(yè)的一門專業(yè)基礎(chǔ)課,為后續(xù)的專業(yè)核心課的學(xué)習(xí)打下良好的基礎(chǔ),但是由于受傳統(tǒng)教學(xué)方法和其他因素的影響,導(dǎo)致《C程序設(shè)計(jì)》課程的教學(xué)效果不盡人意。本文在分析和探討目前《C程序設(shè)計(jì)》教學(xué)現(xiàn)狀的前提下,在教學(xué)方法等方面進(jìn)行了教學(xué)改革探索,同時(shí)在課堂教學(xué)中把理論與實(shí)踐教學(xué)有機(jī)地結(jié)合起來(lái),充分挖掘?qū)W生的創(chuàng)造潛能,提高學(xué)生解決實(shí)際問(wèn)題的綜合能力。實(shí)踐證明了此次教學(xué)改革方法在高職院校的《C程序設(shè)計(jì)》課程中取得了良好的教學(xué)效果。
【關(guān)鍵詞】C程序設(shè)計(jì);教學(xué)方法
【中圖分類號(hào)】TP312.1-4;G712 【文獻(xiàn)標(biāo)識(shí)碼】B 【文章編號(hào)】2095-3089(2017)14-0035-02
隨著網(wǎng)絡(luò)發(fā)展的日新月異和信息化的不斷深入,21世紀(jì)成為信息技術(shù)高速發(fā)展的時(shí)代,越來(lái)越多的人從事計(jì)算機(jī)方面的工作,而程序設(shè)計(jì)工作在其中占據(jù)很大的比重。目前比較受歡迎的程序語(yǔ)言有C語(yǔ)言、Java、C++等語(yǔ)言,而C語(yǔ)言精煉靈活、可移植性較好、應(yīng)用領(lǐng)域廣泛、目標(biāo)程序效率高[1],其他幾門語(yǔ)言直接或間接地參考了C語(yǔ)言的語(yǔ)法特性,因此在高職院校將C語(yǔ)言作為計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的入門課程。
《C程序設(shè)計(jì)》課程是高職院校計(jì)算機(jī)專業(yè)新生的一門專業(yè)基礎(chǔ)必修課,它將為后續(xù)學(xué)習(xí)專業(yè)核心課《C#程序設(shè)計(jì)》、《Java程序設(shè)計(jì)》等其他程序設(shè)計(jì)語(yǔ)言類課程做好鋪墊。該課程旨在培養(yǎng)學(xué)生的分析與解決問(wèn)題能力,提高學(xué)生的思維能力和程序設(shè)計(jì)能力。學(xué)生通過(guò)C語(yǔ)言程序設(shè)計(jì)課程的學(xué)習(xí)學(xué)會(huì)分析問(wèn)題。高職院校非常重視C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí),但是由于各種原因,課堂效果不盡人意,教師認(rèn)真?zhèn)湔n積極輔導(dǎo),學(xué)生卻產(chǎn)生了強(qiáng)烈的厭學(xué)情緒,甚至徹底放棄學(xué)習(xí)。一是由于課程本身的特性,C程序設(shè)計(jì)課程具有概念抽象、邏輯性強(qiáng)、語(yǔ)法知識(shí)多等特點(diǎn)[2],它涉及到高中的數(shù)學(xué)知識(shí)和常見(jiàn)的英文單詞。在C語(yǔ)言程序設(shè)計(jì)這門課程教學(xué)中,選用的教材大部分都是以程序設(shè)計(jì)結(jié)構(gòu)為主線介紹各種語(yǔ)法知識(shí)和結(jié)構(gòu)的特點(diǎn),各章節(jié)知識(shí)點(diǎn)側(cè)重于介紹各種獨(dú)立的算法,缺乏完整的案例應(yīng)用[3],內(nèi)容講解枯燥無(wú)味。二是教師的教學(xué)方法過(guò)于陳舊,傳統(tǒng)的教學(xué)教師按照教材內(nèi)容傳授理論知識(shí),課堂教學(xué)內(nèi)容局限于教材,而課程相關(guān)概念又比較抽象,講解的內(nèi)容局限于抽象層次,缺乏一個(gè)典型的應(yīng)用案例[4],因此學(xué)生難以理解。三是學(xué)生的基礎(chǔ)比較薄弱。對(duì)于高職院校的學(xué)生來(lái)說(shuō),基礎(chǔ)知識(shí)相對(duì)比較薄弱,尤其對(duì)于數(shù)學(xué)和英語(yǔ)這些枯燥的課程,而C語(yǔ)言中涉及到一些基本的數(shù)學(xué)常識(shí)和英文單詞。有的學(xué)生束手無(wú)策,從第一節(jié)課開(kāi)始就像聽(tīng)天書(shū),對(duì)這門課完全失去興趣,到最后徹底放棄學(xué)習(xí)這門課程。四是課程開(kāi)設(shè)的學(xué)時(shí)有限,一般為每周4學(xué)時(shí),理論和實(shí)驗(yàn)各2學(xué)時(shí),受時(shí)間限制教師在理論課上的內(nèi)容講解很難做到面面俱到,只能選取其中較典型算法分析講解。五是有些學(xué)生能夠聽(tīng)懂所講內(nèi)容,但給一個(gè)新的算法自己分析又有困難,或者新的問(wèn)題自己卻又不會(huì)分析設(shè)計(jì)算法,出現(xiàn)“能聽(tīng)懂,不會(huì)寫”的現(xiàn)象。
針對(duì)以上存在的問(wèn)題,高職院校要提高C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)質(zhì)量,課程教學(xué)改革勢(shì)在必行。結(jié)合以往課程教學(xué)經(jīng)驗(yàn),本著“學(xué)以致用”原則,突出“以能力為本”的專業(yè)人才的培養(yǎng)特點(diǎn),注重培養(yǎng)程序設(shè)計(jì)能力,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合,提出了C語(yǔ)言程序設(shè)計(jì)課程教學(xué)改革的幾種方法。
一、課程教學(xué)改革
(一)改革傳統(tǒng)教學(xué)方法
1.重要代碼板書(shū)法
傳統(tǒng)的教學(xué)方法按照“提出問(wèn)題、分析問(wèn)題、給出語(yǔ)法、講解語(yǔ)法規(guī)則、解決問(wèn)題”的步驟來(lái)進(jìn)行[5],雖然教師結(jié)合了高職學(xué)生的認(rèn)知規(guī)律,精選與現(xiàn)實(shí)生活息息相關(guān)的問(wèn)題作為案例,認(rèn)真分析案例的設(shè)計(jì)思路和解決問(wèn)題的方法步驟,但是現(xiàn)在教師普遍采用多媒體開(kāi)展教學(xué),程序直接在PPT上全部顯示,密密麻麻全是英文字母。雖然課堂的信息量增大了,但是在演示過(guò)程中,演示速度通常較快,學(xué)生思維難以與之同步[6]。尤其是對(duì)于復(fù)雜度較高的排序、遞歸等問(wèn)題,對(duì)于理論基礎(chǔ)本來(lái)就很薄弱的高職學(xué)生來(lái)講,課堂顯得枯燥乏味,很難激發(fā)學(xué)生的學(xué)習(xí)興趣。在教學(xué)過(guò)程中,教師應(yīng)該在講解過(guò)程中將代碼或者程序中的核心代碼寫在黑板上以示強(qiáng)調(diào),對(duì)于重要代碼反復(fù)講,在黑板上固定位置重復(fù)書(shū)寫,會(huì)加深學(xué)生對(duì)語(yǔ)法規(guī)則的理解和記憶,提高學(xué)生的學(xué)習(xí)興趣。
2.拓展演練法
如第一章中的例三:求兩個(gè)數(shù)中的較大者。課本中自定義了一個(gè)max函數(shù),用來(lái)實(shí)現(xiàn)求兩個(gè)數(shù)中的較大者的功能,然后在主函數(shù)中調(diào)用此函數(shù),以此求得兩個(gè)數(shù)中的較大者。一方面為了了解學(xué)生對(duì)所學(xué)知識(shí)的掌握程度,另一方面為了提高學(xué)生的發(fā)散思維,課后布置了一個(gè)作業(yè):求三個(gè)數(shù)中的最大者。教師鼓勵(lì)學(xué)生們拓寬思路,分小組討論,并點(diǎn)名讓同學(xué)上講臺(tái)完成算法的設(shè)計(jì)。一般同學(xué)們會(huì)想到分兩次調(diào)用自定義函數(shù),從而求得三個(gè)數(shù)中的最大者。
d=max(a,b);
d=max(c,d);
為了有效地激發(fā)學(xué)生的好奇心和求知欲,讓學(xué)生更深一步了解到程序編寫從無(wú)到有、從簡(jiǎn)單到復(fù)雜的過(guò)程,教師可以鼓勵(lì)學(xué)生嘗試改編自定義函數(shù)的功能,讓該函數(shù)可以實(shí)現(xiàn)求三個(gè)數(shù)中的最大者的功能。
這是對(duì)課本上的習(xí)題進(jìn)行拓展演練,讓同學(xué)們對(duì)函數(shù)的類型、定義以及調(diào)用等概念有了初步的認(rèn)識(shí)和了解。
3.對(duì)錯(cuò)示范法
對(duì)錯(cuò)示范法即在教學(xué)中,教師要找到教材中容易出錯(cuò)的知識(shí)點(diǎn),誤導(dǎo)學(xué)生犯錯(cuò),使學(xué)生暴露錯(cuò)誤,然后剖析錯(cuò)誤之處,從修正錯(cuò)誤的過(guò)程中加深對(duì)知識(shí)的理解和掌握。如在第三章順序程序設(shè)計(jì)講解語(yǔ)法過(guò)程中,為了讓學(xué)生了解到浮點(diǎn)型數(shù)據(jù)在程序設(shè)計(jì)過(guò)程中發(fā)揮的作用,在講解例題1時(shí),將攝氏溫度轉(zhuǎn)化為華氏溫度。在黑板上書(shū)寫程序的時(shí)候,教師故意將其中一行容易出錯(cuò)的地方演示出來(lái)。
C=(5/9)*(f-32);
程序調(diào)試運(yùn)行之后,發(fā)現(xiàn)得到的數(shù)據(jù)不符合邏輯,教師引導(dǎo)學(xué)生發(fā)現(xiàn)出錯(cuò)的原因。通過(guò)對(duì)學(xué)生上機(jī)最容易出錯(cuò)的問(wèn)題的示例和探究,讓學(xué)生真正掌握知識(shí)和編程的一些技巧。endprint
排序問(wèn)題是C程序設(shè)計(jì)學(xué)習(xí)中的一個(gè)經(jīng)典問(wèn)題。在學(xué)習(xí)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)中,其中有一個(gè)例題:輸入3個(gè)數(shù),要求按由小到大的順序輸出。教師在分析算法的過(guò)程中,讓學(xué)生思考如何進(jìn)行比較來(lái)對(duì)3個(gè)數(shù)排序。如果兩兩進(jìn)行比較,需要做3次比較和對(duì)換,教師提出問(wèn)題:這3次比較的順序?qū)Y(jié)果是否會(huì)產(chǎn)生影響,學(xué)生在未提前預(yù)習(xí)課本的情況下一般未可知否。教師在比較順序的過(guò)程中設(shè)置陷阱:
if(a>b)
if(b>c)
if(a>c)
教師在分別給a,b,c賦值的過(guò)程中也設(shè)置了陷阱,如36,54,25,最后得到的輸出結(jié)構(gòu)是36,25,54,顯而易見(jiàn)得到的結(jié)果不符合題目要求。教師引導(dǎo)學(xué)生發(fā)現(xiàn)程序設(shè)計(jì)過(guò)程出現(xiàn)的邏輯錯(cuò)誤,一方面告誡學(xué)生在設(shè)計(jì)算法時(shí)要步步謹(jǐn)慎,然后代入數(shù)據(jù)檢驗(yàn)算法是否正確,另一方面讓學(xué)生在實(shí)踐過(guò)程中體驗(yàn)到獲取知識(shí)的樂(lè)趣,增強(qiáng)學(xué)習(xí)的主動(dòng)性和積極性。
(二)強(qiáng)化實(shí)踐教學(xué)環(huán)節(jié)
結(jié)合高職學(xué)院學(xué)生的學(xué)情,采取了“理論知識(shí)夠用、強(qiáng)化實(shí)踐教學(xué)”的原則,適當(dāng)削減了理論知識(shí)的學(xué)時(shí),加強(qiáng)了實(shí)踐教學(xué)環(huán)節(jié)。課前有序安排實(shí)踐內(nèi)容,明確實(shí)踐教學(xué)的目的、上機(jī)練習(xí)習(xí)題、以及實(shí)踐各環(huán)節(jié)的設(shè)置,尤其是設(shè)置了一些具有現(xiàn)實(shí)意義的趣味題目,還有一些考察知識(shí)點(diǎn)較為全面的綜合習(xí)題,讓學(xué)生達(dá)到“做中練,練中學(xué)”,切實(shí)提高學(xué)生解決實(shí)際問(wèn)題的能力。
二、總結(jié)
筆者分析了高職學(xué)生在學(xué)習(xí)《C程序設(shè)計(jì)》課程中普遍存在的問(wèn)題,并分析了原因所在,結(jié)合自身教學(xué)實(shí)踐,提出了多種教學(xué)方法以提高學(xué)生的學(xué)習(xí)興趣。通過(guò)這些手段充分調(diào)動(dòng)了學(xué)生的學(xué)習(xí)積極性,取得了較好的教學(xué)效果。
參考文獻(xiàn)
[1]章曉英,基于項(xiàng)目導(dǎo)向的高職計(jì)算機(jī)應(yīng)用基礎(chǔ)課程教學(xué)改革與實(shí)踐[J].無(wú)線互聯(lián)科技,2012年07期.
[2]羅雅麗.基于行動(dòng)導(dǎo)向的高職《計(jì)算機(jī)應(yīng)用基礎(chǔ)》的教學(xué)改革[J].電腦開(kāi)發(fā)與應(yīng)用,2011年11期.
[3]彭納新,陳俞強(qiáng).基于任務(wù)驅(qū)動(dòng)的高職院校C語(yǔ)言程序設(shè)計(jì)課程教學(xué)改革與實(shí)踐[J].中國(guó)教育技術(shù)裝備,2013年18期.
[4]劉宇容.高職院?!禖語(yǔ)言程序設(shè)計(jì)》課程教學(xué)改革與實(shí)踐[J].高職教育理論與實(shí)踐,2014年2月.
[5]高愛(ài)梅.高職院校C語(yǔ)言項(xiàng)目教學(xué)改革探索與時(shí)間[J].電腦知識(shí)與技術(shù),2016年1月.
[6]楊王黎,王莉麗,盧愛(ài)萍.《C程序設(shè)計(jì)》教學(xué)改革探討[J].長(zhǎng)江大學(xué)學(xué)報(bào),2010年3月.endprint