摘要:不分專業(yè)的“C語(yǔ)言程序設(shè)計(jì)”課程沒有針對(duì)高職應(yīng)用電子的專業(yè)特點(diǎn)。本文分析了該課程的現(xiàn)狀及其與高職應(yīng)用電子專業(yè)其他課程之間的關(guān)系,提出了將“C語(yǔ)言程序設(shè)計(jì)”置換為“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”的改革設(shè)想,使之成為高職應(yīng)用電子專業(yè)的一門專業(yè)技能課程。
關(guān)鍵詞:C語(yǔ)言;高職;單片機(jī)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
“C語(yǔ)言程序設(shè)計(jì)”是高職高專電子專業(yè)的專業(yè)必修課。傳統(tǒng)教學(xué)以理論為主,以學(xué)科本位的邏輯體系來設(shè)計(jì)課程的教學(xué)內(nèi)容。課程內(nèi)容沒有與高職電子專業(yè)的其他課程有機(jī)銜接,不符合高職高專技能培養(yǎng)的特點(diǎn)。學(xué)生在學(xué)習(xí)C語(yǔ)言之后,不能用之有效地解決實(shí)際問題,學(xué)生的學(xué)習(xí)積極性難以調(diào)動(dòng),因此有必要對(duì)該課程進(jìn)行改革。
1 現(xiàn)狀分析
目前高等學(xué)校都把“C語(yǔ)言程序設(shè)計(jì)”作為理工科非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)教育課程,屬于計(jì)算機(jī)基礎(chǔ)教育課程的一部分。但課程設(shè)置并沒有考慮與其他專業(yè)課程之間的關(guān)系,沒有針對(duì)高職應(yīng)用電子技術(shù)的專業(yè)特點(diǎn),成了非計(jì)算機(jī)專業(yè)學(xué)生的“計(jì)算機(jī)通識(shí)教育”課程。
雖然許多學(xué)校對(duì)“C語(yǔ)言程序設(shè)計(jì)”課程從教學(xué)內(nèi)容、教學(xué)手段、教學(xué)方法等方面進(jìn)行了大膽的改革,把邏輯與編程解題思路(算法)放在主體地位,講解如何分析問題和解決問題;但是受“在學(xué)校里牢固掌握基礎(chǔ)知識(shí),畢業(yè)后在實(shí)踐中積累經(jīng)驗(yàn)”這種傳統(tǒng)的教學(xué)理念的影響,把培養(yǎng)學(xué)生閱讀程序、設(shè)計(jì)程序的能力,分析問題、、解決問題的能力和邏輯思維能力作為教學(xué)目標(biāo)。課堂上學(xué)到的也只是用C語(yǔ)言解決一些數(shù)學(xué)問題,所學(xué)內(nèi)容和實(shí)際應(yīng)用相脫節(jié),認(rèn)識(shí)不到“C語(yǔ)言程序設(shè)計(jì)”和自己專業(yè)之間的關(guān)系,學(xué)生在學(xué)習(xí)C語(yǔ)言之后,不能用C語(yǔ)言編寫為本專業(yè)服務(wù)的應(yīng)用軟件。特別對(duì)高職高專電子專業(yè)學(xué)生來說,C語(yǔ)言的知識(shí)成了他們專業(yè)知識(shí)結(jié)構(gòu)中的一個(gè)“孤島”。
2 改革的必要性
C語(yǔ)言是影響深遠(yuǎn)的、傳統(tǒng)的、優(yōu)秀的面向過程的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。C語(yǔ)言功能豐富、表達(dá)能力強(qiáng)、使用靈活方便、應(yīng)用面廣、代碼轉(zhuǎn)換質(zhì)量高。C語(yǔ)言方便進(jìn)行模塊化軟件設(shè)計(jì),還可以實(shí)現(xiàn)C語(yǔ)言和匯編語(yǔ)言的混合編程。C語(yǔ)言既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的許多特點(diǎn),能像匯編語(yǔ)言那樣直接利用CPU的硬件特性進(jìn)行程序設(shè)計(jì)。既可以編寫應(yīng)用軟件,又可以編寫系統(tǒng)軟件。和匯編語(yǔ)言相比,C高級(jí)語(yǔ)言程序設(shè)計(jì)快、可讀性、可移植性和可維護(hù)性好。一般情況下,完成同樣的任務(wù),使用C高級(jí)語(yǔ)言比用匯編語(yǔ)言可提高工作效率5-10倍,在調(diào)試階段更容易體會(huì)到這一點(diǎn),因此C語(yǔ)言特別適合單片機(jī)的開發(fā)。嵌入式系統(tǒng)中使用的嵌入式操作系統(tǒng)絕大部分也都是以C高級(jí)語(yǔ)言為基礎(chǔ)的,很多直接將源代碼提供給使用者。目前在單片機(jī)應(yīng)用領(lǐng)域,C高級(jí)語(yǔ)言越來越受到人們的重視。用C語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì)已經(jīng)成為單片機(jī)開發(fā)的一個(gè)主流,是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì)。
單片機(jī)課程是應(yīng)用電子技術(shù)及相關(guān)專業(yè)的一門重要的專業(yè)主干課,在專業(yè)基礎(chǔ)課和其他專業(yè)課方面起著重要的橋梁作用。它涉及到的基礎(chǔ)理論知識(shí)較廣,應(yīng)用范圍廣,是一門實(shí)踐性、工程性很強(qiáng)的技術(shù)課程,在電子技術(shù)及相關(guān)專業(yè)課程中群中占有十分重要的地位。電子專業(yè)的學(xué)生普遍將單片機(jī)用于課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)和電子產(chǎn)品設(shè)計(jì)大賽等許多實(shí)踐環(huán)節(jié)。單片機(jī)應(yīng)用也是學(xué)生將來在電子類公司或電子行業(yè)工作的最基本的技能?!皢纹瑱C(jī)原理與應(yīng)用”課程都是基于匯編語(yǔ)言的,高職高專學(xué)生很難應(yīng)用匯編語(yǔ)言去搞程序設(shè)計(jì),學(xué)生學(xué)到的單片機(jī)知識(shí)不能得到應(yīng)用。
高等職業(yè)教育的培養(yǎng)目標(biāo)是:培養(yǎng)既有一定理論基礎(chǔ)又有較強(qiáng)實(shí)踐能力,在生產(chǎn)服務(wù)第一線工作高層次的實(shí)用型、技術(shù)型人才,它不同于一般本科院校的學(xué)術(shù)型、工程型人才的培養(yǎng)目標(biāo)。就高職應(yīng)用電子技術(shù)專業(yè)而言,它培養(yǎng)強(qiáng)電弱電相結(jié)合,以弱電為主,并能熟練應(yīng)用電氣技術(shù)、計(jì)算機(jī)技術(shù)和控制技術(shù)等現(xiàn)代科學(xué)技術(shù),具有較強(qiáng)實(shí)踐能力的技術(shù)管理人才。強(qiáng)調(diào)應(yīng)用性、實(shí)用性是高職教育的特色,教學(xué)內(nèi)容突出基礎(chǔ)理論知識(shí)的應(yīng)用和實(shí)踐能力培養(yǎng)的原則,以應(yīng)用為目的,以“必需、夠用”為度,加強(qiáng)針對(duì)性和實(shí)用性。
因此,高職應(yīng)用電子專業(yè)的“C語(yǔ)言程序設(shè)計(jì)課程”應(yīng)不同于本科相應(yīng)專業(yè),也應(yīng)不同于高職其他專業(yè)?!癈語(yǔ)言程序設(shè)計(jì)”課程的開設(shè)應(yīng)緊扣本專業(yè)的特點(diǎn),為本專業(yè)的培養(yǎng)目標(biāo)服務(wù)。如果將“C語(yǔ)言程序設(shè)計(jì)”變成“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”,學(xué)生通過本課程的學(xué)習(xí)掌握單片機(jī)C語(yǔ)言程序設(shè)計(jì)方法,達(dá)到獨(dú)立利用C語(yǔ)言編寫單片機(jī)應(yīng)用程序的目的。將C語(yǔ)言“知識(shí)孤島”和單片機(jī)“知識(shí)孤島”連接起來,結(jié)合所學(xué)其他專業(yè)知識(shí),使學(xué)生學(xué)會(huì)應(yīng)用單片機(jī)開發(fā)電子系統(tǒng)的基本方法。如果學(xué)生以后需要用C語(yǔ)言或其他高級(jí)語(yǔ)言開發(fā)通用計(jì)算機(jī)系統(tǒng)的應(yīng)用軟件或系統(tǒng)軟件,有了“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”的基礎(chǔ),可以觸類旁通,很容易掌握其他高級(jí)程序設(shè)計(jì)語(yǔ)言。這也符合從特殊到一般,再?gòu)囊话愕教厥獾恼J(rèn)知規(guī)律。
3 課程改革設(shè)想:
3.1 課程內(nèi)容的改革
把“C語(yǔ)言程序設(shè)計(jì)”置換為“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”,放在“單片機(jī)原理與應(yīng)用”課程之后開設(shè),將“計(jì)算機(jī)基礎(chǔ)教育”課程變成“單片機(jī)開發(fā)技能”課程。課程內(nèi)容適用于C高級(jí)語(yǔ)言的初學(xué)者,包括數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、數(shù)組、指針和函數(shù)、程序的順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)、程序設(shè)計(jì)基本知識(shí)和單片機(jī)的C編程等內(nèi)容。對(duì)C語(yǔ)言中較難或單片機(jī)程序不常使用的內(nèi)容,比如多維數(shù)組、指向指針的指針、鏈表等進(jìn)行刪減。相關(guān)例題應(yīng)本著“深入淺出,突出實(shí)用”的指導(dǎo)思想,難度應(yīng)與高職高專學(xué)生的基礎(chǔ)相適應(yīng),算法不要過于復(fù)雜。單片機(jī)的C語(yǔ)言編程部分主要應(yīng)包括中斷、定時(shí)器/計(jì)數(shù)器、串行口、鍵盤和顯示等相關(guān)應(yīng)用,適當(dāng)包含少量可編程芯片的應(yīng)用。所選內(nèi)容應(yīng)體現(xiàn)先進(jìn)性、實(shí)用性和技能培養(yǎng)的特點(diǎn),拋棄一些過時(shí)或不實(shí)用的內(nèi)容,把提高學(xué)生的職業(yè)技能放在突出的重要位置。整門課程應(yīng)將單片機(jī)和C語(yǔ)言有機(jī)結(jié)合起來,強(qiáng)調(diào)知識(shí)點(diǎn)在單片機(jī)程序設(shè)計(jì)中的應(yīng)用,體現(xiàn)“單片機(jī)C語(yǔ)言”的特色,避免把課程內(nèi)容分為“C語(yǔ)言程序設(shè)計(jì)”和“單片機(jī)C編程”兩部分。
3.2 編譯開發(fā)環(huán)境
以80C51系列為基礎(chǔ),開發(fā)環(huán)境選擇德國(guó)KeilSoftware公司的Keil uVision集成開發(fā)環(huán)境(當(dāng)前版本是uVision3)。這是一個(gè)基于Windows的開發(fā)平臺(tái),集成了編輯器、項(xiàng)目管理器、Cx51編譯器、Ax51宏匯編器、BL51/Lx51連接定位器和調(diào)試器,用戶群極為龐大,符合教學(xué)特點(diǎn)的典型性。其中Cx51是專為80C51單片機(jī)設(shè)計(jì)的C語(yǔ)言編譯器,生成的程序代碼運(yùn)行速度高,存儲(chǔ)空間小。KeiluVision還提供了強(qiáng)大的項(xiàng)目管理功能,可以十分方便地進(jìn)行結(jié)構(gòu)化多模塊程序設(shè)計(jì),特別是Keil提供的純軟件模擬仿真功能(也支持硬件目標(biāo)板在線仿真),非常適合教學(xué)使用。Keil調(diào)試器支持?jǐn)帱c(diǎn)管理和程序代碼的多種執(zhí)行方式(全速、單步、執(zhí)行到指定行等)。在調(diào)試狀態(tài)下有寄存器窗口、存儲(chǔ)器窗口、觀察窗口和命令窗口,用于程序執(zhí)調(diào)試過程中顯示單片機(jī)寄存器、存儲(chǔ)器、局部變量和觀察點(diǎn)的狀態(tài)和輸入各種調(diào)試命令。Keil uVision的外圍集成功能(Peripherals)菜單可以打開中斷系統(tǒng)、I/O接口、串行口、定時(shí)器計(jì)數(shù)器等狀態(tài)窗口,通過這些狀態(tài)窗口可以觀察軟件仿真結(jié)果。
Keil uVision可以與PROTEUS整合構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室。PROTEUS是目前世界上最先進(jìn)最完善的嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺(tái),可以實(shí)現(xiàn)數(shù)字電路、模擬電路及微控制器與外設(shè)組成的混合電路系統(tǒng)仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計(jì)等全部功能。由于PROTEUS軟件包逼真、真實(shí)的協(xié)同仿真功能,得到了包括劍橋在內(nèi)的眾多大學(xué)用戶的認(rèn)可,作為電子學(xué)或嵌入式系統(tǒng)的課程教學(xué)、實(shí)驗(yàn)和水平考試平臺(tái)。Keil uVision與PROTEUS通過設(shè)置聯(lián)機(jī)調(diào)試單片機(jī)系統(tǒng),在PROTEUS中完成單片機(jī)系統(tǒng)的電路原理圖繪制后,在Keil uVision集成開發(fā)環(huán)境中進(jìn)行程序設(shè)計(jì)、項(xiàng)目的創(chuàng)建、編譯鏈接和調(diào)試,同時(shí)可在PROTEUS查看直觀的結(jié)果(如鍵盤輸入和LCD顯示等)。
3.3 教學(xué)方式的改革
高職教學(xué)應(yīng)該是基礎(chǔ)和技能的教學(xué)同步進(jìn)行,甚至先教技能再教理論,在不斷實(shí)踐中掌握技能,在技能學(xué)習(xí)中提高基礎(chǔ)理論。在高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)中,不能期望高職學(xué)生對(duì)每一個(gè)算法都理解。一些太復(fù)雜的算法、單片機(jī)應(yīng)用系統(tǒng)中常用芯片的驅(qū)動(dòng)程序,可以以函數(shù)庫(kù)或軟件包的形式直接提供給學(xué)生,供學(xué)生在程序設(shè)計(jì)中調(diào)用,降低理論教學(xué)難度。
確立以學(xué)生為中心的教學(xué)理念。從學(xué)生實(shí)際出發(fā),以學(xué)生為本,采用多樣化、層次化的教學(xué)方法,貫徹循序漸進(jìn)、深入淺出的原則。學(xué)生沒有高級(jí)語(yǔ)言程序設(shè)計(jì)的基礎(chǔ),在“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”教學(xué)中要注意分散難點(diǎn),縮小臺(tái)階。在內(nèi)容體例的設(shè)計(jì)上以實(shí)用為主,拋棄過多的語(yǔ)法細(xì)節(jié)和非通用的或?qū)嶋H用途很少的語(yǔ)言特性,理出重點(diǎn)和教學(xué)主線;采用一體化教學(xué)方法,以程序樣例為主實(shí)施教學(xué)。淡化語(yǔ)法教學(xué),以程序設(shè)計(jì)帶動(dòng)基本語(yǔ)法的學(xué)習(xí)。
上機(jī)實(shí)驗(yàn)是掌握單片機(jī)C語(yǔ)言程序設(shè)計(jì)的必要手段。不能簡(jiǎn)單地認(rèn)為上機(jī)實(shí)驗(yàn)只是輔助性的教學(xué)。程序設(shè)計(jì)的能力是在實(shí)際動(dòng)手實(shí)踐中練就的,通過上機(jī)操作和驗(yàn)證可進(jìn)一步加深各種語(yǔ)句的理解,提高學(xué)生的編程能力。通過Keilu Vision與PROTEUS組成的聯(lián)機(jī)調(diào)試環(huán)境,熟練使用Keilu Vision和PROTEUS軟件對(duì)學(xué)生的深入學(xué)習(xí)有巨大的幫助。
4 結(jié)束語(yǔ)
以上是我校根據(jù)“C語(yǔ)言程序設(shè)計(jì)課程”和高職電子電子專業(yè)其他課程之間的關(guān)系并結(jié)合高等職業(yè)教育的培養(yǎng)目標(biāo)提出的一些改革設(shè)想。一門課程的改革包括教學(xué)理念、教學(xué)內(nèi)容體系、實(shí)踐教學(xué)環(huán)境、教學(xué)方法和教學(xué)手段等一系列的改革,需要高質(zhì)量的教材和教學(xué)一線的教師在實(shí)踐中不斷地探索。