汪宋良
C語(yǔ)言是一門(mén)廣泛使用的計(jì)算機(jī)高級(jí)語(yǔ)言,各高等院校電子類(lèi)專(zhuān)業(yè)都普遍開(kāi)設(shè)了“C語(yǔ)言程序設(shè)計(jì)”課程。目前,單片機(jī)、DSP、ARM系統(tǒng)的軟件編程都采用C語(yǔ)言甚至更高級(jí)語(yǔ)言(C++)來(lái)實(shí)現(xiàn)。因此,對(duì)于電子類(lèi)專(zhuān)業(yè)來(lái)說(shuō),C語(yǔ)言是一門(mén)必須掌握的專(zhuān)業(yè)基礎(chǔ)課,是后續(xù)課程(如“單片機(jī)原理與應(yīng)用”、“單片機(jī)C語(yǔ)言”、“嵌入式系統(tǒng)”)及各類(lèi)電子競(jìng)賽培訓(xùn)的編程基礎(chǔ);同時(shí),根據(jù)高職院校的人才培養(yǎng)體系特點(diǎn),如培養(yǎng)年限短(3年)、生源較本科生差、嵌入式(ARM)課程及更高級(jí)語(yǔ)言(C++)難度大等,學(xué)習(xí)單片機(jī)和C語(yǔ)言尤為重要。
根據(jù)學(xué)習(xí)后續(xù)課程的迫切需要,寧波城市職業(yè)技術(shù)學(xué)院電子類(lèi)專(zhuān)業(yè)目前已將C語(yǔ)言安排為第一語(yǔ)言。在高職高專(zhuān)“項(xiàng)目化”課程改革背景下,如何有效提高C語(yǔ)言教學(xué)效果,給學(xué)校和教師帶來(lái)了新的壓力和挑戰(zhàn)。為了實(shí)現(xiàn)課程的教學(xué)目標(biāo),學(xué)校通過(guò)與企業(yè)的深入合作、共同探索與實(shí)踐,在實(shí)施“崗位引導(dǎo)、雙高雙證三體系”的特色人才培養(yǎng)模式基礎(chǔ)上,采用以Protues和Keil軟件相結(jié)合為環(huán)境的運(yùn)行平臺(tái),以“項(xiàng)目引導(dǎo)、任務(wù)驅(qū)動(dòng)”為教學(xué)理念的“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)模式,收到了良好的教學(xué)效果。
目前,普通高等學(xué)校(本科教育)一般都將“C語(yǔ)言程序設(shè)計(jì)”作為理工科非計(jì)算機(jī)專(zhuān)業(yè)的計(jì)算機(jī)基礎(chǔ)教育課程,而高職院校也基本參照本科院校教育體系,將“C語(yǔ)言程序設(shè)計(jì)”作為計(jì)算機(jī)基礎(chǔ)教育課程的一部分進(jìn)行教學(xué)。但在教學(xué)方法上,并沒(méi)有考慮高職教育與本科教育、計(jì)算機(jī)專(zhuān)業(yè)與電子類(lèi)專(zhuān)業(yè)、四年與三年、生源等的差別,沒(méi)有針對(duì)高職電子類(lèi)專(zhuān)業(yè)特點(diǎn)進(jìn)行課程體系改革,最終,使該課程成為非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的“計(jì)算機(jī)通識(shí)教育”課程。通過(guò)走訪(fǎng)、調(diào)研及查閱資料發(fā)現(xiàn),高職電子類(lèi)專(zhuān)業(yè)C語(yǔ)言課程教學(xué)現(xiàn)狀如下。
1.教學(xué)模式1。按照本科教育課程體系,電子類(lèi)專(zhuān)業(yè)C語(yǔ)言課程由計(jì)算機(jī)專(zhuān)業(yè)教師擔(dān)任,采用標(biāo)準(zhǔn)C語(yǔ)言編程的應(yīng)用軟件Vc++環(huán)境為運(yùn)行平臺(tái),以printf()及scanf()指令對(duì)課程語(yǔ)法及知識(shí)進(jìn)行調(diào)試(算法、數(shù)據(jù)類(lèi)型、運(yùn)算符、表達(dá)式、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、變量類(lèi)型、預(yù)處理命令、指針、結(jié)構(gòu)體與共用體、位運(yùn)算及文件等)。
2.教學(xué)模式2。區(qū)別于本科院校教學(xué)模式。由于“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)存在學(xué)生學(xué)習(xí)積極性低、學(xué)習(xí)目的不明確,教師教學(xué)方法未與時(shí)俱進(jìn)、實(shí)踐教學(xué)效果不明顯等問(wèn)題,因此,提出“教學(xué)做一體”、“任務(wù)驅(qū)動(dòng)”、“項(xiàng)目化教學(xué)”等教學(xué)模式和方法。但其教學(xué)內(nèi)容跟“教學(xué)模式1”沒(méi)有本質(zhì)區(qū)別。
3.教學(xué)模式3。由于高職電子類(lèi)專(zhuān)業(yè)“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)存在弊端,因此,運(yùn)用基于工作過(guò)程的課程體系開(kāi)發(fā)對(duì)課程重構(gòu)設(shè)計(jì),對(duì)教學(xué)目標(biāo)重新定位。將“單片機(jī)原理與應(yīng)用”課程設(shè)為前序課程,將“C語(yǔ)言程序設(shè)計(jì)”與“單片機(jī)C語(yǔ)言”合并統(tǒng)稱(chēng)為“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”,并對(duì)其進(jìn)行基于工作過(guò)程的學(xué)習(xí)情境設(shè)計(jì),大膽改革教學(xué)內(nèi)容,采取任務(wù)驅(qū)動(dòng)式教學(xué)方法,以達(dá)到高職教育的教學(xué)目標(biāo)。
為了實(shí)現(xiàn)教學(xué)目標(biāo),區(qū)別于前述教學(xué)模式,C語(yǔ)言課程改革思路為:將課程安排在大一第2學(xué)期,將課程的思路及語(yǔ)法基礎(chǔ)融入電子類(lèi)專(zhuān)業(yè)具體的案例中,通過(guò)與單片機(jī)仿真軟件Proteus和Keil相結(jié)合的典型可視化項(xiàng)目,改革“C語(yǔ)言程序設(shè)計(jì)”課程的教學(xué)內(nèi)容、教學(xué)方法和手段、考核機(jī)制等,側(cè)重其在電子專(zhuān)業(yè)中的工程應(yīng)用,使教學(xué)更具針對(duì)性,為后續(xù)“單片機(jī)應(yīng)用與技術(shù)”、“電子競(jìng)賽培訓(xùn)”及“嵌入式系統(tǒng)”等課程打下扎實(shí)的編程基礎(chǔ)。
課改后,在以Protues和Keil軟件相結(jié)合為環(huán)境的運(yùn)行平臺(tái)下編譯、調(diào)試C語(yǔ)言程序,完全去除以標(biāo)準(zhǔn)C語(yǔ)言編程的應(yīng)用軟件Vc++環(huán)境為運(yùn)行平臺(tái)的教學(xué)模式。選取按鍵、LED指示燈、數(shù)碼管、蜂鳴器作為輸入和輸出設(shè)備,替代抽象的printf()和scanf()輸入輸出語(yǔ)法指令,使電子類(lèi)專(zhuān)業(yè)學(xué)生能更加生動(dòng)形象地理解C語(yǔ)言與專(zhuān)業(yè)的關(guān)系,這也是該課程最大的創(chuàng)新之處。按照課程項(xiàng)目?jī)?nèi)容,學(xué)習(xí)C語(yǔ)言語(yǔ)法知識(shí)并使用指令完成編程訓(xùn)練,在Keil編程軟件下編譯和調(diào)試。要求學(xué)生能熟練使用Keil編程軟件及環(huán)境下編譯、調(diào)試的方法,使用Keil生成.hex文件導(dǎo)入Proteus ISIS仿真軟件,實(shí)現(xiàn)效果演示。
因?yàn)楸菊n程開(kāi)設(shè)前,學(xué)生未學(xué)過(guò)單片機(jī)的硬件知識(shí),所有編程涉及單片機(jī)硬件部分則采用整體打包、函數(shù)調(diào)用方式實(shí)現(xiàn)。這樣,學(xué)生不用理解單片機(jī)硬件基礎(chǔ)知識(shí),就能在該平臺(tái)下編程、編譯、調(diào)試及演示,能直觀看到編程效果。比如:點(diǎn)亮第n盞LED燈時(shí),直接調(diào)用函數(shù)LED[n]即可(該函數(shù)課堂提供),與單片機(jī)引腳無(wú)關(guān)。而且,課程所有實(shí)訓(xùn)項(xiàng)目在同一個(gè)典型Proteus ISIS電路圖下調(diào)試完成(Proteus軟件畫(huà)圖不作要求),典型電路如圖1所示。
圖1 Proteus ISIS典型電路
依據(jù)“項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng)”課程教學(xué)模式的基本理念與電子類(lèi)專(zhuān)業(yè)“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)目標(biāo)的要求,課程組對(duì)電子行業(yè)基本輸入輸出設(shè)備從常見(jiàn)常用角度進(jìn)行篩選,按照項(xiàng)目可視化要求,最終確定以按鍵、LED指示燈、數(shù)碼管、蜂鳴器等四種輸入輸出設(shè)備使用作為該課程主要教學(xué)內(nèi)容。在構(gòu)建課程教學(xué)項(xiàng)目時(shí),考慮到C語(yǔ)言課程內(nèi)容范圍廣且章節(jié)間獨(dú)立性較強(qiáng),如通過(guò)某一綜合項(xiàng)目串聯(lián)各部分內(nèi)容必然會(huì)增加項(xiàng)目難度,導(dǎo)致大部分學(xué)生無(wú)法完成項(xiàng)目,失去對(duì)課程學(xué)習(xí)的信心,所以,課程組通過(guò)若干個(gè)小項(xiàng)目的組合來(lái)完成課程教學(xué)內(nèi)容,既控制了項(xiàng)目的難易程度,又包含了C語(yǔ)言所有語(yǔ)法知識(shí)。
在具體項(xiàng)目設(shè)計(jì)過(guò)程中,課程組牢牢把握從為后續(xù)課程服務(wù)角度尋找項(xiàng)目(如輸入輸出設(shè)備等)的原則,運(yùn)用真實(shí)性、直觀性來(lái)調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣。此外,課程組對(duì)部分難度較大但直觀性很強(qiáng)的現(xiàn)實(shí)項(xiàng)目進(jìn)行了教學(xué)改造,如數(shù)碼管替代LCD顯示屏,降低編程難度,使得大部分學(xué)生通過(guò)努力能夠完成項(xiàng)目,而不至于失去信心?!癈語(yǔ)言程序設(shè)計(jì)”課程教學(xué)項(xiàng)目如表1所示。
表1 “項(xiàng)目引導(dǎo)、任務(wù)驅(qū)動(dòng)”的“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)項(xiàng)目
續(xù)表1
課程組對(duì)“C語(yǔ)言程序設(shè)計(jì)”課程項(xiàng)目化教學(xué)實(shí)施遵循“案例—語(yǔ)法—編程”的教學(xué)規(guī)律來(lái)組織,每個(gè)教學(xué)項(xiàng)目都通過(guò)效果演示、明確任務(wù)、案例程序、編程修改、報(bào)告撰寫(xiě)等五個(gè)步驟實(shí)現(xiàn),如圖2所示為“交通指揮燈”項(xiàng)目實(shí)施流程。
圖2 “交通指揮燈”項(xiàng)目實(shí)施流程
1.提出問(wèn)題:效果演示、明確任務(wù)。為激發(fā)學(xué)生對(duì)項(xiàng)目學(xué)習(xí)與編程的興趣,該階段首先通過(guò)Protues電路圖模擬演示程序運(yùn)行效果,讓學(xué)生有直觀的認(rèn)識(shí)。然后,再明確項(xiàng)目設(shè)計(jì)的具體功能,從生活中普遍見(jiàn)到的現(xiàn)象展開(kāi)敘述,提高項(xiàng)目的可讀性。
2.分析問(wèn)題:案例程序。在實(shí)際教學(xué)中,對(duì)案例程序進(jìn)行詳細(xì)講解和分析,對(duì)案例程序中語(yǔ)法、指令、語(yǔ)句使用、編程習(xí)慣等重點(diǎn)闡述,并且對(duì)案例程序中出現(xiàn)的某一指令進(jìn)行展開(kāi)理論講解。比如,案例程序中使用了左移運(yùn)算符(>>),那么,就會(huì)對(duì)所有的運(yùn)算符(>>&|~^<<)進(jìn)行講解、擴(kuò)展,使學(xué)生有系統(tǒng)的理論體系。同時(shí),敢于打破傳統(tǒng)學(xué)科體系的知識(shí)結(jié)構(gòu)教學(xué)方法,根據(jù)任務(wù)要求的先后順序重新組織理論知識(shí),這也是本文的創(chuàng)新點(diǎn)之一。
3.解決問(wèn)題:編程修改、報(bào)告撰寫(xiě)。在本階段,要以學(xué)生為主體開(kāi)始具體程序的編寫(xiě),讓學(xué)生根據(jù)案例程序進(jìn)行修改和功能擴(kuò)展。教師的主要工作在于:一方面,引導(dǎo)學(xué)生從所學(xué)語(yǔ)法指令修改原案例程序,培養(yǎng)學(xué)生的動(dòng)腦與動(dòng)手編程思維能力;另一方面,引導(dǎo)學(xué)生通過(guò)Protues軟件對(duì)Keil軟件編寫(xiě)程序進(jìn)行運(yùn)行、驗(yàn)證及問(wèn)題解決。此外,教師還要對(duì)學(xué)生的完成情況進(jìn)行點(diǎn)評(píng),以增強(qiáng)完成者的榮譽(yù)感與自信心,形成班級(jí)的競(jìng)爭(zhēng)氛圍;對(duì)部分提前完成任務(wù)的學(xué)生,要提出更加復(fù)雜功能的編程任務(wù),旨在培養(yǎng)編程方面更加優(yōu)秀的學(xué)生。
4.項(xiàng)目化教學(xué)考核。課程項(xiàng)目化教學(xué)考核是檢查課程學(xué)習(xí)任務(wù)達(dá)成度的重要教學(xué)步驟,同時(shí),也是促進(jìn)學(xué)生學(xué)習(xí)的重要手段。項(xiàng)目化教學(xué)考核對(duì)學(xué)生全面認(rèn)識(shí)自己的不足有很強(qiáng)的導(dǎo)向作用,因此,課程項(xiàng)目化教學(xué)考核重點(diǎn)要放在考察學(xué)生的能力與素質(zhì)上。
考察分為形成性評(píng)價(jià)和終結(jié)性評(píng)價(jià)兩個(gè)部分:形成性評(píng)價(jià)包括工作態(tài)度(5%)、課堂項(xiàng)目完成(50%)、項(xiàng)目報(bào)告(5%)三個(gè)部分;終結(jié)性評(píng)價(jià)則分為期末理論閉卷考試(20%)、期末項(xiàng)目開(kāi)卷考試(20%)兩部分。通過(guò)綜合評(píng)價(jià),既體現(xiàn)了課程動(dòng)手實(shí)踐、編程解決具體問(wèn)題的教學(xué)導(dǎo)向,又體現(xiàn)了在實(shí)踐中掌握課程理論知識(shí)的教學(xué)目的。
目前,寧波城市職業(yè)技術(shù)學(xué)院運(yùn)用“項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng)”教學(xué)模式組織“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué),已經(jīng)過(guò)一屆學(xué)生的試行。通過(guò)教學(xué)比較,發(fā)現(xiàn)在新模式下學(xué)生對(duì)教學(xué)內(nèi)容學(xué)習(xí)興趣濃厚,對(duì)基本編程方法能夠較靈活地運(yùn)用,并在全國(guó)大學(xué)生電子類(lèi)競(jìng)賽中獲得了較好成績(jī)。但是,這項(xiàng)教改還面臨著課程教學(xué)理念、企業(yè)參與課程教學(xué)過(guò)程的方式等亟需完善的問(wèn)題,還需要不斷進(jìn)行探索。
[1]Brian W.Kernighan,Dennis M.Ritchie.The CProgramming Language[M].Prentice Hall:Inc,1988.
[2]Brian W.Kernighan,Dennis M.Ritchie.The CProgramming Language[M].北京:機(jī)械工業(yè)出版社,2004.
[3]Bjarne Stroustrup.The C++Programming Language:Special Edition[M].北京:機(jī)械工業(yè)出版社,2010.
[4]張玉學(xué).高職電子專(zhuān)業(yè)C語(yǔ)言教學(xué)探討[J].現(xiàn)代企業(yè)教育,2007(8):32-33.
[5]黃光華.電子信息工程專(zhuān)業(yè)C語(yǔ)言程序設(shè)計(jì)課程“四位一體”教學(xué)模式探索[J].才智,2011(35):250.
[6]陸志強(qiáng).非計(jì)算機(jī)專(zhuān)業(yè)“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)改革探討[J].張家口職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011(3):65-66.
[7]文星.高職電子專(zhuān)業(yè)C語(yǔ)言教學(xué)探究[J].湘潭師范學(xué)院學(xué)報(bào),2009(3):211-212.
[8]封宇.淺談《C語(yǔ)言程序設(shè)計(jì)》在高職電子類(lèi)專(zhuān)業(yè)的教學(xué)改革[J].廣西輕工業(yè),2011(7):53.
[9]姜世芬.高職電子類(lèi)專(zhuān)業(yè)“C語(yǔ)言程序設(shè)計(jì)”課程改革探究[J].科技創(chuàng)新導(dǎo)報(bào),2009(17):110.
[10]邵長(zhǎng)友.高職應(yīng)用電子專(zhuān)業(yè)“C語(yǔ)言程序設(shè)計(jì)”課程改革設(shè)想[J].計(jì)算機(jī)教育,2008(4):34-36.
[11]梁廣瑞,鐘國(guó)文.淺談全國(guó)大學(xué)生電子設(shè)計(jì)大賽與“C語(yǔ)言程序設(shè)計(jì)”教學(xué)改革[J].太原城市職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011(11):151-152.
[12]李?lèi)?ài)芹,趙鳳申.高職院校機(jī)電專(zhuān)業(yè)C語(yǔ)言課程教學(xué)探索與實(shí)踐[J].南通航運(yùn)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009(12):65-66.