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