匯編語(yǔ)言程序設(shè)計(jì)范文
時(shí)間:2023-03-16 10:26:37
導(dǎo)語(yǔ):如何才能寫(xiě)好一篇匯編語(yǔ)言程序設(shè)計(jì),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
【關(guān)鍵詞】匯編語(yǔ)言程序設(shè)計(jì) 現(xiàn)狀 問(wèn)題 改革
隨著我國(guó)國(guó)際化的發(fā)展進(jìn)程越來(lái)越快,我國(guó)對(duì)高等院校教育水平的重視度也越來(lái)越高。為了加快接軌國(guó)際高等教育的進(jìn)程,在近幾年中,我國(guó)對(duì)教育事業(yè)的投入力度不斷加強(qiáng),提高了對(duì)學(xué)生實(shí)際動(dòng)手能力以及創(chuàng)新能力的培養(yǎng)力度?!秴R編語(yǔ)言程序設(shè)計(jì)》課程教學(xué)是高校計(jì)算機(jī)、通信、電子以及自動(dòng)化等相關(guān)專(zhuān)業(yè)課程中的基礎(chǔ)課程,對(duì)學(xué)生在學(xué)習(xí)過(guò)程中的創(chuàng)新能力以及實(shí)踐能力的提高有一定的促進(jìn)作用。另外,在對(duì)教師對(duì)問(wèn)題進(jìn)行研究的過(guò)程中,對(duì)提高其相應(yīng)的科研水平以及意識(shí)也有一定的積極影響。
一、《匯編語(yǔ)言程序設(shè)計(jì)》課程教學(xué)的現(xiàn)狀以及存在的問(wèn)題
1.相應(yīng)的教材內(nèi)容單一陳舊,無(wú)法激發(fā)學(xué)生的學(xué)習(xí)興趣
《匯編語(yǔ)言程序設(shè)計(jì)》課程在我國(guó)所有高等院校相關(guān)計(jì)算機(jī)專(zhuān)業(yè)的課程中都占有重要地位,然而隨著時(shí)代的飛速發(fā)展,計(jì)算機(jī)的相關(guān)配置也得到了相應(yīng)的發(fā)展。在《匯編語(yǔ)言程序設(shè)計(jì)》教學(xué)中,其硬件教學(xué)中有些相關(guān)教材內(nèi)容與計(jì)算機(jī)的發(fā)展現(xiàn)狀不相符,存在一定程度的滯后性。在某些新開(kāi)發(fā)的匯編得到廣泛使用的時(shí)候,大多數(shù)學(xué)校的相關(guān)專(zhuān)業(yè)的匯編語(yǔ)言教材依舊還停留在以前的版本中,跟不上實(shí)際的發(fā)展進(jìn)程。
2.沒(méi)有明確的教學(xué)目的,對(duì)課程重要性認(rèn)識(shí)不足
《匯編語(yǔ)言程序設(shè)計(jì)》課程教學(xué)是高校計(jì)算機(jī)、通信、電子以及自動(dòng)化等相關(guān)專(zhuān)業(yè)課程中的基礎(chǔ)課程,對(duì)學(xué)生在學(xué)習(xí)過(guò)程中的創(chuàng)新能力以及實(shí)踐能力的提高有一定的促進(jìn)作用。在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程的學(xué)習(xí)過(guò)程中,大多時(shí)候得不到學(xué)生以及教師重視,對(duì)其學(xué)習(xí)的重要性認(rèn)識(shí)不足。而且,大多數(shù)老師在對(duì)這門(mén)課程進(jìn)行教學(xué)的過(guò)程中,受到相應(yīng)教學(xué)的課時(shí)以及大綱限制,在課堂教學(xué)過(guò)程中過(guò)于偏重對(duì)具體指令的相關(guān)應(yīng)用以及功能的講解,從而缺少了對(duì)各個(gè)課程之間的特點(diǎn)串聯(lián)。這樣的問(wèn)題導(dǎo)致教師在教學(xué)過(guò)程中,對(duì)學(xué)生的學(xué)習(xí)興趣不能充分的調(diào)動(dòng),從而導(dǎo)致學(xué)生對(duì)正確的學(xué)習(xí)方法不能很好的掌握。
3.教學(xué)方法偏差,教學(xué)手段存在缺陷
在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行教學(xué)的過(guò)程中,其在相應(yīng)的教學(xué)方法上存在一定程度的偏差,從而導(dǎo)致一些編程中非法指令經(jīng)常性出現(xiàn)。而且,教師在對(duì)這門(mén)課程進(jìn)行教學(xué)的過(guò)程中,教學(xué)手段太過(guò)單一,在教學(xué)過(guò)程中主要就通過(guò)多媒體對(duì)課堂內(nèi)容進(jìn)行講解。在教學(xué)過(guò)程中對(duì)多媒體的運(yùn)用雖然存在直觀生動(dòng)以及信息量大等相關(guān)優(yōu)勢(shì),但其也在一定程度上使學(xué)生產(chǎn)生了學(xué)習(xí)惰性。
二、對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程教學(xué)中相應(yīng)的問(wèn)題進(jìn)行改革
1.加強(qiáng)對(duì)課程重要性的認(rèn)識(shí)
在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行教學(xué)之前,對(duì)其相應(yīng)的重要性進(jìn)行講解,從而使學(xué)生對(duì)匯編語(yǔ)言的具體特點(diǎn)進(jìn)行充分掌握,對(duì)匯編語(yǔ)言相較于高級(jí)語(yǔ)言的具體優(yōu)勢(shì)進(jìn)行具體明確,使學(xué)生對(duì)其在應(yīng)用領(lǐng)域中必要性有充分的了解。在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過(guò)程中,要注意對(duì)其實(shí)用性的具體教學(xué),使學(xué)生能夠做到對(duì)具體知識(shí)的學(xué)以致用,注重對(duì)教學(xué)內(nèi)容相關(guān)知識(shí)點(diǎn)的訓(xùn)練和拓展。另外,教師在教學(xué)過(guò)程中,還要注重對(duì)學(xué)生知識(shí)面的拓寬,從而使學(xué)生在對(duì)匯編語(yǔ)言的學(xué)習(xí)興趣得到相應(yīng)的提高。
2.采用多樣化教學(xué),提高學(xué)生學(xué)習(xí)興趣
在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過(guò)程中,想要對(duì)相應(yīng)的指令進(jìn)行掌握,就要對(duì)其相關(guān)的尋址方式進(jìn)行具體的理解和掌握。在對(duì)匯編語(yǔ)言進(jìn)行教學(xué)的過(guò)程中,由于其相較高級(jí)語(yǔ)言而言,沒(méi)有足夠的易讀性,不容易學(xué)生的理解,所以,在教學(xué)的時(shí)候要掌握多樣化的教學(xué)方法以及教學(xué)手段,從而使學(xué)生在對(duì)其進(jìn)行學(xué)習(xí)的過(guò)程中的學(xué)習(xí)興趣得到最大的提高,培養(yǎng)學(xué)生學(xué)習(xí)的自主性,使其對(duì)匯編語(yǔ)言的相關(guān)知識(shí)的理解和記憶更容易清晰地掌握。
3.增加實(shí)踐環(huán)節(jié),提高學(xué)生具體的實(shí)踐能力
在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過(guò)程中,對(duì)學(xué)生具體動(dòng)手實(shí)踐課程進(jìn)行加強(qiáng),使學(xué)生在具體實(shí)踐的過(guò)程中對(duì)教材上的知識(shí)點(diǎn)進(jìn)行具體的理解和掌握。在實(shí)際動(dòng)手過(guò)程中學(xué)習(xí)實(shí)踐理論,使實(shí)踐與理論達(dá)到很好的結(jié)合,從而提升學(xué)生的學(xué)習(xí)效果。其中,在實(shí)踐的過(guò)程中,教師要注意對(duì)具體實(shí)驗(yàn)內(nèi)容的控制,對(duì)實(shí)驗(yàn)的重點(diǎn)著重突出,避免實(shí)驗(yàn)的時(shí)間太過(guò)漫長(zhǎng)。除此之外,還要注意積極引導(dǎo)學(xué)生多多參與相關(guān)實(shí)踐項(xiàng)目,在一定程度上為他們提供一些參與實(shí)際研究項(xiàng)目的機(jī)會(huì)。
三、結(jié)束語(yǔ)
綜上所述,隨著時(shí)代的飛速發(fā)展,我國(guó)對(duì)高等院校教育水平的重視度也越來(lái)越高,計(jì)算機(jī)的相關(guān)配置也得到了相應(yīng)的發(fā)展?!秴R編語(yǔ)言程序設(shè)計(jì)》課程作為計(jì)算機(jī)、通信、電子以及自動(dòng)化等相關(guān)專(zhuān)業(yè)課程中的基礎(chǔ)課程,其硬件教學(xué)中有些相關(guān)教材內(nèi)容與計(jì)算機(jī)的發(fā)展現(xiàn)狀不相符,存在一定程度的滯后性。為了提高學(xué)生在學(xué)習(xí)過(guò)程中的創(chuàng)新性以及實(shí)際動(dòng)手能力,對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》教學(xué)課程的教學(xué)效果進(jìn)行相應(yīng)的提高和改善,從而使學(xué)生在學(xué)習(xí)的過(guò)程中對(duì)其課程中相應(yīng)的知識(shí)內(nèi)容進(jìn)行更清晰精準(zhǔn)的掌握。
參考文獻(xiàn):
[1]陳燕俐,許建.“匯編語(yǔ)言程序設(shè)計(jì)”課程教學(xué)改革探索 [J].中國(guó)電力教育,2012,10(04):193-194.
[2]李黎.《匯編語(yǔ)言程序設(shè)計(jì)》課程教學(xué)改革探究 [J].產(chǎn)業(yè)與科技論壇,2013,15(08):197-198.
[3]陶雪麗,郭鳳英.匯編語(yǔ)言程序設(shè)計(jì)課程教學(xué)改革與實(shí)踐 [J].中國(guó)教育技術(shù)裝備,2012,25(01):192-193.
篇2
關(guān)鍵詞:匯編語(yǔ)言;系統(tǒng)的知識(shí)結(jié)構(gòu);教學(xué)手段;實(shí)踐教學(xué)
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
“匯編語(yǔ)言程序設(shè)計(jì)”是計(jì)算機(jī)教學(xué)體系中一門(mén)必修的專(zhuān)業(yè)基礎(chǔ)核心課程。匯編語(yǔ)言可以直接控制計(jì)算機(jī)硬件,常用于設(shè)備驅(qū)動(dòng)程序、實(shí)時(shí)控制程序等硬件設(shè)計(jì)開(kāi)發(fā)等方面。在系統(tǒng)軟件的底層、大型軟件的性能優(yōu)化、信息安全與計(jì)算機(jī)病毒的逆向工程等方面的應(yīng)用上,匯編語(yǔ)言也具有其他高級(jí)語(yǔ)言所無(wú)法企及的優(yōu)勢(shì)。該課程不僅是“計(jì)算機(jī)組成原理”、“操作系統(tǒng)”、“微機(jī)原理與接口”等核心課程的必要先修課,而且對(duì)于訓(xùn)練學(xué)生掌握程序設(shè)計(jì)技巧、熟悉上機(jī)操作和程序調(diào)試技術(shù)有著重要作用。從教學(xué)的角度出發(fā),我們認(rèn)為只有激發(fā)學(xué)生的學(xué)習(xí)興趣,教師與學(xué)生互動(dòng),并采用一些有效的教學(xué)手段,才能夠收到事半功倍的效果。
1了解匯編語(yǔ)言的重要性
匯編語(yǔ)言具有與高級(jí)語(yǔ)言不同的特點(diǎn),正是這些特點(diǎn)使得匯編語(yǔ)言具有高級(jí)語(yǔ)言不可替代的作用,使得匯編語(yǔ)言在計(jì)算機(jī)領(lǐng)域非常重要。在教學(xué)過(guò)程中,首先必須向?qū)W生詳細(xì)闡述匯編語(yǔ)言在計(jì)算機(jī)學(xué)科知識(shí)體系中的重要作用,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情和求知欲望。
匯編語(yǔ)言與處理器密切相關(guān),每種處理器都有自己的指令系統(tǒng),對(duì)應(yīng)的匯編語(yǔ)言各不相同。所以,匯編語(yǔ)言程序的通用性、可移植性較差;匯編語(yǔ)言功能有限,又涉及寄存器、主存單元等硬件細(xì)節(jié),所以編寫(xiě)程序比較繁瑣,調(diào)試起來(lái)也比較困難。但是匯編語(yǔ)言本質(zhì)上就是機(jī)器語(yǔ)言,是計(jì)算機(jī)提供給用戶的最快最有效的語(yǔ)言,因而容易產(chǎn)生運(yùn)行速度快、指令序列短小的高效率目標(biāo)程序,并且匯編語(yǔ)言是能夠利用計(jì)算機(jī)的所有硬件特性并能夠直接控制硬件的唯一語(yǔ)言,它可以直接、有效地控制計(jì)算機(jī)硬件。在很多場(chǎng)景下,我們必須使用匯編語(yǔ)言,例如,機(jī)器自檢、系統(tǒng)初始化、實(shí)際的輸入輸出設(shè)備的操作等;I/O接口電路的初始化程序以及外部設(shè)備的低層驅(qū)動(dòng)程序等;計(jì)算機(jī)系統(tǒng)頻繁調(diào)用的子程序、動(dòng)態(tài)連接庫(kù)等。匯編語(yǔ)言在現(xiàn)代計(jì)算機(jī)應(yīng)用中仍然是一門(mén)不可替代的、非常重要的程序設(shè)計(jì)語(yǔ)言。
因此,在“匯編語(yǔ)言程序設(shè)計(jì)”教學(xué)中,我們首先讓學(xué)生充分認(rèn)識(shí)到匯編語(yǔ)言的特點(diǎn)和重要性,學(xué)生通過(guò)用匯編語(yǔ)言編制程序,可以更清楚地了解計(jì)算機(jī)是如何完成各種復(fù)雜的工作。學(xué)生能從根本上認(rèn)識(shí)、理解計(jì)算機(jī)的工作過(guò)程,從而充分地利用機(jī)器硬件的全部功能,發(fā)揮機(jī)器的長(zhǎng)處。
2形成系統(tǒng)的知識(shí)結(jié)構(gòu)
匯編語(yǔ)言離不開(kāi)具體的CPU結(jié)構(gòu)以及必要的硬件支持,由于我們的“匯編語(yǔ)言程序設(shè)計(jì)”課程仍然基于英特爾公司的8086/8088CPU,因此將英特爾公司的系列CPU發(fā)展歷史作為首先介紹的內(nèi)容。從英特爾公司的4位機(jī)4004,8位機(jī)8008、8080與8085,到16位機(jī)8086/8088微處理器,詳細(xì)介紹了它們的內(nèi)外總線結(jié)構(gòu)。對(duì)于16位的80286微處理器,我們重點(diǎn)介紹了80286的實(shí)模式與保護(hù)模式兩種操作模式。對(duì)于32位的80386微處理器以及隨后英特爾公司推出的80486,Pentium,MMX Pentium,Pentium Pro,Pentium II,Pentium III與Pentium 4等微處理器,介紹了這些微處理器在硬件結(jié)構(gòu)上的突破,以及什么原因讓這些CPU新增了若干專(zhuān)用指令。通過(guò)對(duì)英特爾系列處理器的介紹,學(xué)生對(duì)以英特爾系列處理器發(fā)展為代表的計(jì)算機(jī)硬件發(fā)展脈絡(luò)有總體的了解,初步建立起計(jì)算機(jī)技術(shù)繼承性、發(fā)展性的認(rèn)識(shí),對(duì)其中涉及到的相關(guān)概念和術(shù)語(yǔ)有了初步的了解。
匯編語(yǔ)言的一個(gè)重要特點(diǎn)是它起到了軟件技術(shù)與硬件技術(shù)的接口作用,這決定了匯編語(yǔ)言程序設(shè)計(jì)必須結(jié)合其他課程橫向?qū)W習(xí)。從剖析可執(zhí)行程序的結(jié)構(gòu)出發(fā),以可執(zhí)行程序的裝入為例,分析了DOS操作系統(tǒng)下的PSP段前綴,并簡(jiǎn)單介紹了Windows操作系統(tǒng)下的PE文件,并在此基礎(chǔ)上講解了計(jì)算機(jī)從啟動(dòng)到操作系統(tǒng)裝入的流程;在講解中斷的時(shí)候,給學(xué)生介紹了8259A的結(jié)構(gòu)與用法。通過(guò)這種方式,讓學(xué)生明白“匯編語(yǔ)言程序設(shè)計(jì)”與“操作系統(tǒng)”、“微型計(jì)算機(jī)接口技術(shù)”、“計(jì)算機(jī)組成原理”等課程的聯(lián)系,開(kāi)闊了學(xué)生的思維方式與學(xué)習(xí)方法。
緩沖區(qū)溢出漏洞是目前最主要的安全漏洞之一,而利用該漏洞的緩沖區(qū)溢出攻擊是目前最主要、最具威脅性的網(wǎng)絡(luò)攻擊之一。我們幫助學(xué)生利用DEBUG工具,詳細(xì)分析了這些具有威脅性的程序,讓學(xué)生從多個(gè)角度研究緩沖區(qū)溢出的一般規(guī)律,引導(dǎo)學(xué)生深入分析植入代碼的結(jié)構(gòu)組成,總結(jié)植入代碼的結(jié)構(gòu)特征。并鼓勵(lì)學(xué)生根據(jù)威脅代碼的特點(diǎn),嘗試提出相對(duì)應(yīng)的防御措施。為“網(wǎng)絡(luò)安全”等課程打下了基礎(chǔ),讓學(xué)生融會(huì)貫通,學(xué)以致用。
通過(guò)我們這種注重歷史發(fā)展與聯(lián)系其他課程的教學(xué)思想,逐步幫助學(xué)生形成了系統(tǒng)的知識(shí)結(jié)構(gòu)。這有助于學(xué)生建立多門(mén)課程之間的聯(lián)系,開(kāi)闊學(xué)生的專(zhuān)業(yè)視野,從而調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情,增強(qiáng)學(xué)習(xí)的積極性與主動(dòng)性。
3利用多種教學(xué)手段進(jìn)行教學(xué)
匯編語(yǔ)言的內(nèi)容多而雜,不便于記憶,要教給學(xué)生正確的學(xué)習(xí)方法,指導(dǎo)學(xué)生如何去學(xué)習(xí)。讓啟發(fā)式、開(kāi)放型的教學(xué)貫穿教學(xué)全過(guò)程,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,以利于學(xué)生對(duì)教學(xué)內(nèi)容的理解和掌握。在教學(xué)內(nèi)容的講解過(guò)程中,針對(duì)不同的知識(shí)點(diǎn),可采用或結(jié)合不同的教學(xué)方法,加深學(xué)生的理解,增強(qiáng)記憶。
在介紹英特爾系列的CPU歷史時(shí),我們準(zhǔn)備了大量直觀的照片,展示了從4004、8008、8080、8085到16位微處理器8086/8088等微處理器,對(duì)于32位機(jī)展示了從80386到80486、Pentium、MMX Pentium、Pentium Pro、Pentium II、Pentium III與Pentium 4等微處理器。為了讓學(xué)生對(duì)當(dāng)前的計(jì)算機(jī)有直觀的認(rèn)識(shí),我們用照片展示了當(dāng)前計(jì)算機(jī)的主板結(jié)構(gòu),對(duì)照?qǐng)D片逐一介紹了PCI接口、顯卡、網(wǎng)卡等各種插卡。學(xué)生們對(duì)直觀的學(xué)習(xí)非常有興趣,課堂氣氛活躍。
在講解指令系統(tǒng)時(shí),我們使用動(dòng)畫(huà)講解了指令在CPU中的執(zhí)行過(guò)程。在講解指令前,我們重點(diǎn)介紹了8086 內(nèi)部結(jié)構(gòu),仔細(xì)講解了各個(gè)部件的功能,并突出介紹了指令流水線方式。對(duì)于典型的指令,我們?cè)诮Y(jié)構(gòu)圖上演示了指令執(zhí)行過(guò)程,包括指令隊(duì)列的變化、指令操作數(shù)的來(lái)源、物理地址的形成、EU與BIU是如何配合工作的。通過(guò)直觀的動(dòng)畫(huà),學(xué)生基本理解了CPU中指令的執(zhí)行過(guò)程。
在講解MOV指令時(shí),我們采用圖解法講解了MOV指令操作數(shù)的來(lái)源,這非常利于學(xué)生理解與記憶MOV指令的操作數(shù)的來(lái)源。圖1中矩形框中表示MOV指令的操作數(shù),箭頭的起始點(diǎn)表示MOV指令的源操作數(shù),箭頭的終止點(diǎn)表示它的目的操作數(shù),兩者間如有箭頭連接,表示它們是MOV指令源操作數(shù)與目的操作數(shù)的允許組合方式。通過(guò)圖解法,學(xué)生普遍感到MOV指令的操作數(shù)來(lái)源好懂易記,并逐步推廣到其他的指令學(xué)習(xí)中。
在講解存儲(chǔ)器操作數(shù)的尋址方式時(shí),我們采用逐步分解的方式介紹存儲(chǔ)器操作數(shù)的四種尋址,并強(qiáng)調(diào)了基址、變址、位移量這三個(gè)分量的不同組合就形成了不同的尋址方式。8086/8088 CPU各指令中操作數(shù)的來(lái)源有四種,立即數(shù)操作數(shù)、寄存器操作數(shù)、輸入/輸出端口操作數(shù)、存儲(chǔ)器操作數(shù)。而存儲(chǔ)器操作數(shù)又有直接尋址、寄存器間接尋址、基址(變址)尋址、基址變址四種尋址方式,存儲(chǔ)器操作數(shù)的這些尋址方式易導(dǎo)致學(xué)生理解與記憶出錯(cuò),造成不佳的學(xué)習(xí)效果。在講述基址由BX或BP提供,變址SI或DI提供,位移量是一個(gè)在匯編期間的常數(shù)后,我們?cè)趫D2中介紹了基址、變址、位移量這三個(gè)分量的不同組合構(gòu)成的不同的尋址方式。通過(guò)這種逐步分解的方式,學(xué)生很容易就掌握了存儲(chǔ)器操作數(shù)的四種尋址方式。
從我們采取的多種教學(xué)手段收到的良好效果可見(jiàn),在教學(xué)過(guò)程中,靈活應(yīng)用各種教學(xué)方法,能夠減少學(xué)習(xí)匯編語(yǔ)言的難度,便于學(xué)生學(xué)習(xí)和掌握相關(guān)內(nèi)容,提高教與學(xué)的效率。
4重視實(shí)踐教學(xué)
上機(jī)實(shí)驗(yàn)是“匯編語(yǔ)言程序設(shè)計(jì)”的一個(gè)重要教學(xué)環(huán)節(jié)。在“匯編語(yǔ)言程序設(shè)計(jì)”實(shí)驗(yàn)中,針對(duì)學(xué)生對(duì)DOS操作環(huán)境不熟悉,我們?cè)谡n堂上重點(diǎn)講授了相關(guān)的DOS命令,使得學(xué)生在上機(jī)時(shí)能夠熟練的在DOS環(huán)境下進(jìn)行操作;針對(duì)匯編語(yǔ)言上機(jī)調(diào)試復(fù)雜的問(wèn)題,我們通過(guò)耐心講解,讓學(xué)生充分認(rèn)識(shí)到,這是一個(gè)從源程序到可執(zhí)行程序的必經(jīng)過(guò)程,通過(guò)學(xué)生的反復(fù)實(shí)踐,一定能夠掌握匯編語(yǔ)言的開(kāi)發(fā)過(guò)程,加深對(duì)匯編語(yǔ)言的認(rèn)識(shí),提高程序設(shè)計(jì)的能力;針對(duì)調(diào)試工具DEBUG,重點(diǎn)講解了常用的調(diào)試命令,對(duì)一些較復(fù)雜并且較為不常用的命令,暫時(shí)不引入,重點(diǎn)讓學(xué)生實(shí)踐,學(xué)生通過(guò)使用DEBUG工具,深刻體會(huì)到了CPU的工作過(guò)程,這對(duì)于提高學(xué)生的學(xué)習(xí)興趣,鞏固課堂教學(xué)內(nèi)容起到了關(guān)鍵作用。
在合理安排實(shí)驗(yàn)教學(xué)內(nèi)容的基礎(chǔ)上,我們還將課外科技活動(dòng)融入到實(shí)踐教學(xué)活動(dòng)中,其中最為重要的是組織學(xué)生參加國(guó)家級(jí)以及校級(jí)的各種電子設(shè)計(jì)競(jìng)賽,在實(shí)踐中鍛煉學(xué)生使用匯編語(yǔ)言設(shè)計(jì)程序的能力。
我們積極指導(dǎo)學(xué)生使用匯編語(yǔ)言參加了全國(guó)性的關(guān)于嵌入式系統(tǒng)的“電子設(shè)計(jì)競(jìng)賽”,這些競(jìng)賽項(xiàng)目不但需要參賽者具有深厚的匯編語(yǔ)言程序編程水平,還要求參賽者擁有過(guò)硬的硬件基礎(chǔ)知識(shí),包括電路分析、模擬電路和數(shù)字電路等各方面的專(zhuān)業(yè)知識(shí)儲(chǔ)備。通過(guò)競(jìng)賽,學(xué)生加深了對(duì)整個(gè)計(jì)算機(jī)學(xué)科知識(shí)體系的掌握,并對(duì)匯編語(yǔ)言與其它學(xué)科的關(guān)系有了深入的認(rèn)識(shí)。
我們還組織了較大規(guī)模的學(xué)生隊(duì)伍參加電子科技大學(xué)“億利達(dá)杯”、“NS杯”等大學(xué)生電子設(shè)計(jì)競(jìng)賽,這些競(jìng)賽是半開(kāi)放式的競(jìng)賽,在指導(dǎo)教師的指導(dǎo)下,參賽隊(duì)員利用提供的器件設(shè)計(jì)并實(shí)現(xiàn)了“數(shù)字式Q表設(shè)計(jì)”、“多點(diǎn)溫度檢測(cè)系統(tǒng)設(shè)計(jì)”、“數(shù)字調(diào)諧濾波器設(shè)計(jì)”、“工頻標(biāo)準(zhǔn)信號(hào)源設(shè)計(jì)”、“電機(jī)轉(zhuǎn)速控制器設(shè)計(jì)”、“太陽(yáng)能自動(dòng)跟蹤器設(shè)計(jì)”、“數(shù)字溫度表”、“數(shù)控電源”、“遙控小車(chē)”、“防嘯叫話筒”、“智能LED照明”等多個(gè)項(xiàng)目。在這個(gè)實(shí)踐過(guò)程中,鍛煉了學(xué)生使用匯編語(yǔ)言與硬件結(jié)合的能力,加深理解了匯編語(yǔ)言在控制系統(tǒng)中的作用,培養(yǎng)了學(xué)生的創(chuàng)新能力。
5總結(jié)
“匯編語(yǔ)言程序設(shè)計(jì)”是我國(guó)高等學(xué)校計(jì)算機(jī)各專(zhuān)業(yè)必修的一門(mén)主干課程,對(duì)于訓(xùn)練學(xué)生掌握程序設(shè)計(jì)方法與技術(shù),從事自主版權(quán)計(jì)算機(jī)芯片設(shè)計(jì)和系統(tǒng)軟件的開(kāi)發(fā),以及在信息安全、過(guò)程控制等多方面的應(yīng)用,均具有十分重要的作用。由于“匯編語(yǔ)言程序設(shè)計(jì)”課程自身的特點(diǎn),學(xué)生在學(xué)習(xí)的過(guò)程中總會(huì)遇到這樣或那樣的問(wèn)題。我們?cè)诮虒W(xué)過(guò)程中積極主動(dòng)總結(jié),認(rèn)真分析學(xué)生遇到問(wèn)題的根本原因,及時(shí)幫助學(xué)生對(duì)問(wèn)題逐一加以解決。
從我們長(zhǎng)期從事“匯編語(yǔ)言程序設(shè)計(jì)”的教學(xué)經(jīng)驗(yàn)來(lái)看,教師要善于采用多種方法及手段,發(fā)掘?qū)W生渴望新知識(shí)、接受能力強(qiáng)的潛能,讓學(xué)生從了解匯編語(yǔ)言的重要性入手,培養(yǎng)學(xué)生的興趣,進(jìn)而幫助學(xué)生形成系統(tǒng)的知識(shí)結(jié)構(gòu),并在教學(xué)中靈活運(yùn)用多種教學(xué)手段,最終通過(guò)實(shí)踐教學(xué),使學(xué)生達(dá)到熟練掌握“匯編語(yǔ)言程序設(shè)計(jì)”的目的。
參考文獻(xiàn):
[1] 王正智. 8086/8088宏匯編語(yǔ)言程序設(shè)計(jì)教程[M]. 北京:電子工業(yè)出版社,2002.
[2] 沈美明. IBM-PC匯編語(yǔ)言程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2001.
[3] 殷肖川. 匯編語(yǔ)言程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005.
[4] Peter Abel. IBM PC匯編語(yǔ)言程序設(shè)計(jì)(影印)[M]. 北京:清華大學(xué)出版社,2006.
[5] Mazidi, Muhammad Ali. 80x86 IBM PC及兼容計(jì)算機(jī)(卷1和2),匯編語(yǔ)言、設(shè)計(jì)與接口技術(shù)(影印)[M]. 北京:清華大學(xué)出版社,2004.
[6] 張英彥. 更新知識(shí)觀念改革高校教學(xué)[J]. 中國(guó)高教研究,2006(2):70-71.
篇3
關(guān)鍵詞:匯編語(yǔ)言程序設(shè)計(jì);實(shí)驗(yàn);教學(xué)改革
中圖分類(lèi)號(hào):G64 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1672-5913(2007)01-0034-04
在傳統(tǒng)教學(xué)模式中,理論教學(xué) (或者說(shuō)是課堂教學(xué)) 與實(shí)驗(yàn)教學(xué)是區(qū)別對(duì)待的,后者通常用來(lái)“輔助”前者 (例如實(shí)驗(yàn)教材歷來(lái)被認(rèn)為是輔助教材) ,學(xué)生通過(guò)實(shí)驗(yàn)教學(xué)環(huán)節(jié)來(lái)“驗(yàn)證”理論教學(xué)的內(nèi)容。但是,在大眾化高等教育的背景下,課堂教學(xué)的效果普遍出現(xiàn)滑坡,導(dǎo)致淡化了“驗(yàn)證性”實(shí)驗(yàn)的基礎(chǔ),因而嚴(yán)重地影響了課程的教學(xué)質(zhì)量。
近年來(lái),我們?cè)诙嚅T(mén)計(jì)算機(jī)課程的教學(xué)實(shí)踐中,摸索出一套“把實(shí)驗(yàn)實(shí)踐環(huán)節(jié)與理論教學(xué)相融合,抓實(shí)驗(yàn)實(shí)踐教學(xué)促進(jìn)學(xué)科理論知識(shí)學(xué)習(xí)”的教學(xué)方法,有效地提高了學(xué)生的學(xué)習(xí)興趣,以此提高了大眾化高等教育背景下計(jì)算機(jī)專(zhuān)業(yè)課程的教學(xué)效果和教學(xué)質(zhì)量。本文中,我們結(jié)合“匯編語(yǔ)言程序設(shè)計(jì)”課程的實(shí)驗(yàn)創(chuàng)新,來(lái)探討新的教育形勢(shì)下計(jì)算機(jī)課程教學(xué)方法的改革。
1匯編語(yǔ)言及其教學(xué)的現(xiàn)狀
計(jì)算機(jī)中真正可以處理的只是由“0”和“1”組成的二進(jìn)制代碼,這種指令代碼易出錯(cuò)且不易修改。于是,人們發(fā)明了“指令的助記符”,用幾個(gè)字母 (往往就是其含義的英文單詞或縮寫(xiě)) 來(lái)代替某條指令,如加法用ADD表示,減法用SUB表示等,這種符號(hào)系統(tǒng)最終擴(kuò)大形成了匯編語(yǔ)言。匯編語(yǔ)言就是機(jī)器語(yǔ)言的一種可以被人讀懂的形式,只不過(guò)它更容易記憶。使用匯編語(yǔ)言編程,優(yōu)點(diǎn)是運(yùn)行效率高,可直接對(duì)硬件內(nèi)部進(jìn)行控制,缺點(diǎn)是使用者需要對(duì)硬件有更深入的了解,編程效率不高,并且匯編語(yǔ)言與機(jī)器的體系結(jié)構(gòu)有一定的依賴關(guān)系,每種計(jì)算機(jī)都有自己的匯編語(yǔ)言,使用極不方便。
匯編語(yǔ)言易學(xué)卻很難真正掌握,編寫(xiě)快速、高效,并且能夠讓計(jì)算機(jī)處理器“舒服地執(zhí)行”的匯編語(yǔ)言程序是一件很困難的事情。由于教師開(kāi)展教學(xué)困難,學(xué)生學(xué)習(xí)和掌握困難,教學(xué)效果很差,以至于不少學(xué)校甚至取消了這門(mén)課程。
盡管與發(fā)展初期相比,計(jì)算機(jī)開(kāi)發(fā)和應(yīng)用技術(shù)已經(jīng)有了根本性的變化,我們有了各種高級(jí)語(yǔ)言、我們有了網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)的許多編程工具,很多程序甚至可以自動(dòng)生成,但機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言的程序設(shè)計(jì)語(yǔ)言體系仍然是計(jì)算機(jī)技術(shù)的基礎(chǔ),也是計(jì)算機(jī)技術(shù)的重要知識(shí)體系之一。對(duì)于計(jì)算機(jī)及其相關(guān)專(zhuān)業(yè)的學(xué)生以及喜歡計(jì)算機(jī)的一般學(xué)生和讀者來(lái)說(shuō),匯編語(yǔ)言程序設(shè)計(jì)肯定是需要掌握的重要專(zhuān)業(yè)基礎(chǔ)知識(shí)之一。不能了解和熟悉匯編語(yǔ)言知識(shí)不僅將導(dǎo)致學(xué)生知識(shí)結(jié)構(gòu)的缺乏,也可能導(dǎo)致學(xué)生認(rèn)知水平的降低、開(kāi)發(fā)手段的貧乏。在一些應(yīng)用中,匯編語(yǔ)言甚至是其開(kāi)發(fā)工具的唯一選擇。
匯編語(yǔ)言是機(jī)器語(yǔ)言之外最接近計(jì)算機(jī)硬件的編程語(yǔ)言。由于它如此地接近計(jì)算機(jī)硬件,因此,它可以最大限度地發(fā)揮計(jì)算機(jī)硬件的性能。用匯編語(yǔ)言編寫(xiě)的程序的速度通常要比高級(jí)語(yǔ)言(例如C/C++),快很多倍,甚至成百上千倍。選擇匯編,意味著選擇性能而不是可移植或便于調(diào)試。在一些實(shí)際的應(yīng)用系統(tǒng)中,我們往往會(huì)用匯編徹底重寫(xiě)某些經(jīng)常調(diào)用的部分以期獲得更高的性能。應(yīng)用匯編也許不能提高程序的穩(wěn)定性,但至少它也不會(huì)降低穩(wěn)定性;與此同時(shí),它可以大大地提高程序的運(yùn)行速度。至少,匯編語(yǔ)言的知識(shí)可以告訴你一些有用的東西,比如,你有多少個(gè)寄存器可以使用。有時(shí),手工的優(yōu)化比編譯器的優(yōu)化更為有效,而且,你可以完全控制程序的實(shí)際行為。
“匯編語(yǔ)言程序設(shè)計(jì)”課程的任務(wù)是為“計(jì)算機(jī)原理”、“計(jì)算機(jī)接口技術(shù)”、“操作系統(tǒng)原理”等后繼課程提供必要的基礎(chǔ)知識(shí),它對(duì)訓(xùn)練學(xué)生掌握程序設(shè)計(jì)技術(shù)、熟悉上機(jī)操作和程序調(diào)試技術(shù)都有重要作用,為從事計(jì)算機(jī)的應(yīng)用開(kāi)發(fā)提供了強(qiáng)有力的編程工具。
通過(guò)學(xué)習(xí)匯編語(yǔ)言,學(xué)生可以了解到如何有效地設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),讓計(jì)算機(jī)處理得更快,并使用更少的存儲(chǔ)空間;同時(shí),學(xué)習(xí)匯編語(yǔ)言可以讓學(xué)生熟悉計(jì)算機(jī)內(nèi)部運(yùn)行機(jī)制,并有效地提高調(diào)試能力。經(jīng)驗(yàn)表明,調(diào)試一個(gè)非結(jié)構(gòu)化程序的困難程度,要比調(diào)試一個(gè)結(jié)構(gòu)化程序的難度高很多,因?yàn)椤敖Y(jié)構(gòu)化”是以犧牲運(yùn)行效率來(lái)提高可讀性與可調(diào)試性的,這對(duì)于完成一般軟件工程的編碼階段是非常必要的。然而,在一些地方,比如,硬件驅(qū)動(dòng)程序、操作系統(tǒng)底層,或者程序中經(jīng)常需要執(zhí)行的代碼,結(jié)構(gòu)化程序設(shè)計(jì)的這些優(yōu)點(diǎn)有時(shí)就會(huì)被它的低效率所抹煞。另外,如果你想真正地控制自己的程序,只知道源代碼級(jí)的調(diào)試是遠(yuǎn)遠(yuǎn)不夠的。
通常情況下,“匯編語(yǔ)言程序設(shè)計(jì)”課程的教師必須決定其課程是集中于問(wèn)題和理論,還是為學(xué)生提供一個(gè)能夠?qū)R編語(yǔ)言程序設(shè)計(jì)進(jìn)行實(shí)驗(yàn)的環(huán)境?!皡R編語(yǔ)言程序設(shè)計(jì)”課程本身具有的理論抽象性和鮮明的應(yīng)用性,決定了我們必須充分重視這門(mén)課程的實(shí)踐環(huán)節(jié)。
2教學(xué)內(nèi)容的分層次設(shè)計(jì)
教育部計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)教學(xué)指導(dǎo)分委員會(huì)在其的“中國(guó)計(jì)算機(jī)本科專(zhuān)業(yè)發(fā)展戰(zhàn)略研究報(bào)告”中指出:大多數(shù)院校都有比較完善的教學(xué)大綱、教學(xué)計(jì)劃和進(jìn)度表、教學(xué)檔案等,實(shí)踐著一套有效的管理規(guī)范。但同時(shí)教學(xué)內(nèi)容的研究則需要加強(qiáng)。報(bào)告進(jìn)一步指出:
1) 有些學(xué)校計(jì)算機(jī)專(zhuān)業(yè)的教學(xué)內(nèi)容設(shè)計(jì)存在明顯的盲目性,還有些學(xué)校在培養(yǎng)人才定位上有明顯偏差。盡管CC1991開(kāi)創(chuàng)了一種對(duì)計(jì)算機(jī)科學(xué)教育的創(chuàng)造性的、理性的思考,但它并不應(yīng)該成為我國(guó)所有大學(xué)計(jì)算機(jī)專(zhuān)業(yè)教學(xué)實(shí)踐所共同追求的目標(biāo)。
2) 作為一種比較普遍的規(guī)律或者現(xiàn)象,學(xué)生就業(yè)通常會(huì)有較強(qiáng)的地域性:一個(gè)企業(yè)通常在周邊地區(qū)招收較多員工,一個(gè)學(xué)校的畢業(yè)生大都就業(yè)在學(xué)校周邊地區(qū)的單位。因此,學(xué)校周邊地區(qū)社會(huì)發(fā)展的情況對(duì)計(jì)算機(jī)專(zhuān)業(yè)的教學(xué)內(nèi)容的設(shè)計(jì)應(yīng)該是很有參考意義的。
……
由于大多數(shù)大專(zhuān)院校一般都設(shè)置有計(jì)算機(jī)科學(xué)技術(shù)及其相關(guān)專(zhuān)業(yè),我們至少可以認(rèn)為:根據(jù)所在院校的辦學(xué)類(lèi)型不同、培養(yǎng)目標(biāo)不同、所在地及其周邊地區(qū)社會(huì)需求的不同,這些計(jì)算機(jī)專(zhuān)業(yè)的教學(xué)內(nèi)容應(yīng)該有所不同,這些計(jì)算機(jī)專(zhuān)業(yè)對(duì)于“匯編語(yǔ)言程序設(shè)計(jì)”這門(mén)課程的教學(xué)內(nèi)容也應(yīng)該是有所不同的。對(duì)于那些非研究型院校的相關(guān)專(zhuān)業(yè),對(duì)“匯編語(yǔ)言程序設(shè)計(jì)”的教學(xué)可以集中在適度的理論知識(shí)和充分的操作實(shí)踐上,通過(guò)實(shí)驗(yàn)與實(shí)踐,了解匯編語(yǔ)言程序設(shè)計(jì)的基本概念和知識(shí),激發(fā)對(duì)相關(guān)理論知識(shí)的學(xué)習(xí)興趣,理解和掌握匯編語(yǔ)言程序設(shè)計(jì)的基本方法。
匯編語(yǔ)言程序設(shè)計(jì)的應(yīng)用面廣,涉及技術(shù)領(lǐng)域?qū)挿?,要讓學(xué)生真正理解匯編語(yǔ)言程序設(shè)計(jì)的基礎(chǔ)理論知識(shí),具備將匯編語(yǔ)言技術(shù)應(yīng)用于社會(huì)實(shí)踐的能力,積極加強(qiáng)匯編語(yǔ)言程序設(shè)計(jì)課程的實(shí)驗(yàn)環(huán)節(jié)是至關(guān)重要的。
篇4
關(guān)鍵詞:匯編語(yǔ)言;C語(yǔ)言;混合編程
匯編語(yǔ)言的優(yōu)勢(shì)就是速度快,占用存儲(chǔ)空間不大,而且可以隨時(shí)控制硬件,這些優(yōu)點(diǎn)是其它的程序語(yǔ)言無(wú)法取代的。匯編語(yǔ)言也有不足之處,就是在高級(jí)程序的編寫(xiě)與調(diào)試時(shí)存在著較大的困難,特別是在處理一些數(shù)據(jù)或者一些混合運(yùn)算時(shí)顯得更加困難。
C語(yǔ)言,它的優(yōu)勢(shì)就是在于功能全面,表達(dá)形式多樣且靈活,開(kāi)發(fā)使用效率很高,具有其它高級(jí)語(yǔ)言無(wú)法具有的優(yōu)勢(shì)。通常在軟件開(kāi)發(fā)過(guò)程中,大部分程序采用高級(jí)語(yǔ)言編寫(xiě),以提高程序的開(kāi)發(fā)效率;但在要求執(zhí)行速度快、占用空間少或要求直接控制硬件的場(chǎng)合,則利用匯編語(yǔ)言編寫(xiě),以提高程序的運(yùn)行效率。
1.匯編語(yǔ)言和C語(yǔ)言混合編程的方法
C語(yǔ)言和匯編語(yǔ)言混合編程的具體方法有以下幾種。
2.1 參數(shù)傳遞
匯編語(yǔ)言程序和C語(yǔ)言程序在調(diào)用時(shí)會(huì)涉及到參數(shù)傳遞,一般采用堆棧進(jìn)行傳遞。在匯編語(yǔ)言中將BP作為基址寄存器,調(diào)用程序先將來(lái)自于C語(yǔ)言程序中的參數(shù)依次壓入堆棧中,然后當(dāng)需要使用這些參數(shù)時(shí),再用BP加上不同的偏移量依次對(duì)堆棧中的數(shù)據(jù)進(jìn)行存取操作。
2.2 調(diào)用關(guān)系的確定
對(duì)于將要涉及到調(diào)用的過(guò)程或函數(shù)需要事先說(shuō)明和建立調(diào)用與被調(diào)用關(guān)系。被調(diào)用的過(guò)程或函數(shù)應(yīng)預(yù)先說(shuō)明為外部類(lèi)型,以便被外部模塊引用,而調(diào)用程序也需要在程序中說(shuō)明將要引用的外部模塊的名稱(chēng)。在說(shuō)明調(diào)用關(guān)系時(shí)還應(yīng)根據(jù)不同的存儲(chǔ)模式確定相應(yīng)的匯編語(yǔ)言格式。C程序小模式對(duì)應(yīng)匯編程序的近類(lèi)型過(guò)程,而C程序大模式則對(duì)應(yīng)匯 編程序的遠(yuǎn)類(lèi)型過(guò)程。
總而言之,匯編語(yǔ)言和C語(yǔ)言的混合編程方法可以使匯編語(yǔ)言與C語(yǔ)言之間取長(zhǎng)補(bǔ)短,充分發(fā)揮各自優(yōu)勢(shì),相互交叉調(diào)用,進(jìn)行參數(shù)傳遞,共享數(shù)據(jù)信息和數(shù)據(jù)結(jié)構(gòu),使由此開(kāi)發(fā)的軟件更實(shí)用、更安全可靠,使開(kāi)發(fā)和編程工作達(dá)到事半功倍的效果。
參考文獻(xiàn):
[1] 羅南超,向昌成,李唐輝. 匯編語(yǔ)言實(shí)現(xiàn)多種進(jìn)制的通用輸入輸出[J]電腦知識(shí)與技術(shù), 2008,(36) .
[2] 崔衛(wèi)東. VC++與匯編語(yǔ)言混合編程的研究與實(shí)現(xiàn)[J]福建電腦, 2007,(05) .
[3] 宋金華. 匯編語(yǔ)言和C語(yǔ)言在圖形處理中的綜合應(yīng)用[J]湖北廣播電視大學(xué)學(xué)報(bào), 2010,(12) .
篇5
一、多層次多目標(biāo)的教學(xué)要求
過(guò)去,我國(guó)的普通高等教育基本上分為本科生教育與專(zhuān)科生教育兩個(gè)層次,對(duì)這兩個(gè)層次教育部有統(tǒng)一的標(biāo)準(zhǔn)和要求,各大學(xué)在貫徹實(shí)施過(guò)程中相對(duì)比較穩(wěn)定。改革開(kāi)放以來(lái),為盡快適應(yīng)新經(jīng)濟(jì)快速增長(zhǎng)對(duì)各類(lèi)高等專(zhuān)門(mén)技術(shù)人才的需求,從20世紀(jì)80年代初期開(kāi)始教育部先后升格了一批院校并批準(zhǔn)新成立了一批大專(zhuān)院校,特別是20世紀(jì)90年代各大學(xué)普遍擴(kuò)招后,我國(guó)的大專(zhuān)院校事實(shí)上已經(jīng)打破了兩個(gè)相對(duì)穩(wěn)定層次的格局而形成多層次教育的局面,本科院校中新學(xué)院新專(zhuān)業(yè)建設(shè)及專(zhuān)科層次的職業(yè)技術(shù)教育,專(zhuān)科院校中本科層次的教育和職業(yè)技術(shù)教育,中等專(zhuān)業(yè)技術(shù)學(xué)校中的高等職業(yè)技術(shù)教育等等,同一專(zhuān)業(yè)的教學(xué)起點(diǎn)教學(xué)大綱教學(xué)計(jì)劃相去甚遠(yuǎn),教學(xué)目標(biāo)和要求事實(shí)上也很不一致,課程合并,教材改革,雖然確實(shí)涌現(xiàn)出許多優(yōu)秀品牌“精品課程”和“規(guī)劃教材”,但眾多的“精品課程”和“規(guī)劃教材”也是千差萬(wàn)別,更加加劇了培養(yǎng)目標(biāo)的多樣化。
形成這樣一種多層次多目標(biāo)的教學(xué)形勢(shì)對(duì)不對(duì),好不好呢?不少人對(duì)此頗具微詞。筆者認(rèn)為這種教學(xué)勢(shì)態(tài)的形成其實(shí)是很正常的,教育永遠(yuǎn)是服務(wù)于經(jīng)濟(jì)建設(shè)需要的,這種教學(xué)勢(shì)態(tài)的形成正好說(shuō)明了這一點(diǎn)。經(jīng)濟(jì)建設(shè)需要多層次多能力多類(lèi)型的人才,教學(xué)部門(mén)就要培養(yǎng)出各種層次各種類(lèi)型各種能力的人才,市場(chǎng)細(xì)分之后,人才也需要細(xì)分,專(zhuān)業(yè)也需要細(xì)分,培養(yǎng)的“寬基礎(chǔ)”“萬(wàn)金油”“什么都能干什么都干不好”的人才漸失市場(chǎng)之后,一定要有新的“專(zhuān)門(mén)化”“專(zhuān)業(yè)化”“與企業(yè)零接軌”的人才培養(yǎng)方式。這就是目前多層次多目標(biāo)教育的現(xiàn)實(shí)情況,任何教育觀念和教育方法都不能脫離開(kāi)這一現(xiàn)實(shí)。
二、“學(xué)用互動(dòng),實(shí)踐為先”的教育觀念和教學(xué)方法
當(dāng)我國(guó)的普通高等教育從傳統(tǒng)單一的教學(xué)模式走向多層次多目標(biāo)培養(yǎng)方式后,教學(xué)對(duì)象中出現(xiàn)了一大批以職業(yè)技能訓(xùn)練為主直接面向企業(yè)一線的高職學(xué)生,這些學(xué)生的共同特點(diǎn)是基礎(chǔ)理論知識(shí)不扎實(shí),在中學(xué)沒(méi)有養(yǎng)成良好的學(xué)習(xí)習(xí)慣,課堂上自控能力較差,注意力分散,但他們普遍身體素質(zhì)較好,思維活躍,善于交流,上大學(xué)后有一種時(shí)間緊迫感,希望將過(guò)去失去的補(bǔ)回來(lái),學(xué)習(xí)熱情與積極性非常高。對(duì)于這部分學(xué)生,若仍然按照傳統(tǒng)的教學(xué)模式先理論后實(shí)驗(yàn)按章就節(jié)地進(jìn)行教學(xué),筆者發(fā)現(xiàn)很難保證大多數(shù)同學(xué)正常完成教學(xué)計(jì)劃,而且很容易造成班里同學(xué)兩極分化。少數(shù)學(xué)習(xí)較好的同學(xué)總感到課程內(nèi)容不夠?qū)W,而大多數(shù)同學(xué)則感到較為吃力。首先對(duì)理論教學(xué)感到仿佛又回到從前一樣,其次對(duì)單調(diào)的純驗(yàn)證性質(zhì)的實(shí)驗(yàn)無(wú)論做出或做不出都不是積極主動(dòng)地想方設(shè)法完成,而是像抄作業(yè)一樣敷衍了事,久而久之失去學(xué)習(xí)興趣,導(dǎo)致人生坐標(biāo)的盲然,不能有效地利用大學(xué)這一段人生經(jīng)歷中最為寶貴的時(shí)光。針對(duì)這一大類(lèi)學(xué)生的實(shí)際情況,什么樣的教學(xué)方法才能將他們的學(xué)習(xí)熱情調(diào)動(dòng)起來(lái)?
筆者嘗試過(guò)許多方法,如采用案例教學(xué)法由淺入深地講解難點(diǎn)重點(diǎn)課,調(diào)整授課課序、刪繁就簡(jiǎn)講解理論核心課,整合零散實(shí)驗(yàn)為項(xiàng)目實(shí)驗(yàn)提高實(shí)驗(yàn)興趣,增加專(zhuān)用實(shí)驗(yàn)設(shè)備提高實(shí)驗(yàn)效率,雖然所有這些方法的應(yīng)用對(duì)課程的改進(jìn)都有所幫助,但效果平平,與改進(jìn)付出的代價(jià)相比,回報(bào)實(shí)在是太有限了!難道計(jì)算機(jī)課程的教學(xué)只能如此嗎?有沒(méi)有更好的解決這一問(wèn)題的方法?怎樣才能改變被動(dòng)教學(xué)為主動(dòng)教學(xué)?回到經(jīng)典的教學(xué)理論中尋求答案:學(xué)習(xí)過(guò)程中,學(xué)生是主體,教師是主導(dǎo),只有把學(xué)生的主動(dòng)性調(diào)動(dòng)起來(lái),教師才能起到導(dǎo)的作用,因此必須想盡一切辦法調(diào)動(dòng)學(xué)生的積極性。筆者分析學(xué)生不主動(dòng)的原因主要是直接看不到課程內(nèi)容的用途,實(shí)驗(yàn)課程中的成就感不強(qiáng)。如何增強(qiáng)這兩方面的意識(shí)呢?筆者想到了產(chǎn)品。并在普遍認(rèn)為“學(xué)生難學(xué),教師難教”的“匯編語(yǔ)言程序設(shè)計(jì)”課程中進(jìn)行試驗(yàn),結(jié)果獲得了意想不到的效果,真有“柳岸花明又一村”的感覺(jué)。筆者將這種方法總結(jié)為“學(xué)用互動(dòng),實(shí)踐為先”的教育觀念和“實(shí)踐理論實(shí)驗(yàn)實(shí)踐理論實(shí)驗(yàn)……”的教學(xué)模式。所謂學(xué)用互動(dòng),就是邊學(xué)邊用,學(xué)點(diǎn)用點(diǎn);所謂實(shí)踐為先,就是先進(jìn)行操作實(shí)踐,籍以建立問(wèn)題,再通過(guò)理論課與實(shí)驗(yàn)課理解和解決問(wèn)題,在整個(gè)教學(xué)環(huán)節(jié)中,增加了實(shí)踐課的教學(xué)。那么什么是實(shí)踐課呢?實(shí)踐課與實(shí)驗(yàn)課有何區(qū)別?實(shí)踐課能否代替實(shí)驗(yàn)課?增加實(shí)踐課后給教學(xué)帶來(lái)了哪些新問(wèn)題?如何處理這些新問(wèn)題?下面是筆者的一些體會(huì)和認(rèn)識(shí)。
在“實(shí)踐理論實(shí)驗(yàn)實(shí)踐理論實(shí)驗(yàn)……”的教學(xué)模式中,實(shí)踐課開(kāi)在理論課與實(shí)驗(yàn)課之前,特別是第一節(jié)課,學(xué)生在對(duì)課程一無(wú)所知的情況下實(shí)踐什么。這實(shí)際上就是如何理解實(shí)踐課的問(wèn)題。在開(kāi)實(shí)踐課之前,教師必須精心策劃實(shí)踐課的內(nèi)容,實(shí)踐就是實(shí)例操作,就是實(shí)際應(yīng)用,這種操作首先是與待講課程內(nèi)容緊密相關(guān),其次是操作應(yīng)該簡(jiǎn)單易行,再就是操作確能激發(fā)學(xué)生興趣。對(duì)于計(jì)算機(jī)類(lèi)課程,任何半成品都不能完成正常的操作功能,而太復(fù)雜的成品對(duì)教學(xué)也不合適,選擇合適教學(xué)的產(chǎn)品是非常重要的。經(jīng)過(guò)一個(gè)學(xué)期的學(xué)習(xí),學(xué)生能夠在不斷的實(shí)踐課程中反復(fù)操作、應(yīng)用、模仿、制造、創(chuàng)新出一個(gè)力所能及的計(jì)算機(jī)產(chǎn)品,這就是實(shí)踐課的主要內(nèi)容和任務(wù)。
實(shí)踐課與實(shí)驗(yàn)課的區(qū)別何在?眾所周知,實(shí)驗(yàn)課是“驗(yàn)證”性質(zhì)的,通過(guò)重復(fù)操作事先設(shè)計(jì)好的一個(gè)有序步驟,驗(yàn)證課堂所講內(nèi)容的正確性,非常致命的是這種驗(yàn)證往往是片斷性質(zhì)的,無(wú)論教師還是學(xué)生要將所有的片斷有機(jī)組成一個(gè)整體的概念其實(shí)真不是件容易的事。另外,實(shí)驗(yàn)僅需要部分與課程本身相關(guān)的知識(shí),而實(shí)踐需要的是更加廣泛的知識(shí),實(shí)驗(yàn)的結(jié)果是單一的,單一的結(jié)果能提高學(xué)生的學(xué)習(xí)興趣嗎?實(shí)踐的結(jié)果是多變的,夾雜著同學(xué)之間與教師之間相同的和不同的理解。實(shí)驗(yàn)課一般不含產(chǎn)品設(shè)計(jì)、產(chǎn)品制造的概念,因而仍然與實(shí)際應(yīng)用脫離較遠(yuǎn),實(shí)踐課通過(guò)模仿與創(chuàng)新努力制造一個(gè)產(chǎn)品,直接應(yīng)用于實(shí)際。
實(shí)踐課能否代替實(shí)驗(yàn)課?不能。實(shí)驗(yàn)課緊密聯(lián)系本課程本單元的教學(xué)內(nèi)容,經(jīng)過(guò)精心設(shè)計(jì)的實(shí)驗(yàn)課程,易于學(xué)生在短時(shí)間內(nèi)對(duì)所學(xué)知識(shí)點(diǎn)進(jìn)行驗(yàn)證,缺點(diǎn)是知識(shí)點(diǎn)孤立,不易與相關(guān)知識(shí)點(diǎn)發(fā)生聯(lián)系,而孤立的知識(shí)點(diǎn)很難完善地與實(shí)際情況聯(lián)系起來(lái),造成理論脫離實(shí)際的尷尬教學(xué)局面,因而“教者難教,空洞無(wú)物”,“學(xué)者難學(xué),不知用處”。用實(shí)踐課的方法來(lái)彌補(bǔ)實(shí)驗(yàn)課的這一缺陷,使教者有實(shí)例,學(xué)者直接看到知識(shí)點(diǎn)的用途,就會(huì)營(yíng)造出“教者并非是從書(shū)本到書(shū)本,而是直接從書(shū)本到實(shí)際”,“學(xué)者并非是簡(jiǎn)單的完成作業(yè),而是要聯(lián)系實(shí)際解決問(wèn)題”的生動(dòng)活潑的教學(xué)氣氛。學(xué)者主動(dòng)了,自然就會(huì)“教者易教,學(xué)者易學(xué)”了,而這正好解決了我們目前教學(xué)中存在的問(wèn)題。
增加實(shí)踐課后帶來(lái)的問(wèn)題:實(shí)踐、講授與實(shí)驗(yàn)課時(shí)比例如何分配?教學(xué)課時(shí)是否需要增加?與本課程相關(guān)的前驅(qū)課程和后繼課程有何變化?實(shí)踐課中輔助知識(shí)點(diǎn)怎么提供?課程整個(gè)進(jìn)程中實(shí)例怎么安排?諸如此類(lèi)的問(wèn)題還有許多,但最關(guān)鍵的還是要具體課程具體對(duì)象具體分析。一般來(lái)說(shuō),基礎(chǔ)課不需要安排實(shí)踐課,專(zhuān)業(yè)基礎(chǔ)課可少量安排一些實(shí)踐課,專(zhuān)業(yè)課則應(yīng)該有比較多的實(shí)踐課。教學(xué)課時(shí)應(yīng)該作調(diào)整,但總課時(shí)不會(huì)增加。前驅(qū)與后繼課程基本上不需要變動(dòng),重復(fù)的實(shí)踐課程要有深度變化。輔助知識(shí)點(diǎn)有些是已經(jīng)學(xué)過(guò)的,有些是待學(xué)的,有些是在校期間不可能在課程中學(xué)到的,它們主要由輔導(dǎo)教師提供給學(xué)生,同時(shí)也鼓勵(lì)學(xué)生自己通過(guò)資料解決。提供的實(shí)例不能偏離課程太遠(yuǎn),不能太難太大,實(shí)例可以是一個(gè),也可以是多個(gè),可以是從頭到尾完成一個(gè)完整的產(chǎn)品,也可以是做某個(gè)新產(chǎn)品的某一部分或一個(gè)環(huán)節(jié)。
三、在“匯編語(yǔ)言程序設(shè)計(jì)”課程中的運(yùn)用
在各門(mén)計(jì)算機(jī)課程中,“匯編語(yǔ)言程序設(shè)計(jì)”是最令所有的教師和學(xué)生頭疼的一門(mén)課程,為什么會(huì)這樣?我們分析主要有以下幾個(gè)原因。
1. 對(duì)“匯編語(yǔ)言程序設(shè)計(jì)”課程的難度認(rèn)識(shí)不足
在學(xué)習(xí)“匯編語(yǔ)言程序設(shè)計(jì)”課程之前,學(xué)生往往會(huì)憑借學(xué)習(xí)“C/C++高級(jí)語(yǔ)言程序設(shè)計(jì)”課程的經(jīng)驗(yàn)類(lèi)比“匯編語(yǔ)言程序設(shè)計(jì)”,誤以為重點(diǎn)在于掌握匯編指令功能與格式進(jìn)而用它們組合出典型的程序結(jié)構(gòu),部分同學(xué)甚至?xí)ふ液屠斫鈪R編“語(yǔ)句”,結(jié)果在課程一開(kāi)始接觸計(jì)算機(jī)原理的部分內(nèi)容時(shí)總是經(jīng)歷一段由漫不經(jīng)心到盲然無(wú)策的過(guò)程,之后剛進(jìn)入狀態(tài)又被接口驅(qū)動(dòng)打得昏昏沉沉,整個(gè)的學(xué)習(xí)過(guò)程亦常痛苦。殊不知“匯編語(yǔ)言程序設(shè)計(jì)”雖然也是“程序設(shè)計(jì)”,但與“高級(jí)語(yǔ)言程序設(shè)計(jì)”是完全不同的“程序設(shè)計(jì)”,其不同之處在于“高級(jí)語(yǔ)言程序設(shè)計(jì)”是真正獨(dú)立的語(yǔ)言,而“匯編語(yǔ)言程序設(shè)計(jì)”是非獨(dú)立語(yǔ)言,必須結(jié)合具體機(jī)型才有意義。也就是說(shuō),學(xué)習(xí)“高級(jí)語(yǔ)言程序設(shè)計(jì)”不學(xué)習(xí)計(jì)算機(jī)硬件結(jié)構(gòu)也可進(jìn)行,而學(xué)習(xí)“匯編語(yǔ)言程序設(shè)計(jì)”必須首先了解計(jì)算機(jī)硬件結(jié)構(gòu),而且不是一般性了解,對(duì)這一點(diǎn)認(rèn)識(shí)不足是直接導(dǎo)致“匯編語(yǔ)言程序設(shè)計(jì)”課程失敗的主要原因。
2. 開(kāi)課的課序有問(wèn)題
通常認(rèn)為學(xué)習(xí)“軟件”類(lèi)課程所需的基礎(chǔ)知識(shí)來(lái)源較為廣泛,而“硬件”類(lèi)課程所需的基礎(chǔ)知識(shí)則較專(zhuān)業(yè),因此大多數(shù)院校都將“匯編語(yǔ)言程序設(shè)計(jì)”課程作為“計(jì)算機(jī)原理”課程的前導(dǎo)課程,但事實(shí)上業(yè)內(nèi)人士都十分清楚這兩門(mén)課程彼此相依的親密關(guān)系,因此筆者在講述“匯編語(yǔ)言程序設(shè)計(jì)”課程相關(guān)計(jì)算機(jī)原理部分的知識(shí)時(shí)從不以夠用為度,而是盡力講到位,只有這樣,“匯編語(yǔ)言程序設(shè)計(jì)”課程才能順利進(jìn)行。
3. 教學(xué)方法需要改變
歷來(lái)的“匯編語(yǔ)言程序設(shè)計(jì)”課程采用“理論實(shí)驗(yàn)理論實(shí)驗(yàn)……”的教學(xué)模式,學(xué)生被動(dòng)地接受并片斷性地運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題,綜合運(yùn)用所掌握知識(shí)和技能分析解決問(wèn)題的能力得不到鍛煉,使課程陷入“就事論事”的尷尬局面,改變這種情況可采用各種辦法,改變現(xiàn)在的教學(xué)方法也是非常值得探討的辦法之一。
4. 實(shí)驗(yàn)條件
歷來(lái)的“匯編語(yǔ)言程序設(shè)計(jì)”課程均以80X86系列芯片作為核心硬件模型并以此模型進(jìn)行各種實(shí)驗(yàn)操作,這種實(shí)驗(yàn)條件存在幾個(gè)明顯的不足:實(shí)驗(yàn)項(xiàng)目確定,學(xué)生可發(fā)揮性受到制約;需要專(zhuān)門(mén)的實(shí)驗(yàn)室環(huán)境,限定了學(xué)生的實(shí)驗(yàn)時(shí)間;所有實(shí)驗(yàn)項(xiàng)目與實(shí)際應(yīng)用都偏離較遠(yuǎn),不利于培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力。無(wú)疑這種實(shí)驗(yàn)條件是需要改變的,但如何改變呢?
5. 學(xué)無(wú)所用,學(xué)生學(xué)習(xí)積極性不高
由于“匯編語(yǔ)言程序設(shè)計(jì)”課程中沒(méi)有頗具說(shuō)服力的實(shí)例擺在學(xué)生面前,因此“匯編語(yǔ)言是計(jì)算機(jī)技術(shù)的重要知識(shí)體系”、“匯編語(yǔ)言是快速、高效的程序設(shè)計(jì)語(yǔ)言”、“匯編語(yǔ)言是在實(shí)際工作中應(yīng)用極其廣泛的語(yǔ)言”等等說(shuō)教就成為不被學(xué)生認(rèn)可的空話,從而一開(kāi)始便抑制了學(xué)生學(xué)習(xí)“匯編語(yǔ)言程序設(shè)計(jì)”課程的積極性。
面對(duì)上述一些問(wèn)題,筆者在“匯編語(yǔ)言程序設(shè)計(jì)”課程教學(xué)中運(yùn)用了“實(shí)踐理論實(shí)驗(yàn)實(shí)踐理論實(shí)驗(yàn)……”的教學(xué)模式,采用凌陽(yáng)十六位單片機(jī)SPCE061A作為硬件實(shí)驗(yàn)?zāi)P?,精心組織了一學(xué)期的“匯編語(yǔ)言程序設(shè)計(jì)”實(shí)踐課程,結(jié)合以往的教學(xué)慣例,比較有效地調(diào)動(dòng)了學(xué)生學(xué)習(xí)“匯編”的興趣。筆者在實(shí)踐課中的具體做法是:
將一些有代表性的應(yīng)用匯編語(yǔ)言的產(chǎn)品和往屆生的作品通過(guò)參觀、講解、解剖、試玩等方法介紹給學(xué)生,如聲控玩具汽車(chē)、機(jī)器人、報(bào)時(shí)鐘、復(fù)讀機(jī)、電梯模型等,然后給學(xué)生提出課程的任務(wù)和要求,如必須獨(dú)立或合作完成一個(gè)作品,從開(kāi)始計(jì)劃到中間實(shí)施步驟到最后完成調(diào)試,之后學(xué)生的每一次實(shí)踐課都按既定計(jì)劃執(zhí)行,實(shí)踐課程中與匯編相關(guān)的問(wèn)題由學(xué)生通過(guò)課堂教學(xué)和實(shí)驗(yàn)課解決,輔助知識(shí)由任課教師和輔導(dǎo)教師幫助解決。借助于實(shí)踐課,解決了“匯編語(yǔ)言程序設(shè)計(jì)”課程中“軟”“硬”結(jié)合、條件不充分、學(xué)無(wú)興趣等諸多問(wèn)題,學(xué)習(xí)實(shí)效大大提高。
篇6
關(guān)鍵詞: C 語(yǔ)言;匯編語(yǔ)言;混合編程
中圖分類(lèi)號(hào):TP313 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2014)24-0231-02
0 引言
匯編語(yǔ)言是一種面向機(jī)器的語(yǔ)言,其優(yōu)點(diǎn)是運(yùn)行速度快,占用存儲(chǔ)空間小,可直接對(duì)硬件進(jìn)行控制。缺點(diǎn)是編寫(xiě)、調(diào)試?yán)щy、移植性差。C語(yǔ)言簡(jiǎn)潔、靈活、庫(kù)函數(shù)豐富、調(diào)試方便、移植性好,目前已被廣泛地應(yīng)用于系統(tǒng)軟件和應(yīng)用軟件的開(kāi)發(fā)中,為了發(fā)揮各自優(yōu)勢(shì),取長(zhǎng)補(bǔ)短,采用混合編程。大部分程序,如界面、人機(jī)接口(外殼程序)、數(shù)據(jù)處理等用C語(yǔ)言編寫(xiě),以提高程序的開(kāi)發(fā)效率。而某些程序,如需要縮短程序的運(yùn)行時(shí)間,或需要對(duì)硬件進(jìn)行直接操作,或需要利用操作系統(tǒng)的某些功能模塊,或頻繁使用的程序、或需要占用內(nèi)存空間少的程序(內(nèi)核程序),則用匯編編寫(xiě),以提高程序的運(yùn)行效率。
1 嵌入式匯編
嵌入式匯編也稱(chēng)行內(nèi)匯編,源程序中直接插入?yún)R編語(yǔ)句。匯編語(yǔ)句可直接訪問(wèn)C程序中定義的常量、變量、函數(shù)。不必考慮二者之間的接口,方便編程。
1.1 嵌入式匯編語(yǔ)句的格式
格式:asm操作碼 操作數(shù)[;或換行]
其中:操作數(shù)可以是匯編語(yǔ)句中的立即數(shù)、寄存器、表達(dá)式等還可以是C中的常量、變量、標(biāo)號(hào)等。分號(hào);是匯編語(yǔ)句結(jié)束符,并非注解,要用注解,用C的注解。如下例
所示。
1.2 匯編語(yǔ)句訪問(wèn)C的數(shù)據(jù)
嵌入的匯編語(yǔ)句可以訪問(wèn)C語(yǔ)言程序中的任何標(biāo)識(shí)符,包括變量、常量、標(biāo)號(hào)、函數(shù)名、寄存器變量、函數(shù)參數(shù)等。如下例所示。
1.3 匯編語(yǔ)言與C語(yǔ)言接口規(guī)則
1.4 編譯過(guò)程
命令行鍵入命令:TCC-B-Iinclude-Llib 文件名.c即可. TCC會(huì)自動(dòng)調(diào)用TASM.EXE和TLINK.EXE,并且TLINK.EXE能正確的找到需要的.obj和.lib文件,要保證TC目錄下存在TASM.EXE文件。如果單步編譯,可能會(huì)碰到很多的問(wèn)題,主要是TLINK.EXE不會(huì)自己去找.obj和.lib文件。該命令的功能是:.C編譯TCC.ASM匯編TASM.OBJ連接TLINK.EXE。
2 Turbo C模塊連接方式
C、匯編程序各自編程,各自編譯,然后連接在一起。
2.1 匯編語(yǔ)言與C語(yǔ)言接口規(guī)則
①命名約定:匯編的名字前加一個(gè)下劃線,C的名字前不加下劃線(編譯后內(nèi)部自動(dòng)加),以確保兩個(gè)模塊內(nèi)部名字一致。
3 結(jié)語(yǔ)
混合編程,主要涉及接口,匯編調(diào)C的函數(shù)、全局變量。C調(diào)匯編的函數(shù)、變量。本文對(duì)此做了淺述。
參考文獻(xiàn):
[1]譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)[M].清華大學(xué)出版社,2004.
篇7
關(guān)鍵詞:匯編語(yǔ)言;課程;教學(xué);學(xué)時(shí)
中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)22-5414-02
Focus on the Difficulty of the Assembly Language Teaching, and Improve the Teaching Effect
ZHANG You-wei, WANG Yong-hong, SI Bin-bin, MA Deng-wei
(Information Engineering University, Zhengzhou 450052, China)
Abstract: The assembly language is a very important major basic courses of computer science, but its closely combination with the hardware and the shortening of the teaching time, lead to some difficulties for teaching this course. This paper analyzes the reason for the difficulty of the course teaching, and also search for feasible ways to improve the teaching effectiveness.
Key words: assembly language; course; teaching effectiveness; teaching hours
“匯編語(yǔ)言”是計(jì)算機(jī)專(zhuān)業(yè)學(xué)員必修的一門(mén)專(zhuān)業(yè)基礎(chǔ)課程,對(duì)培養(yǎng)學(xué)員程序設(shè)計(jì)能力,理解計(jì)算機(jī)工作原理,從事底層軟件開(kāi)發(fā)和軟硬件結(jié)合的項(xiàng)目開(kāi)發(fā)均具有非常重要的應(yīng)用。但是,這門(mén)課程又是學(xué)員感到比較難學(xué)的一門(mén)課程,習(xí)慣了采用面向?qū)ο蠡蚪Y(jié)構(gòu)化程序設(shè)計(jì)思想的高級(jí)語(yǔ)言程序設(shè)計(jì)方法,對(duì)匯編語(yǔ)言這種偏“機(jī)器化”的低級(jí)語(yǔ)言編程方法,學(xué)員們一時(shí)難以理解和接受,再加上有較多的語(yǔ)法規(guī)則和指令尋址方式需要記憶,語(yǔ)言編程環(huán)境又不熟練,使得學(xué)員在一開(kāi)始學(xué)習(xí)時(shí)便陷入茫然狀態(tài)。因此,就本門(mén)課程如何提高教學(xué)質(zhì)量,增強(qiáng)教學(xué)效果,提高學(xué)員在一些底層軟件和軟硬結(jié)合方面的編程能力,是一個(gè)值得重視的問(wèn)題。該文結(jié)合作者過(guò)去幾年的教學(xué)實(shí)踐,就目前計(jì)算機(jī)專(zhuān)業(yè)匯編語(yǔ)言教學(xué)學(xué)時(shí)壓縮到了40學(xué)時(shí),我們總結(jié)了一些可行的、比較好的方法。
1匯編語(yǔ)言教學(xué)難點(diǎn)分析
1.1指令系統(tǒng)復(fù)雜
匯編語(yǔ)言的指令是用一些具有相應(yīng)含義的助記符來(lái)表達(dá)的,雖然有助于記憶,但是一般處理器的指令集少則幾十條多則上百條,所有這些指令要在幾節(jié)課內(nèi)全部講完,要求學(xué)員在這么短的時(shí)間內(nèi)準(zhǔn)確記憶這么多條指令幾乎是不可能的,更不用說(shuō)讓其理解了??扇绻噶钫莆盏貌粔蚝茫瑢W(xué)員對(duì)大部分指令都感到陌生,在進(jìn)行程序設(shè)計(jì)時(shí)就會(huì)感到無(wú)從下手,甚至讀程序時(shí)也會(huì)覺(jué)得“云里霧里”,不理解程序的含義。這就猶如寫(xiě)作文一樣,基本的語(yǔ)法不會(huì),造句不成型,豈能寫(xiě)出好的文章?
1.2教學(xué)時(shí)間縮短
計(jì)算機(jī)專(zhuān)業(yè)的課程更新速度快,隨著新知識(shí)的不斷涌入,不可避免要開(kāi)設(shè)一些新的課程。例如:幾年前我們計(jì)算機(jī)專(zhuān)業(yè)還沒(méi)有開(kāi)設(shè)Linux操作系統(tǒng)、嵌入式軟件開(kāi)發(fā),網(wǎng)絡(luò)新技術(shù)、Oralc數(shù)據(jù)庫(kù)等課程,現(xiàn)在則新增加了這些課程,需要安排相當(dāng)?shù)慕虒W(xué)學(xué)時(shí)。而對(duì)于一些象匯編語(yǔ)言這樣的基礎(chǔ)課程又不能丟掉,所以只能縮短課程教學(xué)學(xué)時(shí)。這使得教員只能講授前面章節(jié)中的硬件基礎(chǔ)和指令這些比較枯燥的內(nèi)容,而許多比較有意義并且能讓學(xué)員產(chǎn)生學(xué)習(xí)熱情的內(nèi)容被刪除了,比如:圖像顏色和動(dòng)畫(huà)程序設(shè)計(jì)的教學(xué)內(nèi)容。同時(shí)隨著實(shí)驗(yàn)學(xué)時(shí)的減少,造成學(xué)員往往只能做一些非?;A(chǔ)性的實(shí)驗(yàn),而一些能讓學(xué)員有“成就感”的實(shí)驗(yàn),如定時(shí)發(fā)聲、動(dòng)畫(huà)顯示等實(shí)驗(yàn)已經(jīng)沒(méi)有時(shí)間安排了。這些均造成學(xué)員覺(jué)得這門(mén)課枯燥難學(xué),沒(méi)有耐性和興趣學(xué)習(xí),更不知道學(xué)了這門(mén)語(yǔ)言能干什么。
1.3學(xué)員基礎(chǔ)薄弱
我們?cè)诮虒W(xué)過(guò)程中,發(fā)現(xiàn)許多學(xué)員盡管學(xué)過(guò)C或C++,但是缺乏調(diào)試程序的基本能力,當(dāng)編譯或運(yùn)行過(guò)程中出現(xiàn)錯(cuò)誤時(shí)大多數(shù)學(xué)員只會(huì)對(duì)照已有的源代碼來(lái)查找錯(cuò)誤或請(qǐng)教員一起幫忙調(diào)試,不知道如何通過(guò)單步跟蹤和設(shè)置斷點(diǎn)來(lái)調(diào)試查找錯(cuò)誤。即使有些學(xué)員具備一些調(diào)試能力,他們的辦法也只是在必要的地方加一些輸出語(yǔ)句來(lái)觀察變量的值,不知道如何在調(diào)試環(huán)境中查看變量和內(nèi)存單元的值。因此,對(duì)于“更加復(fù)雜”(只是文本界面多些,用多了自然就熟悉了)的匯編調(diào)試環(huán)境,他們更加找不到解決問(wèn)題的辦法。再加上匯編語(yǔ)言的輸入和輸出需要用到中斷,不像高級(jí)語(yǔ)言那么方便就能輸出一個(gè)變量的值,學(xué)員對(duì)于在內(nèi)存當(dāng)中直接觀察變量的值還不適應(yīng),所以當(dāng)出現(xiàn)問(wèn)題時(shí),很少有學(xué)員能改正自己程序中的錯(cuò)誤。
1.4教學(xué)內(nèi)容陳舊
和大多數(shù)高校一樣,我們選用的教材是清華大學(xué)沈美明主編的《IBM-PC匯編語(yǔ)言程序設(shè)計(jì)》,該教材以8086指令系統(tǒng)為主來(lái)進(jìn)行介紹,實(shí)習(xí)實(shí)驗(yàn)環(huán)境主要還是DOS。然而這些教學(xué)和實(shí)驗(yàn)內(nèi)容與實(shí)際情況相距甚遠(yuǎn),我們知道不同的機(jī)器指令系統(tǒng)不同,而且隨著嵌入式處理器的廣泛應(yīng)用,用X86的指令系統(tǒng)編程的范圍越來(lái)越少,這使得學(xué)員在學(xué)完這門(mén)課后到實(shí)際編程環(huán)境中還要自學(xué)相關(guān)處理器的指令集,比如ARM、MIPS、PowerPC等。對(duì)于實(shí)驗(yàn)環(huán)境的選擇,大多數(shù)還是在DOS環(huán)境,由于現(xiàn)在的機(jī)器完全是Windows操作系統(tǒng),“圖形化”的編程界面,學(xué)員普遍對(duì)DOS這種文本的編程、調(diào)試環(huán)境不熟悉,調(diào)試結(jié)果難以出現(xiàn),實(shí)驗(yàn)結(jié)果感覺(jué)很抽象,使得學(xué)員在學(xué)習(xí)過(guò)程中產(chǎn)生一些畏難情緒。
2提高教學(xué)效果的可行方法
2.1采用多媒體教學(xué)
如果有可能,最好采用能夠邊上課、邊實(shí)驗(yàn)、邊演示的多媒體教室,使用多媒體課件教學(xué)。通過(guò)文字圖像、聲音、動(dòng)畫(huà)來(lái)激發(fā)學(xué)員的學(xué)習(xí)熱情,增強(qiáng)教學(xué)效果。充分利用多媒體的功能,模擬程序指令的執(zhí)行過(guò)程,著重描繪教學(xué)重點(diǎn)和難點(diǎn)。我們可以在教室的機(jī)器上安裝調(diào)試環(huán)境,在上課過(guò)程中對(duì)一些簡(jiǎn)單指令執(zhí)行使用調(diào)試環(huán)境進(jìn)行演示,給學(xué)員一個(gè)了解“機(jī)器世界”的窗口,真正理解機(jī)器(CPU)對(duì)指令的執(zhí)行過(guò)程。這樣可以使學(xué)員快速入門(mén),對(duì)學(xué)習(xí)本課程建立初步的信心。
2.2精心選擇教材
教材是提高教學(xué)質(zhì)量的基礎(chǔ)和前提,是學(xué)員系統(tǒng)學(xué)習(xí)知識(shí)的依據(jù)。一本好教材對(duì)于培養(yǎng)學(xué)員自學(xué)能力和獨(dú)立思考能力起著積極的作用。學(xué)員可以依據(jù)教材理解課堂教學(xué)內(nèi)容,深入了解本學(xué)科各個(gè)領(lǐng)域的知識(shí)。對(duì)于清華大學(xué)的《IBM-PC匯編語(yǔ)言程序設(shè)計(jì)》這本教材,雖然它的內(nèi)容全面而且豐富,但是由于教學(xué)學(xué)時(shí)的減少,導(dǎo)致很多內(nèi)容特別是應(yīng)用方面的內(nèi)容無(wú)法講解,因此很多內(nèi)容只能作為自學(xué)內(nèi)容,在教學(xué)中我們發(fā)現(xiàn)一本教材如果有較多的內(nèi)容不講或者作為自學(xué)內(nèi)容,學(xué)員會(huì)“錯(cuò)誤地”認(rèn)為這門(mén)課不重要或太難學(xué)。所以我們建議更換教材,不再以8086指令系統(tǒng)為基礎(chǔ),考慮到嵌入式系統(tǒng)的發(fā)展趨勢(shì),可以加入一些RAM指令集、32位匯編和AT&T匯編的內(nèi)容,為后續(xù)的嵌入式系統(tǒng)及其其它相關(guān)課程打下一些基礎(chǔ)。
2.3優(yōu)化教學(xué)內(nèi)容
目前,這門(mén)課程主要的教學(xué)內(nèi)容有:基本知識(shí)(數(shù)、計(jì)算機(jī)組織),編程工具(指令系統(tǒng)、尋址方式),編程方法(三種結(jié)構(gòu)、過(guò)程)和應(yīng)用(發(fā)聲、圖形程序設(shè)計(jì))。由于學(xué)時(shí)數(shù)的減少,我們建議壓縮或取消發(fā)聲、圖形程序設(shè)計(jì)這部分的內(nèi)容,如果教員覺(jué)得非常必要講,可以安排在課程設(shè)計(jì)部分(不占課程教學(xué)學(xué)時(shí))。另外鑒于目前網(wǎng)絡(luò)安全、網(wǎng)絡(luò)病毒泛濫的嚴(yán)峻形式,建議在應(yīng)用部分教學(xué)中適當(dāng)增加病毒程序設(shè)計(jì)的內(nèi)容。對(duì)于前三部分的內(nèi)容也可根據(jù)實(shí)際情況進(jìn)行適當(dāng)壓縮。與此同時(shí),匯編語(yǔ)言是作為嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用和嵌入式系統(tǒng)課程設(shè)計(jì)的專(zhuān)業(yè)基礎(chǔ)課,結(jié)合計(jì)算機(jī)專(zhuān)業(yè)課程設(shè)置,建議在最后余留四到六學(xué)時(shí)的時(shí)間介紹一下ARM指令系統(tǒng),將x86指令系統(tǒng)和ARM指令系統(tǒng)進(jìn)行對(duì)比學(xué)習(xí),為后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。
2.4注重教學(xué)實(shí)踐
匯編語(yǔ)言課程一般安排在大三的第一學(xué)期開(kāi)始,40學(xué)時(shí)的課程在學(xué)期前半程就結(jié)束了。雖然學(xué)時(shí)數(shù)縮短了,我們還是不能忽略本門(mén)課程的實(shí)踐這一重要的環(huán)節(jié)。因?yàn)閷W(xué)習(xí)一門(mén)語(yǔ)言課,其最直接的目的是用它去編寫(xiě)程序。因此,建議在課程結(jié)束后,利用后半學(xué)期業(yè)余時(shí)間給學(xué)員安排課程設(shè)計(jì),到學(xué)期末結(jié)束并驗(yàn)收結(jié)果。對(duì)課程設(shè)計(jì)的要求不能太高,我們可以先提供給學(xué)員一些案例的源代碼,比如:經(jīng)典病毒、月下情人動(dòng)畫(huà)、產(chǎn)生隨機(jī)數(shù)、簡(jiǎn)單學(xué)員成績(jī)管理系統(tǒng)、卡通小鬧鐘、文本編輯器等匯編源代碼。一方面先要求學(xué)員選擇一個(gè)案例詳細(xì)分析,給出詳細(xì)的注釋、程序設(shè)計(jì)流程、體系結(jié)構(gòu)等;然后在理解、掌握的基礎(chǔ)上,再對(duì)本案例進(jìn)行修改設(shè)計(jì)出一個(gè)新的小系統(tǒng)。這種做法既能提高學(xué)員的學(xué)習(xí)積極性,又能鍛煉其讀程序、編程序的能力,而且沒(méi)有占用教學(xué)學(xué)時(shí)。
2.5優(yōu)化考核方式
傳統(tǒng)的匯編語(yǔ)言課程考核方式主要是實(shí)行閉卷筆試,但是大多數(shù)學(xué)員在做編程題時(shí),普遍反映由于指令太多,要用的指令記不住,導(dǎo)致編程題做不出來(lái)。從近兩年的考試看,編程題得分高的學(xué)員很少。所以考試不能很好地反映出學(xué)員學(xué)習(xí)的好壞,特別是編程能力。因此建議考試形式采用:閉卷筆試50%+開(kāi)卷上機(jī)編程20%+課程設(shè)計(jì)30%。這是因?yàn)閰R編語(yǔ)言的一些基本知識(shí)還是需要筆試來(lái)考查:比如尋址方式,邏輯地址,物理地址等;上機(jī)考試可以出一些比較簡(jiǎn)單而有代表性的題目,估計(jì)大多數(shù)學(xué)員在給定的時(shí)間內(nèi)可以做完,這樣學(xué)員不用暫時(shí)去背太多的指令(當(dāng)然如果用多了就不用背了),又可以測(cè)試他們現(xiàn)場(chǎng)調(diào)試程序的能力;由于上機(jī)考試時(shí)間的限制,只能出一些簡(jiǎn)單的編程題目,不能完全體現(xiàn)學(xué)員對(duì)知識(shí)的綜合運(yùn)用能力,所以要通過(guò)課程設(shè)計(jì)來(lái)補(bǔ)充考核這方面能力,當(dāng)然時(shí)間可以延長(zhǎng)到學(xué)期末。
3結(jié)束語(yǔ)
壓縮學(xué)時(shí)后的匯編語(yǔ)言課程教學(xué),不能只注重完成理論教學(xué)內(nèi)容,而忽視對(duì)學(xué)員編程能力的培養(yǎng)。教學(xué)過(guò)程中不僅要理論聯(lián)系實(shí)際,還要注重形象性、生動(dòng)性和趣味性,幫助學(xué)員理解,培養(yǎng)他們的興趣,提高教學(xué)效果。要在現(xiàn)有的資源和條件下,盡可能地挖掘教員和學(xué)員的潛能,把匯編語(yǔ)言課程教與學(xué)做得更好。
參考文獻(xiàn):
篇8
關(guān)鍵詞:C語(yǔ)言;高職;單片機(jī)
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
“C語(yǔ)言程序設(shè)計(jì)”是高職高專(zhuān)電子專(zhuān)業(yè)的專(zhuān)業(yè)必修課。傳統(tǒng)教學(xué)以理論為主,以學(xué)科本位的邏輯體系來(lái)設(shè)計(jì)課程的教學(xué)內(nèi)容。課程內(nèi)容沒(méi)有與高職電子專(zhuān)業(yè)的其他課程有機(jī)銜接,不符合高職高專(zhuān)技能培養(yǎng)的特點(diǎn)。學(xué)生在學(xué)習(xí)C語(yǔ)言之后,不能用之有效地解決實(shí)際問(wèn)題,學(xué)生的學(xué)習(xí)積極性難以調(diào)動(dòng),因此有必要對(duì)該課程進(jìn)行改革。
1 現(xiàn)狀分析
目前高等學(xué)校都把“C語(yǔ)言程序設(shè)計(jì)”作為理工科非計(jì)算機(jī)專(zhuān)業(yè)的計(jì)算機(jī)基礎(chǔ)教育課程,屬于計(jì)算機(jī)基礎(chǔ)教育課程的一部分。但課程設(shè)置并沒(méi)有考慮與其他專(zhuān)業(yè)課程之間的關(guān)系,沒(méi)有針對(duì)高職應(yīng)用電子技術(shù)的專(zhuān)業(yè)特點(diǎn),成了非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的“計(jì)算機(jī)通識(shí)教育”課程。
雖然許多學(xué)校對(duì)“C語(yǔ)言程序設(shè)計(jì)”課程從教學(xué)內(nèi)容、教學(xué)手段、教學(xué)方法等方面進(jìn)行了大膽的改革,把邏輯與編程解題思路(算法)放在主體地位,講解如何分析問(wèn)題和解決問(wèn)題;但是受“在學(xué)校里牢固掌握基礎(chǔ)知識(shí),畢業(yè)后在實(shí)踐中積累經(jīng)驗(yàn)”這種傳統(tǒng)的教學(xué)理念的影響,把培養(yǎng)學(xué)生閱讀程序、設(shè)計(jì)程序的能力,分析問(wèn)題、、解決問(wèn)題的能力和邏輯思維能力作為教學(xué)目標(biāo)。課堂上學(xué)到的也只是用C語(yǔ)言解決一些數(shù)學(xué)問(wèn)題,所學(xué)內(nèi)容和實(shí)際應(yīng)用相脫節(jié),認(rèn)識(shí)不到“C語(yǔ)言程序設(shè)計(jì)”和自己專(zhuān)業(yè)之間的關(guān)系,學(xué)生在學(xué)習(xí)C語(yǔ)言之后,不能用C語(yǔ)言編寫(xiě)為本專(zhuān)業(yè)服務(wù)的應(yīng)用軟件。特別對(duì)高職高專(zhuān)電子專(zhuān)業(yè)學(xué)生來(lái)說(shuō),C語(yǔ)言的知識(shí)成了他們專(zhuān)業(yè)知識(shí)結(jié)構(gòu)中的一個(gè)“孤島”。
2 改革的必要性
C語(yǔ)言是影響深遠(yuǎn)的、傳統(tǒng)的、優(yōu)秀的面向過(guò)程的結(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ì)。既可以編寫(xiě)應(yīng)用軟件,又可以編寫(xiě)系統(tǒng)軟件。和匯編語(yǔ)言相比,C高級(jí)語(yǔ)言程序設(shè)計(jì)快、可讀性、可移植性和可維護(hù)性好。一般情況下,完成同樣的任務(wù),使用C高級(jí)語(yǔ)言比用匯編語(yǔ)言可提高工作效率5-10倍,在調(diào)試階段更容易體會(huì)到這一點(diǎn),因此C語(yǔ)言特別適合單片機(jī)的開(kāi)發(fā)。嵌入式系統(tǒng)中使用的嵌入式操作系統(tǒng)絕大部分也都是以C高級(jí)語(yǔ)言為基礎(chǔ)的,很多直接將源代碼提供給使用者。目前在單片機(jī)應(yīng)用領(lǐng)域,C高級(jí)語(yǔ)言越來(lái)越受到人們的重視。用C語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì)已經(jīng)成為單片機(jī)開(kāi)發(fā)的一個(gè)主流,是單片機(jī)開(kāi)發(fā)與應(yīng)用的必然趨勢(shì)。
單片機(jī)課程是應(yīng)用電子技術(shù)及相關(guān)專(zhuān)業(yè)的一門(mén)重要的專(zhuān)業(yè)主干課,在專(zhuān)業(yè)基礎(chǔ)課和其他專(zhuān)業(yè)課方面起著重要的橋梁作用。它涉及到的基礎(chǔ)理論知識(shí)較廣,應(yīng)用范圍廣,是一門(mén)實(shí)踐性、工程性很強(qiáng)的技術(shù)課程,在電子技術(shù)及相關(guān)專(zhuān)業(yè)課程中群中占有十分重要的地位。電子專(zhuān)業(yè)的學(xué)生普遍將單片機(jī)用于課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)和電子產(chǎn)品設(shè)計(jì)大賽等許多實(shí)踐環(huán)節(jié)。單片機(jī)應(yīng)用也是學(xué)生將來(lái)在電子類(lèi)公司或電子行業(yè)工作的最基本的技能?!皢纹瑱C(jī)原理與應(yīng)用”課程都是基于匯編語(yǔ)言的,高職高專(zhuān)學(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ù)專(zhuān)業(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)用電子專(zhuān)業(yè)的“C語(yǔ)言程序設(shè)計(jì)課程”應(yīng)不同于本科相應(yīng)專(zhuān)業(yè),也應(yīng)不同于高職其他專(zhuān)業(yè)。“C語(yǔ)言程序設(shè)計(jì)”課程的開(kāi)設(shè)應(yīng)緊扣本專(zhuān)業(yè)的特點(diǎn),為本專(zhuān)業(yè)的培養(yǎng)目標(biāo)服務(wù)。如果將“C語(yǔ)言程序設(shè)計(jì)”變成“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”,學(xué)生通過(guò)本課程的學(xué)習(xí)掌握單片機(jī)C語(yǔ)言程序設(shè)計(jì)方法,達(dá)到獨(dú)立利用C語(yǔ)言編寫(xiě)單片機(jī)應(yīng)用程序的目的。將C語(yǔ)言“知識(shí)孤島”和單片機(jī)“知識(shí)孤島”連接起來(lái),結(jié)合所學(xué)其他專(zhuān)業(yè)知識(shí),使學(xué)生學(xué)會(huì)應(yīng)用單片機(jī)開(kāi)發(fā)電子系統(tǒng)的基本方法。如果學(xué)生以后需要用C語(yǔ)言或其他高級(jí)語(yǔ)言開(kāi)發(fā)通用計(jì)算機(jī)系統(tǒng)的應(yīng)用軟件或系統(tǒng)軟件,有了“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”的基礎(chǔ),可以觸類(lèi)旁通,很容易掌握其他高級(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)用”課程之后開(kāi)設(shè),將“計(jì)算機(jī)基礎(chǔ)教育”課程變成“單片機(jī)開(kāi)發(fā)技能”課程。課程內(nèi)容適用于C高級(jí)語(yǔ)言的初學(xué)者,包括數(shù)據(jù)類(lèi)型、運(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)與高職高專(zhuān)學(xué)生的基礎(chǔ)相適應(yīng),算法不要過(guò)于復(fù)雜。單片機(jī)的C語(yǔ)言編程部分主要應(yīng)包括中斷、定時(shí)器/計(jì)數(shù)器、串行口、鍵盤(pán)和顯示等相關(guān)應(yīng)用,適當(dāng)包含少量可編程芯片的應(yīng)用。所選內(nèi)容應(yīng)體現(xiàn)先進(jìn)性、實(shí)用性和技能培養(yǎng)的特點(diǎn),拋棄一些過(guò)時(shí)或不實(shí)用的內(nèi)容,把提高學(xué)生的職業(yè)技能放在突出的重要位置。整門(mén)課程應(yīng)將單片機(jī)和C語(yǔ)言有機(jī)結(jié)合起來(lái),強(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 編譯開(kāi)發(fā)環(huán)境
以80C51系列為基礎(chǔ),開(kāi)發(fā)環(huán)境選擇德國(guó)KeilSoftware公司的Keil uVision集成開(kāi)發(fā)環(huán)境(當(dāng)前版本是uVision3)。這是一個(gè)基于Windows的開(kāi)發(fā)平臺(tái),集成了編輯器、項(xiàng)目管理器、Cx51編譯器、Ax51宏匯編器、BL51/Lx51連接定位器和調(diào)試器,用戶群極為龐大,符合教學(xué)特點(diǎn)的典型性。其中Cx51是專(zhuān)為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)試過(guò)程中顯示單片機(jī)寄存器、存儲(chǔ)器、局部變量和觀察點(diǎn)的狀態(tài)和輸入各種調(diào)試命令。Keil uVision的集成功能(Peripherals)菜單可以打開(kāi)中斷系統(tǒng)、I/O接口、串行口、定時(shí)器計(jì)數(shù)器等狀態(tài)窗口,通過(guò)這些狀態(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通過(guò)設(shè)置聯(lián)機(jī)調(diào)試單片機(jī)系統(tǒng),在PROTEUS中完成單片機(jī)系統(tǒng)的電路原理圖繪制后,在Keil uVision集成開(kāi)發(fā)環(huán)境中進(jìn)行程序設(shè)計(jì)、項(xiàng)目的創(chuàng)建、編譯鏈接和調(diào)試,同時(shí)可在PROTEUS查看直觀的結(jié)果(如鍵盤(pán)輸入和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é)生沒(méi)有高級(jí)語(yǔ)言程序設(shè)計(jì)的基礎(chǔ),在“單片機(jī)C語(yǔ)言程序設(shè)計(jì)”教學(xué)中要注意分散難點(diǎn),縮小臺(tái)階。在內(nèi)容體例的設(shè)計(jì)上以實(shí)用為主,拋棄過(guò)多的語(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í)踐中練就的,通過(guò)上機(jī)操作和驗(yàn)證可進(jìn)一步加深各種語(yǔ)句的理解,提高學(xué)生的編程能力。通過(guò)Keilu Vision與PROTEUS組成的聯(lián)機(jī)調(diào)試環(huán)境,熟練使用Keilu Vision和PROTEUS軟件對(duì)學(xué)生的深入學(xué)習(xí)有巨大的幫助。
篇9
摘 要:本文對(duì)計(jì)算機(jī)專(zhuān)業(yè)學(xué)生存在的專(zhuān)業(yè)課學(xué)習(xí)興趣低、自主學(xué)習(xí)能力弱以及工程能力不強(qiáng)等問(wèn)題,進(jìn)行了分析和思考。結(jié)合匯編語(yǔ)言程序設(shè)計(jì)課程教學(xué)的實(shí)踐體會(huì),探索如何引入工程案例改進(jìn)教學(xué)方法,激發(fā)學(xué)生專(zhuān)業(yè)學(xué)習(xí)的興趣,培養(yǎng)學(xué)生自主學(xué)習(xí)能力,逐步提升其工程能力。
關(guān)鍵詞:計(jì)算機(jī)專(zhuān)業(yè);工程案例教學(xué);工程能力;匯編語(yǔ)言程序設(shè)計(jì)
基金項(xiàng)目:重慶市教委(113014),地方高校計(jì)算機(jī)及其相關(guān)專(zhuān)業(yè)工程應(yīng)用型人才培養(yǎng)模式研究與實(shí)踐(2009006);重慶理工大學(xué)校級(jí)項(xiàng)目(2009006),結(jié)合工程認(rèn)證,創(chuàng)建新型的計(jì)算機(jī)專(zhuān)業(yè)教學(xué)體系。
作者簡(jiǎn)介:徐世軍,男,教授,碩士生導(dǎo)師,研究方向嵌入式技術(shù);范偉,男,副教授,研究方向?yàn)橛?jì)算機(jī)應(yīng)用與物聯(lián)網(wǎng);黃賢英,女,教授,碩士生導(dǎo)師,研究方向計(jì)算機(jī)應(yīng)用。
1 背景
計(jì)算機(jī)科學(xué)與應(yīng)用技術(shù)的發(fā)展是高新技術(shù)的主要標(biāo)志,如何跟上時(shí)代的發(fā)展和社會(huì)的需求是計(jì)算機(jī)專(zhuān)業(yè)教學(xué)所面臨的挑戰(zhàn)。教育部計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)在2004年的《關(guān)于計(jì)算機(jī)人才需求的調(diào)研報(bào)告》中指出:計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生仍處于應(yīng)試教育模式中,實(shí)踐課程少,動(dòng)手能力不強(qiáng),導(dǎo)致學(xué)生畢業(yè)后競(jìng)爭(zhēng)力不強(qiáng)。隨著近年來(lái)高校招生規(guī)模的擴(kuò)大,學(xué)生綜合素質(zhì)不斷下降;有些問(wèn)題顯得更加突出,如:學(xué)生普遍學(xué)習(xí)能力較弱、缺乏學(xué)習(xí)的熱情,部分學(xué)生對(duì)專(zhuān)業(yè)不感興趣,甚至厭學(xué)。
工科畢業(yè)生缺乏工程背景、動(dòng)手能力弱,被認(rèn)為是當(dāng)前大學(xué)教育的首要“弊病”。在擔(dān)任計(jì)算機(jī)專(zhuān)業(yè)教學(xué)工作之前,本人一直在企業(yè)從事工程設(shè)計(jì)和產(chǎn)品研發(fā)工作,這也使我有機(jī)會(huì)從社會(huì)需求和大學(xué)教學(xué)兩個(gè)不同的角度去觀察和思索一些問(wèn)題。從社會(huì)需求角度去觀察大學(xué)畢業(yè)生,你會(huì)發(fā)現(xiàn)他們大多存在自主學(xué)習(xí)能力差、專(zhuān)業(yè)知識(shí)面窄(甚至除專(zhuān)業(yè)書(shū)本外一無(wú)所知)、動(dòng)手能力差、思維僵化、方法能力和社會(huì)能力嚴(yán)重欠缺等不足。而高校教學(xué)的主要方法仍然是傳統(tǒng)的以理論知識(shí)灌輸為核心,力求學(xué)生能全面領(lǐng)會(huì)和掌握主要知識(shí)點(diǎn)。即使談到教學(xué)改革,很多學(xué)校的主要辦法還是把教學(xué)計(jì)劃排得更滿,讓學(xué)生學(xué)得更多、更細(xì)。從本質(zhì)上講,這仍然是應(yīng)試教育思維模式的一種延續(xù)[4]。
就計(jì)算機(jī)專(zhuān)業(yè)教材而言,多數(shù)是原理性、條款式、菜單型論述結(jié)構(gòu),內(nèi)容大都比較抽象和枯燥。若課程教學(xué)仍沿用以教師為中心、以理論灌輸為主、輕學(xué)生自主動(dòng)手參與的傳統(tǒng)教學(xué)模式,將很不利于激發(fā)學(xué)生的學(xué)習(xí)興趣、調(diào)動(dòng)其主動(dòng)學(xué)習(xí)的積極性,當(dāng)然更不談不上培養(yǎng)學(xué)生的工程能力。
引導(dǎo)其學(xué)習(xí)興趣、培養(yǎng)自主學(xué)習(xí)的能力從而提高教學(xué)效果,是教學(xué)改革的關(guān)鍵;如何采用更有效的課堂教學(xué)的形式,逐步培養(yǎng)其動(dòng)手能力,也已經(jīng)成為計(jì)算機(jī)各門(mén)專(zhuān)業(yè)課程都必須進(jìn)行反復(fù)思考和不斷改進(jìn)的重要課題。
2 改進(jìn)思路
究其原因,是我們?cè)诮虒W(xué)過(guò)程中很少注意去區(qū)分和思考“科學(xué)研究”和“工程技術(shù)”的差異問(wèn)題。在實(shí)際工作中,社會(huì)對(duì)從事“科學(xué)研究”和“工程技術(shù)”的人員素質(zhì)和能力的要求是有很大差別的??茖W(xué)研究
往往是專(zhuān)注于某個(gè)專(zhuān)業(yè)并從某個(gè)專(zhuān)業(yè)領(lǐng)域入手,遵循系統(tǒng)、嚴(yán)密的理論推演,往往是由個(gè)人完成的;而工程技術(shù)需要的是綜合性知識(shí)和能力(有的工程甚至是憑一種感悟),一個(gè)具體的工程技術(shù)問(wèn)題,大多不是一門(mén)專(zhuān)業(yè)學(xué)科知識(shí)所能解決的,需要多學(xué)科知識(shí)的綜合應(yīng)用。工程的許多條件常常是動(dòng)態(tài)變化的,工程問(wèn)題的解決更象是一場(chǎng)開(kāi)卷考試――思路和方法更重要。工程更注重是團(tuán)隊(duì)行為(管理和協(xié)調(diào)),成員的協(xié)作精神常常決定了工程的成敗。科學(xué)要求嚴(yán)謹(jǐn)和一絲不茍,而工程則注重對(duì)全局把握(可能會(huì)犧牲局部)和利害的權(quán)衡取舍[1]。因此,所謂“工程能力”實(shí)際上就是對(duì)上述“工程技術(shù)”素質(zhì)要求的綜合。
“授之以魚(yú),莫若授之以漁”。我們要清楚地認(rèn)識(shí)到,工程能力的培養(yǎng)僅靠傳授科學(xué)知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,它更加強(qiáng)調(diào)對(duì)學(xué)生思路和方法的訓(xùn)練,讓學(xué)生學(xué)會(huì)學(xué)習(xí)、學(xué)會(huì)思考、才能真正解決實(shí)際問(wèn)題。簡(jiǎn)言之:學(xué)生工程素質(zhì)和能力的培養(yǎng),就是通過(guò)各種具體工程案例教學(xué)使學(xué)生盡早學(xué)會(huì)用綜合的、全局的、動(dòng)態(tài)的思維方法去發(fā)現(xiàn)問(wèn)題、分析問(wèn)題和解決問(wèn)題,全面提高學(xué)生的專(zhuān)業(yè)能力和社會(huì)能力[3]。
3 具體方法
匯編語(yǔ)言程序設(shè)計(jì)課程的專(zhuān)業(yè)性、綜合性強(qiáng),涉及的知識(shí)點(diǎn)多,學(xué)生普遍反映抽象難懂,不易掌握。因?yàn)閰R編語(yǔ)言和機(jī)器的體系結(jié)構(gòu)結(jié)合緊密,使用者必須對(duì)計(jì)算機(jī)組成、硬件控制和指令解釋過(guò)程有比較清晰的理解和認(rèn)識(shí),因此學(xué)生在學(xué)習(xí)中容易產(chǎn)生厭煩情緒,對(duì)匯編語(yǔ)言的學(xué)習(xí)熱情普遍不高。針對(duì)這些特點(diǎn),筆者注意從以下幾個(gè)方面入手進(jìn)行教學(xué)形式的改進(jìn)和嘗試。
1) 讓學(xué)生盡早領(lǐng)會(huì)匯編語(yǔ)言的特點(diǎn)及應(yīng)用領(lǐng)域,明確學(xué)習(xí)目標(biāo)、激發(fā)學(xué)生的學(xué)習(xí)興趣。
在第一堂課,向?qū)W生播放一組經(jīng)過(guò)精心準(zhǔn)備,且學(xué)生感興趣的介紹嵌入式產(chǎn)品功能及應(yīng)用的視頻短片,盡可能向?qū)W生展示部分實(shí)物的內(nèi)部結(jié)構(gòu),并重點(diǎn)說(shuō)明其控制方法和運(yùn)行機(jī)理。比如:汽車(chē)電子部件(AT組件、電噴、電動(dòng)門(mén)窗、防盜報(bào)警、輔助轉(zhuǎn)向等),智能儀器、儀表(智能電表、溫度調(diào)節(jié)儀、自動(dòng)售貨機(jī))以及一些智能小家電產(chǎn)品(智能小風(fēng)扇)等等;還可以找適當(dāng)?shù)臅r(shí)機(jī)給學(xué)生介紹一下計(jì)算機(jī)病毒的工作機(jī)理。要讓學(xué)生明白,在某些特定的領(lǐng)域和場(chǎng)合,匯編語(yǔ)言具有不可替代的地位。在第一堂課上,就明確地提出學(xué)習(xí)本門(mén)課程要達(dá)到的目標(biāo),特別是學(xué)習(xí)后可以解決哪些實(shí)際工程問(wèn)題。
通過(guò)實(shí)例分析讓學(xué)生體會(huì)到匯編語(yǔ)言特點(diǎn):它是一種最接近計(jì)算機(jī)核心的語(yǔ)言,可以最大限度地發(fā)揮計(jì)算機(jī)硬件的性能,是一種能夠利用計(jì)算機(jī)的硬件特性直接控制計(jì)算機(jī)硬件的語(yǔ)言。用匯編語(yǔ)言編寫(xiě)的小程序的速度通常要比高級(jí)語(yǔ)言快幾倍、幾十倍、甚至成百上千倍。同時(shí),提醒學(xué)生注意:學(xué)習(xí)匯編語(yǔ)言的好處――有利于理解軟件和硬件的關(guān)系,學(xué)會(huì)如何有效地設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),能讓計(jì)算機(jī)存儲(chǔ)空間更少、處理速度更快,能更有效地提高調(diào)試能力。要從思想上改變學(xué)生“重軟輕硬”的傾向,明確告訴他們,如果想真正地控制自己的程序,只知道源代碼級(jí)的調(diào)試是遠(yuǎn)遠(yuǎn)不夠的。
2) 在明確學(xué)習(xí)目標(biāo)和具體工程應(yīng)用之后,讓學(xué)生針對(duì)“如何實(shí)現(xiàn)這些目標(biāo)(特別是工程應(yīng)用問(wèn)題)”,各自提出自己認(rèn)為課程中應(yīng)學(xué)習(xí)的知識(shí)點(diǎn)和方法,最后由教師加以總結(jié)和歸納,形成“匯編語(yǔ)言程序設(shè)計(jì)”課程的基本教學(xué)和實(shí)驗(yàn)內(nèi)容。
讓學(xué)生“帶著問(wèn)題學(xué)習(xí)、帶著問(wèn)題實(shí)驗(yàn)”是培養(yǎng)學(xué)生學(xué)習(xí)興趣、提高學(xué)生工程能力的好辦法,只有學(xué)生的全身心投入才可能克服被動(dòng)“填鴨式”教學(xué)的種種弊端。
3) 抓住課程特點(diǎn),使用更直觀生動(dòng)的教學(xué)形式讓學(xué)生更容易理解和掌握。
針對(duì)匯編語(yǔ)言和機(jī)器體系結(jié)構(gòu)結(jié)合緊密、抽象、難于理解的問(wèn)題,在講解指令系統(tǒng)時(shí),一定要與CPU功能結(jié)構(gòu)圖、存儲(chǔ)器結(jié)構(gòu)示意圖結(jié)合起來(lái),把地址、數(shù)據(jù)和控制信息的傳遞過(guò)程通過(guò)圖示進(jìn)行分解。并且在實(shí)驗(yàn)課中,專(zhuān)門(mén)設(shè)計(jì)若干段由各類(lèi)指令組成的小程序?qū)嶒?yàn),讓學(xué)生反復(fù)使用DEBUG工具演示指令流程,仔細(xì)跟蹤每條指令運(yùn)行后各個(gè)寄存器和存儲(chǔ)器的變化狀況,列表并作好記錄,讓學(xué)生自己對(duì)指令功能進(jìn)行理解、分析和總結(jié),這也是訓(xùn)練學(xué)生調(diào)試程序和發(fā)現(xiàn)邏輯錯(cuò)誤非常有效的手段。
4) 在指令系統(tǒng)學(xué)習(xí)完以后,就可以引入完整的工程案例進(jìn)行教學(xué)。通過(guò)選取真實(shí)具體的工程案例,使學(xué)生學(xué)會(huì)用跨專(zhuān)業(yè)、綜合的、全局的思維方法去觀察問(wèn)題、分析問(wèn)題和解決問(wèn)題。
實(shí)際上,要選擇一個(gè)合適的工程案例是非常困難的,不但要考慮工程項(xiàng)目本身的特點(diǎn),而且要考慮學(xué)生的實(shí)際領(lǐng)悟、消化能力。教學(xué)案例可取自實(shí)際工作中涉及的工程應(yīng)用實(shí)例(變科研工作為教學(xué)資源),要強(qiáng)調(diào)實(shí)用性,兼顧趣味性,這樣更能激發(fā)學(xué)生參與的積極性。教師通過(guò)案例分析,將匯編語(yǔ)言程序設(shè)計(jì)方法和相關(guān)專(zhuān)業(yè)的知識(shí)點(diǎn)恰當(dāng)?shù)厝谌氚咐姆治龊脱菔具^(guò)程中[2]。
筆者選用了一個(gè)工業(yè)產(chǎn)品開(kāi)發(fā)項(xiàng)目――“直流無(wú)刷電機(jī)智能控制系統(tǒng)”的研發(fā)全過(guò)程作為案例教學(xué)的主線,分步驟、分模塊地進(jìn)行講解和分析。案例教學(xué)的重點(diǎn)包括:工程目的,工程項(xiàng)目的主要知識(shí)點(diǎn),具體的實(shí)施步驟。同時(shí),在案例中穿插介紹一些編程技巧和設(shè)計(jì)及調(diào)試工作的要點(diǎn)和難點(diǎn)。案例的教學(xué)可按以下層次逐步展開(kāi)。
① 首先介紹項(xiàng)目目的、目標(biāo)、實(shí)施方案和主要知識(shí)點(diǎn)。必須讓學(xué)生深刻地認(rèn)識(shí)到任何一個(gè)項(xiàng)目都不是一門(mén)專(zhuān)業(yè)學(xué)科知識(shí)所能解決的,需要多學(xué)科知識(shí)的綜合應(yīng)用,要解決工程問(wèn)題必須有開(kāi)放的思維和綜合的知識(shí)。通過(guò)介紹,使學(xué)生逐步領(lǐng)會(huì)工程項(xiàng)目開(kāi)發(fā)的步驟和基本方法。
② 提供全部匯編語(yǔ)言程序清單,并讓學(xué)生充分認(rèn)識(shí)和消化一段時(shí)間后再進(jìn)行講解,使學(xué)生建立匯編語(yǔ)言程序語(yǔ)句、結(jié)構(gòu)和形式的總體概念??傮w概念的建立,比具體的編程方法和技巧更加重要。
③ 提供全套軟件設(shè)計(jì)的程序流程圖,讓學(xué)生對(duì)照程序清單去領(lǐng)悟匯編語(yǔ)言程序設(shè)計(jì)的基本思路和方法。
④ 在充分消化的基礎(chǔ)上,提出若干問(wèn)題讓學(xué)生自己在案例中去尋找答案,最后再由老師加以分析和總結(jié)。這些問(wèn)題的提出和解決,就是處理具體工程問(wèn)題的基本方法和步驟。解決問(wèn)題的方法有很多,但在具體工程中必須找到最優(yōu)方案(成本低、可靠性高),如:
如何實(shí)現(xiàn)驅(qū)動(dòng)電路發(fā)生短路時(shí),系統(tǒng)在10μS以內(nèi)啟動(dòng)保護(hù)(硬件中斷方式);
如何確保電機(jī)能準(zhǔn)確地?fù)Q相操作(采用定時(shí)器中斷,定時(shí)查詢換相標(biāo)志);
如何用軟件準(zhǔn)確設(shè)置MOS管上下臂的“死區(qū)(>300nS)”(采用NOP指令延時(shí));
如何實(shí)現(xiàn)主程序和子程序以及子程序之間的參數(shù)傳遞(約定變量――存儲(chǔ)器法);
如何用軟件設(shè)計(jì)計(jì)數(shù)器、定時(shí)器(+1/-1、比較和循環(huán)指令)。
⑤ 在實(shí)驗(yàn)課中,簡(jiǎn)化一些條件,讓學(xué)生分組實(shí)現(xiàn)一些功能模塊:電壓/電流處理、溫度保護(hù)、調(diào)速、換相處理的子程序設(shè)計(jì),并且,實(shí)現(xiàn)這些功能模塊的組合。通過(guò)分組編程和組合實(shí)驗(yàn),使學(xué)生初步體會(huì)到工程開(kāi)發(fā)的團(tuán)隊(duì)行為,并逐步學(xué)會(huì)管理和協(xié)調(diào)。
⑥ 對(duì)部分軟件進(jìn)行點(diǎn)評(píng)和總結(jié)。
5) 另外,針對(duì)其他的一些指令應(yīng)用和編程技巧可選取適當(dāng)?shù)墓こ贪咐M(jìn)行專(zhuān)項(xiàng)教學(xué)和訓(xùn)練。
筆者選用了一個(gè)“獵槍彈自動(dòng)裝配機(jī)控制系統(tǒng)”的設(shè)計(jì)案例――裝配機(jī)共有22個(gè)工位,其中:1、3、6、9、12等5個(gè)工位分別是“彈殼、底火、發(fā)射藥、彈托、成彈”檢測(cè)工位。只要有一個(gè)檢測(cè)工位不合格,后續(xù)的裝配就不再進(jìn)行,當(dāng)不合格品進(jìn)入第22工位(“排廢”工位)時(shí)自動(dòng)剔出。先要求學(xué)生思考采用什么方法實(shí)現(xiàn)最容易,然后設(shè)計(jì)程序流程圖,最后將筆者的設(shè)計(jì)方案供大家討論。這樣,就強(qiáng)化了學(xué)生對(duì)AND、OR及移位指令的功能理解,并學(xué)會(huì)了如何應(yīng)用邏輯運(yùn)算解決工程問(wèn)題的編程技巧。
要培養(yǎng)計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的學(xué)習(xí)興趣,還可以讓某些學(xué)生較早地參與到教師的科研工作或?qū)嶋H項(xiàng)目開(kāi)發(fā)中,并根據(jù)學(xué)生的實(shí)際情況分配一些具有一定難度的任務(wù),也能較好地調(diào)動(dòng)學(xué)生自主學(xué)習(xí)的積極性[5]。
4 結(jié)語(yǔ)
通過(guò)對(duì)匯編語(yǔ)言程序設(shè)計(jì)課程教學(xué)的一些改進(jìn)嘗試,提高了學(xué)生的學(xué)習(xí)興趣,避免了其學(xué)習(xí)的盲目性,也為學(xué)生進(jìn)行工程研發(fā)積累了經(jīng)驗(yàn)。計(jì)算機(jī)專(zhuān)業(yè)系列課程的教學(xué)改革是一個(gè)系統(tǒng)工程,每門(mén)課程的實(shí)際操作中都有許多工作要做,尤其是案例教學(xué)環(huán)節(jié),筆者根據(jù)自己從事工程研發(fā)的經(jīng)驗(yàn),談了一點(diǎn)膚淺認(rèn)識(shí),希望能對(duì)計(jì)算機(jī)專(zhuān)業(yè)系列課程的教學(xué)改革有所幫助。
參考文獻(xiàn):
[1] 蔡敬民,魏朱寶. 應(yīng)用型本科人才培養(yǎng)的戰(zhàn)略思考[J]. 中國(guó)高等教育,2008(12):58.
[2] 張雪蘭,譚毓安,李元章. 匯編語(yǔ)言程序設(shè)計(jì)課程教學(xué)改革與創(chuàng)新能力培養(yǎng)[J]. 計(jì)算機(jī)教育,2008(8):22-23.
[3] 黃賢英,李玉桃. 構(gòu)建面向崗位的計(jì)算機(jī)專(zhuān)業(yè)教學(xué)體系和教學(xué)模式[J]. 重慶工學(xué)院學(xué)報(bào).2007(21):175-177.
[4] 黃賢英,劉恒祥,范偉. 計(jì)算機(jī)專(zhuān)業(yè)實(shí)踐教學(xué)體系建設(shè)思考[J]. 實(shí)驗(yàn)技術(shù)與管理,2009(10):34.
[5] 范偉,黃賢英. 大學(xué)計(jì)算機(jī)教育中的工程素質(zhì)培養(yǎng)[J]. 重慶工學(xué)院學(xué)報(bào), 2008(3):163-166.
Strengthen Engineering Ability Training, Professional Teaching
Reform Practice in the Course of Exploration
XU Shijun, FAN Wei, HUANG Xianying
(College of Computer Science and Engineering, Chongqing University of Technology, Chongqing 400054, China)
篇10
【關(guān)鍵詞】單片機(jī)實(shí)踐教學(xué)分模塊教學(xué)階梯式教學(xué)
引言
近幾十年來(lái),計(jì)算機(jī)技術(shù)得到了飛速發(fā)展,PC機(jī)和網(wǎng)絡(luò)已經(jīng)走進(jìn)千家萬(wàn)戶,人們的日常生活、工作學(xué)習(xí)都和它緊密聯(lián)系在一起。單片機(jī)作為計(jì)算機(jī)中的一個(gè)獨(dú)立門(mén)族--嵌入式計(jì)算機(jī)系統(tǒng),具有廣泛應(yīng)用。例如:各式各樣的辦公設(shè)備和家用電器的智能化、遙控化和模糊控制智能化都是靠單片機(jī)來(lái)實(shí)現(xiàn)的。單片機(jī)的學(xué)習(xí)也理所當(dāng)然的受到了高等院校師生的高度重視。但是,如何開(kāi)展單片機(jī)的教學(xué)工作,如何讓學(xué)生學(xué)好單片機(jī)這門(mén)課程,一直是承擔(dān)這門(mén)課程的老師頭疼的問(wèn)題,也引發(fā)了對(duì)這門(mén)課程教學(xué)改革的思考。
單片機(jī)教學(xué)是一門(mén)實(shí)踐性和技術(shù)性很強(qiáng)的課程,學(xué)生需要做大量的軟硬件實(shí)驗(yàn),目前采用的教材多屬于MCS-51系列,程序源代碼用匯編語(yǔ)言編寫(xiě),教學(xué)內(nèi)容與實(shí)際的產(chǎn)品設(shè)計(jì)之間存在著很大差異,因此在單片機(jī)實(shí)踐教學(xué)環(huán)境中必須結(jié)合當(dāng)前實(shí)際應(yīng)用的技術(shù)特征,適當(dāng)增加新知識(shí)、新內(nèi)容,使用計(jì)算機(jī)輔助實(shí)驗(yàn)教學(xué)、用計(jì)算機(jī)模擬實(shí)驗(yàn)、用計(jì)算機(jī)仿真軟件等方法改革教學(xué)內(nèi)容和教學(xué)手段。為此,筆者結(jié)合自己的學(xué)習(xí)及教學(xué)經(jīng)驗(yàn),對(duì)單片機(jī)實(shí)踐教學(xué)提出一些心得。
一、教學(xué)內(nèi)容的更新
1.1以匯編語(yǔ)言程序設(shè)計(jì)為基礎(chǔ),以C51語(yǔ)言程序設(shè)計(jì)為提高
使用匯編語(yǔ)言的優(yōu)點(diǎn)是代碼緊湊,運(yùn)行效率高,可直接對(duì)硬件內(nèi)部進(jìn)行控制,但缺點(diǎn)也非常明顯,主要表現(xiàn)在對(duì)目標(biāo)單片機(jī)硬件結(jié)構(gòu)的依賴上,編程者必須對(duì)硬件有深入的了解,而且匯編語(yǔ)言抽象,不易理解,功能弱,編程效率低。當(dāng)然,匯編語(yǔ)言有助于學(xué)生對(duì)單片機(jī)底層的存儲(chǔ)器、堆棧等的了解,在某些領(lǐng)域還是有一定的價(jià)值,學(xué)生必須掌握。
例如,應(yīng)用單片機(jī)的時(shí)候,經(jīng)常會(huì)遇到需要短時(shí)間延時(shí)的情況。需要的延時(shí)時(shí)間很短,一般都是幾十到幾百微妙(us)。有時(shí)候還需要很高的精度,比如用單片機(jī)驅(qū)動(dòng)DS18B20的時(shí)候,誤差容許的范圍在十幾u(yù)s以內(nèi),不然很容易出錯(cuò)。這種情況下,用計(jì)時(shí)器往往有點(diǎn)小題大做。而在極端的情況下,計(jì)時(shí)器甚至已經(jīng)全部派上了別的用途。這時(shí)就需要我們另想別的辦法了。
用匯編語(yǔ)言寫(xiě)單片機(jī)程序,這個(gè)問(wèn)題還是相對(duì)容易解決的。比如用的是12MHz晶振的51,打算延時(shí)20us,只要用下面的代碼,就可以滿足一般的需要:
51單片機(jī)的指令周期是晶振頻率的1/12,也就是1us一個(gè)周期。mov r0, #09h需要2個(gè)機(jī)器周期,djnz也需要2個(gè)機(jī)器周期。那么存在r0里的數(shù)就是(20-2)/2=9。用這種方法,可以非常方便的實(shí)現(xiàn)256us以下時(shí)間的延時(shí)。如果需要更長(zhǎng)時(shí)間,可以使用兩層嵌套。而且精度可以達(dá)到2us,一般來(lái)說(shuō),這已經(jīng)足夠了。
相對(duì)匯編語(yǔ)言,C51語(yǔ)言作為單片機(jī)的開(kāi)發(fā)工具具有程序結(jié)構(gòu)清晰、可讀性好、易于維護(hù)等顯著的優(yōu)點(diǎn),一條C語(yǔ)言相當(dāng)于幾條匯編指令,完成同樣功能程序的行數(shù)也大大縮小,更便于復(fù)雜算法的實(shí)現(xiàn)和調(diào)試?,F(xiàn)在社會(huì)上的單片機(jī)系統(tǒng)已經(jīng)普遍采用了基于C51高級(jí)語(yǔ)言的軟件系統(tǒng)。由于學(xué)生在低年級(jí)已經(jīng)學(xué)習(xí)過(guò)標(biāo)準(zhǔn)C語(yǔ)言,有了這個(gè)基礎(chǔ)后,在現(xiàn)在的單片機(jī)實(shí)驗(yàn)中給學(xué)生增加一些C51編程訓(xùn)練,通過(guò)循序漸進(jìn)的實(shí)驗(yàn),學(xué)生完全能在短期內(nèi)自學(xué)掌握C51。通過(guò)增加C51的內(nèi)容,更新了實(shí)驗(yàn)教學(xué)內(nèi)容,使學(xué)生的學(xué)習(xí)更接近實(shí)際系統(tǒng)的社會(huì)化應(yīng)用,無(wú)疑對(duì)學(xué)生后期的學(xué)習(xí)有很大的益處。
C51程序設(shè)計(jì)不受具體機(jī)器的限制,非常擅長(zhǎng)于科學(xué)計(jì)算,入門(mén)很容易;但對(duì)于程序的時(shí)間和空間要求很高的場(chǎng)合,匯編語(yǔ)言仍是不可缺少的。所以在學(xué)生單片機(jī)應(yīng)用到達(dá)一定水平后,提倡C51與匯編相結(jié)合的程序設(shè)計(jì)方法,取長(zhǎng)補(bǔ)短,使程序設(shè)計(jì)達(dá)到更高的水平。
1.2 以信號(hào)傳輸路徑為主線,分模塊教學(xué)
傳統(tǒng)的單片機(jī)教學(xué)以單片機(jī)的知識(shí)結(jié)構(gòu)為主線,先后講單片機(jī)的硬件結(jié)構(gòu),指令系統(tǒng),匯編語(yǔ)言程序設(shè)計(jì),接口技術(shù)及應(yīng)用。這樣的教學(xué)順利很容易使學(xué)生乏味,引不起興趣。經(jīng)過(guò)多年的教學(xué)探討,我們提出以信號(hào)的傳輸路徑為主線,分模塊的講解各個(gè)部分涉及的知識(shí)點(diǎn)的教學(xué)方法。信號(hào)的傳輸路徑如下圖一所示:
信號(hào)傳輸路徑分為五個(gè)模塊,單片機(jī)模塊部分介紹單片機(jī)的硬件結(jié)構(gòu),最小系統(tǒng)設(shè)計(jì),存儲(chǔ)器擴(kuò)展方法等。輸入、輸出模塊部分結(jié)構(gòu)接口擴(kuò)展、接口電路設(shè)計(jì)等知識(shí)。前向通道介紹電平轉(zhuǎn)換電路、濾波電路、A/D轉(zhuǎn)換電路等設(shè)計(jì)方法和程序設(shè)計(jì)技巧。后向通道部分介紹電磁閥、接觸器、各種電機(jī)、LED、LCD電路設(shè)計(jì)和程序設(shè)計(jì)技巧。
按信息傳輸路徑分模塊教學(xué),有以下幾個(gè)優(yōu)點(diǎn):
1、 知識(shí)點(diǎn)完整,思路清晰,各個(gè)知識(shí)點(diǎn)的作用明了。
2、 后續(xù)項(xiàng)目實(shí)例教學(xué)法中,便于把一個(gè)大的項(xiàng)目按模塊劃分為幾個(gè)小的部分,逐一講解,注意攻破。
2 教學(xué)方法與教學(xué)手段的更新
單片機(jī)技術(shù)的應(yīng)用在現(xiàn)代人生活中隨處可見(jiàn),小到小區(qū)住宅的門(mén)禁系統(tǒng),大到航空航天系統(tǒng)中,都有單片機(jī)的身影。單片機(jī)技術(shù)飛速發(fā)展,日新月異,單片機(jī)課程的教學(xué)方法與教學(xué)手段也必須不斷更新,以適應(yīng)單片機(jī)技術(shù)的發(fā)展。
經(jīng)過(guò)多年的教學(xué)探索,我們提出分四步走,逐步推進(jìn)的階梯式教學(xué)方法,其示意圖如下圖二所示。每個(gè)教學(xué)方法既可以獨(dú)立進(jìn)行,又相互聯(lián)系、相互推進(jìn)。前一步的順利開(kāi)展為后面的教學(xué)環(huán)節(jié)鋪好道路,使后面的教學(xué)環(huán)節(jié)更容易開(kāi)展;同時(shí)只有一步一步逐一落實(shí)好了,才可以達(dá)到最佳效果。
2.1用項(xiàng)目實(shí)例促進(jìn)教學(xué),引發(fā)學(xué)生興趣
興趣是最好的老師,在學(xué)生剛開(kāi)始接觸這門(mén)課程時(shí),通過(guò)生動(dòng)形象的項(xiàng)目實(shí)例,如基于單片機(jī)的交通燈控制器、基于單片機(jī)的搶答器、基于單片機(jī)的智能小車(chē)等實(shí)例,讓學(xué)生明白什么是單片機(jī)?單片機(jī)在我們身邊哪些地方出現(xiàn)?單片機(jī)在電子產(chǎn)品中發(fā)揮什么作用?使學(xué)生明白學(xué)習(xí)的目的,對(duì)這門(mén)課程產(chǎn)生濃厚的興趣。
例如基于單片機(jī)的交通燈控制器項(xiàng)目,首先拿出前屆同學(xué)制作的作品,講解功能,演示效果,分析工作原理;然后介紹作品的硬件結(jié)構(gòu),軟件功能模塊的組成;最后概括該項(xiàng)目的開(kāi)展步驟。讓學(xué)生既對(duì)事物有個(gè)感性的認(rèn)識(shí),引發(fā)濃濃的學(xué)習(xí)興趣;同時(shí)又清楚完成該項(xiàng)目需要做哪些工作,明白今后在該課程學(xué)習(xí)過(guò)程中的努力方向。
2.2 有效利用計(jì)算機(jī)輔助教學(xué)
計(jì)算機(jī)輔助教學(xué)CAI在教學(xué)中的作用毋庸置疑,通過(guò)圖文聲像的形式表達(dá)教學(xué)內(nèi)容,補(bǔ)充了傳統(tǒng)板書(shū)的授課方式。單片機(jī)原理與應(yīng)用理論抽象,實(shí)踐性強(qiáng),通過(guò)采用計(jì)算機(jī)輔助教學(xué), 采用視頻、音頻、豐富的動(dòng)畫(huà)及色彩等多種教學(xué)表達(dá)方式生動(dòng)描述教材中的抽象概念,能極大的增加知識(shí)的傳授量,使得課堂教學(xué)變得豐富多彩。比如,制作flas,演示單片機(jī)的定時(shí)、計(jì)數(shù)中斷工作原理;比如,采用多媒體演示單片機(jī)仿真軟件Proteus和Keil聯(lián)調(diào)的強(qiáng)大的仿真功能,演示程序的編寫(xiě)及調(diào)試過(guò)程;這使得抽象的理論教學(xué)顯得非常直觀,將促使學(xué)生對(duì)知識(shí)的感知,活躍其思維過(guò)程,提高學(xué)習(xí)效率。比如,在教學(xué)初期播放前屆同學(xué)優(yōu)秀作品視頻,激發(fā)學(xué)生興趣。比如,用 LabView虛擬儀器做信號(hào)采集試驗(yàn),擴(kuò)展試驗(yàn)設(shè)備。
2.3結(jié)合應(yīng)用實(shí)例,開(kāi)拓試驗(yàn)渠道
單片機(jī)是門(mén)軟硬件結(jié)合特別緊密的課程,硬件是軟件的控制對(duì)象,軟件使硬件的功能更加強(qiáng)大,具有智能化能力,兩者相輔相成,缺一不可。初學(xué)者很難兩面兼顧,因此我們開(kāi)拓多種試驗(yàn)渠道,促進(jìn)教學(xué)。
在單片機(jī)實(shí)驗(yàn)課時(shí)較短的情況下,僅僅利用實(shí)驗(yàn)室做實(shí)驗(yàn)不利于單片機(jī)的實(shí)踐教學(xué),筆者在教學(xué)中發(fā)現(xiàn),利用Proteus與Keil構(gòu)建單片機(jī)的虛擬實(shí)驗(yàn)室,虛擬實(shí)驗(yàn)彌補(bǔ)了硬件資源的不足,克服了實(shí)驗(yàn)箱教學(xué)的固定硬件資源導(dǎo)致的實(shí)驗(yàn)內(nèi)容局限性,豐富了實(shí)踐教學(xué)方式,提高了學(xué)生的學(xué)習(xí)興趣,取得了非常好的教學(xué)效果。Keil完成單片機(jī)軟件設(shè)計(jì)調(diào)試,proteus完成硬件設(shè)計(jì)及系統(tǒng)運(yùn)行結(jié)果的查看。在單片機(jī)的實(shí)踐教學(xué)中增加Keil和proteus仿真軟件的使用,對(duì)于學(xué)生深入學(xué)習(xí)單片機(jī),用來(lái)做單片機(jī)的仿真分析和設(shè)計(jì),無(wú)疑有巨大的幫助。通過(guò)學(xué)習(xí)Keil軟件,加強(qiáng)實(shí)踐環(huán)節(jié)中C51語(yǔ)言的應(yīng)用,并結(jié)合工程實(shí)例,基于單片機(jī)的智能小車(chē),將學(xué)生的程序設(shè)計(jì)能力練習(xí)落到實(shí)處。此外,proteus仿真軟件有國(guó)際通用的虛擬儀器及電子元器件庫(kù)。教師可以在實(shí)驗(yàn)室向?qū)W生演示Protues仿真環(huán)境中的原理圖設(shè)計(jì),搭建虛擬儀器儀表,在 Keil集成環(huán)境中進(jìn)行程序的編譯連接,進(jìn)行單步和全速調(diào)試,引導(dǎo)學(xué)生觀察電路的狀態(tài)和軟件運(yùn)行后的變化。
2.4 組織課外電子設(shè)計(jì)興趣小組,參加電子設(shè)計(jì)競(jìng)賽,推動(dòng)單片機(jī)教學(xué)的開(kāi)展
利用現(xiàn)有的實(shí)驗(yàn)環(huán)境,以組織課外電子設(shè)計(jì)興趣小組為中心,鼓勵(lì)學(xué)生參加各種競(jìng)賽,如圖五所示,有助于培養(yǎng)學(xué)生的應(yīng)用、開(kāi)發(fā)、創(chuàng)新及綜合分析能力,既不打亂正常的教學(xué)秩序,同時(shí)又促進(jìn)了教學(xué)更有效的開(kāi)展。
在課外電子設(shè)計(jì)興趣小組中間進(jìn)行一些小競(jìng)賽,要求學(xué)生自由組隊(duì),獨(dú)立完成設(shè)計(jì),提交設(shè)計(jì)說(shuō)明,明確闡述設(shè)計(jì)思路和設(shè)計(jì)結(jié)果,并進(jìn)行小組答辯,評(píng)選出優(yōu)秀的作品給予一定獎(jiǎng)勵(lì),這種方式,促使學(xué)生不斷的學(xué)習(xí),在找到問(wèn)題,解決問(wèn)題的過(guò)程中,學(xué)生的知識(shí)面擴(kuò)大了,獲得了學(xué)習(xí)的樂(lè)趣和成就感,激發(fā)了他們的自主性和創(chuàng)造性,培養(yǎng)了工程設(shè)計(jì)素養(yǎng)和團(tuán)隊(duì)意識(shí)。
同時(shí),從這部分學(xué)生中選拔一些尖子生參加省和國(guó)家的各種競(jìng)賽,以賽促學(xué)。
結(jié)語(yǔ)
在單片機(jī)課程實(shí)踐的教學(xué)中,我們根據(jù)社會(huì)對(duì)工程類(lèi)專(zhuān)業(yè)人才的需求,做了一些嘗試性的工作,提出新的教學(xué)目標(biāo),并更新了實(shí)驗(yàn)教學(xué)的內(nèi)容和模式,旨在提高教學(xué)質(zhì)量,培養(yǎng)學(xué)生的工程設(shè)計(jì)能力,為他們走上工作崗位打下堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1] 雷建龍 吳相林 馮雪姣,加強(qiáng)實(shí)踐性、提高趣味性,改進(jìn)單片機(jī)原理教學(xué)方法的探索,教育理論與實(shí)踐[J],2002(s1):
[2]梅麗風(fēng),藍(lán)和惠,任國(guó)臣 單片機(jī)課程教學(xué)改革的探索[J], 遼寧工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2008(8):114-116