摘要:匯編語言程序設計是計算機專業(yè)本科生的一門必修的專業(yè)基礎課。通過分析當前的教學現(xiàn)狀,從教學內(nèi)容、實驗教學、教學方法、教學平臺四個方面進行了改革。并在教學中實踐,取得了良好的教學效果。
關(guān)鍵詞:匯編語言;教學方法;教學改革
中圖分類號:G642
一、引言
匯編語言程序設計是計算機專業(yè)本科生的一門必修的專業(yè)基礎課[1],是微機系統(tǒng)與接口技術(shù)、操作系統(tǒng)等其它核心課程的必要先修課。通過該課程的學習,培養(yǎng)學生設計和編制匯編程序語言的能力,熟悉要求時效性高、直接控制硬件的軟件設計基本方法。加深學生對計算機內(nèi)部運行機制的理解,為后續(xù)課程的打下良好基礎。
二、匯編語言的現(xiàn)狀
該課程教學主要存在以下問題:
1、課程難,學時少,學生積極性不高。
匯編語言程序設計是直接對底層硬件進行編程,需要學生具備一定的計算機硬件基礎知識。而且,匯編語言課時少。使得匯編語言中很多趣味性的知識無法在課程中講解。因此,學生積極性不高。
2、應用面窄,就業(yè)形式嚴峻使學生學習趨向于功利化
匯編語言主要應用在單片機、嵌入式系統(tǒng)的控制等方面。相比于面向?qū)ο蟪绦蛟O計(java)、網(wǎng)絡編程、JavaEE軟件技術(shù)、Andorid開發(fā)等這些面向熱門就業(yè)的課程,匯編語言就顯得不那么受歡迎。學生則認為匯編語言學無所用。
3、教材陳舊,缺乏應用類內(nèi)容
目前采用的教材相對陳舊,缺乏面向應用型的信息處理開發(fā)系統(tǒng)。大多數(shù)學校的教學內(nèi)容主要在實模式下的16位/32位匯編指令和程序設計方法,當前保護模式下的Win32匯編得到了廣泛的應用,因此,應當合理的調(diào)整教學內(nèi)容,使本門課程更適應當前的應用環(huán)境。
4、教學方法單一
匯編語言程序設計課程理論性較強、內(nèi)容抽象,常采用集中的“灌輸式”課堂授課,知識的傳授是單向的,對啟發(fā)式、任務驅(qū)動、案例教學方法采用的比較少,這樣就無形中將學生置于被動接收的地位,讓學生感到枯燥乏味,學習的積極主動性不高。
三、教學改革
該課程教學改革突破傳統(tǒng)的課程教學模式,改變課程教學的理論內(nèi)容、實驗內(nèi)容、教學方法、實驗手段等不適應現(xiàn)代教學要求的現(xiàn)狀及其存在的問題,構(gòu)建匯編語言程序設計課程“內(nèi)容先進、方法多樣、實驗創(chuàng)新、手段豐富“的教學新模式和新機制。主要從以下幾個方面進行改革:
1、理論教學內(nèi)容的改革
匯編語言程序設計是面向硬件的,以CPU的寄存器、指令系統(tǒng)和存儲單元的組織為基礎。因此,對匯編語言的教學內(nèi)容改革首先根據(jù)當前計算機技術(shù)現(xiàn)狀選擇合適的環(huán)境。在目前微機普及程度最高的情況下,大多數(shù)院校采用的匯編語言課程都是基于PC機的?;谠撻T課程理論抽象、學時少,學生興趣不高等特點,教學內(nèi)容主要從以下方面進行改革:
1)重新組織教學內(nèi)容。教學內(nèi)容既要體現(xiàn)課程的基礎性又要與時俱進,主要包括以下3部分:
①基礎部分:微型機計算機的CPU結(jié)構(gòu),存儲器的組織方式,80x86的三種工作模式。,
②80x86指令部分:以16位指令為基礎,結(jié)合80386以上的32位指令的介紹。
③程序設計部分:以32位匯編語言[2]及Windows編程環(huán)境的內(nèi)容為主,從16位實模式轉(zhuǎn)換到32位保護模式,結(jié)合豐富的應用性實例,采用任務驅(qū)動式的教學方式,使所學知識與目前主流的應用環(huán)境相結(jié)合,為學生的創(chuàng)新能力奠定基礎。
2)重新調(diào)整教學順序。教師需要按照學生的認知順序,打破枯燥的學習模式,以指定教材為藍本,重新組織教學順序。例如大多數(shù)教學都是按照書本章節(jié)的順序進行講解,比如先學完指令系統(tǒng)后,再學編程。這樣會導致教學內(nèi)容空洞,學生感覺學習枯燥、效果差。因此,指令系統(tǒng)的介紹,可以根據(jù)需要把相應的指令分布到后面的程序設計章節(jié)分別進行學習,從而加深對指令的理解,達到更好的教學效果。
3)在學習匯編程序設計相關(guān)知識的過程中,根據(jù)教學進度,分期向?qū)W生推薦一些相關(guān)的書籍和專業(yè)文章,以彌補教材的不足,拓寬學生的視野,提高學生的專業(yè)水平。
2、實驗教學內(nèi)容改革
匯編語言程序設計是一門實踐性很強的課程,因此特別注意學生動手能力的培養(yǎng)。由于實驗課時有限,為了滿足不同層次的學生的要求,選擇實驗內(nèi)容時,主要應選擇具有基礎性、代表性、趣味性的實驗,且能夠涵蓋所學的重點知識。同時,也應該鼓勵學生進行高水平的實驗課程設計。主要設置三種類型的實驗:驗證型實驗、綜合型實驗、創(chuàng)新型實驗。
驗證型實驗以掌握單元知識為目標,著重訓練基礎編程能力,如數(shù)據(jù)塊操作、數(shù)據(jù)顯示、字符串排列、素數(shù)判斷等。
綜合型實驗融合了本課程知識。如多模塊程序設計、中斷程序設計等。
創(chuàng)新型實驗是設計具有應用背景的實驗,培養(yǎng)學生對計算機知識體系的融會貫通及創(chuàng)新能力。如數(shù)據(jù)庫管理系統(tǒng)設計、全屏幕編輯器設計、緩沖區(qū)溢出實驗等。
基于個體的差異性,學生可以按照自己的能力和興趣選做部分或全部實驗,充分發(fā)揮了學生的主觀能動性。
驗收采用現(xiàn)場驗收的方法進行,并輔以適當提問,考察實驗是否是真正由本人完成,在一定程度上避免了拷貝和抄襲現(xiàn)象的,提高了學生的實驗實踐能力。
3、教學方法的改革
匯編語言程序設計課程的理論性較強、內(nèi)容抽象,傳統(tǒng)的教學采用集中的“灌輸式”課堂授課方式,讓學生感到枯燥乏味,學習的積極主動性不高。所以,我們應當采用多元化的教學方法,如類比教學法、啟發(fā)式教學法、任務驅(qū)動教學方法、分層次教學等,針對不同的教學內(nèi)容,選擇不同的教學方法,從而引導學生積極思考,增強學生的信心和參與意識,提高教學水平。
比如,對于難以理解的間接尋址方式,可以采用與C語言中的指針進行類比。對于難以理解的轉(zhuǎn)移地址的形成,可以通過制作動畫的方式來幫助學生理解,并以case程序設計來進行鞏固。對于程序設計部分,采用任務驅(qū)動的方式,通過“提出問題-分析問題-解決問題”的方式來學習程序設計方法。
4、實驗教學平臺的改革
Windows操作系統(tǒng)及32位保護模式已成為匯編語言的發(fā)展趨勢。摒棄傳統(tǒng)的DOS環(huán)境,采用匯編語言集成開發(fā)環(huán)境Masm for Windows。使匯編程序的編輯、編譯、連接、調(diào)試等過程變的簡便,減輕了學生學習負擔,提高學生上機的興趣和效率。
四、小結(jié)
匯編語言程序設計是計算機相關(guān)專業(yè)的專業(yè)必修課程,無論在教學、科研中都處于非常重要的地位。如何提高匯編語言程序設計課程的教學質(zhì)量和效率,讓學生能夠系統(tǒng)地掌握匯編語言程序設計的原理、技術(shù)和實現(xiàn)方法,培養(yǎng)學生程序設計的能力,教師的作用異常重要。教師在加強自身專業(yè)素質(zhì)提高的基礎上,應積極改進教學方法,提高教學效率。
參考文獻:
[1]王海波.匯編語言課程改革的研究與實踐[J].科學大眾,2015(12).
[2]鄒國紅,楊鴻雁. 匯編語言課程教學改革與實踐[J] .鞍山師范學院學報,2011(6).