王家亮
摘要:匯編語言雖為低級語言,但其是最接近計(jì)算機(jī)硬件的語言,因此學(xué)習(xí)匯編可以更加深入的了解計(jì)算機(jī)硬件的本質(zhì),所以匯編語言是計(jì)算機(jī)硬件類的核心。工程教育專業(yè)認(rèn)證已在許多國家得到了實(shí)施,其對工程教育的發(fā)展起到了積極的促進(jìn)作用,工程教育專業(yè)認(rèn)證已成為各大高校諸多專業(yè)首要完成的任務(wù)。本文以專業(yè)認(rèn)證需求為前提,從積極發(fā)揮主動性預(yù)習(xí)、課后互助討論的學(xué)習(xí)氛圍、科研成果轉(zhuǎn)化為教學(xué)、開拓學(xué)習(xí)視野、重在了解知識點(diǎn)內(nèi)涵、教學(xué)內(nèi)容精心設(shè)計(jì)等角度對匯編語言程序設(shè)計(jì)課程的教學(xué)方法進(jìn)行研究。
關(guān)鍵詞:匯編語言;專業(yè)認(rèn)證;教學(xué)方法
中圖分類號:TP313 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)12-0144-03
Teaching Method Research on Assemble Language Programming Design Oriented by Professional Certification
WANG Jia-liang
(College of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)
Abstract: Assemble language is low level language, which is close to computer hardware, so studying assemble language can learn the nature of computer hardware to the largest extent, thus the assemble language is the core course of computer hardware. Professional certification of engineering education has been executed in many countries, which plays positive role on the development of engineering education, so the professional certification of engineering education has become the primary task for many majors in colleges and universities. This paper considers the the premise of requirements about professional certification, and aims to research the learning method of assemble language programming design course, in terms of giving play to active preview, study atmosphere of mutual help and discuss after class, converting the research to the teaching resources, widen study sight, learning the nature of knowledge point, well-designed teaching contents and so on.
Key words: Assembly Language; Professional Certification; Educational reform;
隨著嵌入式系統(tǒng)和物聯(lián)網(wǎng)的發(fā)展,匯編語言在行業(yè)中的地位不斷提升。2017年1月,在TIOBE排行榜上匯編語言再次進(jìn)入前十。它是理解計(jì)算機(jī)系統(tǒng)核心知識的橋梁,在人才培養(yǎng)中亦起著關(guān)鍵作用。在當(dāng)今“工業(yè)4.0”和“中國制造2025”大背景下,它可以為國家智能化制造發(fā)展戰(zhàn)略提供技術(shù)上的重要支撐[1]。
《匯編語言程序設(shè)計(jì)》課程,作為計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)硬件課程組的一門核心課程,從知識體系結(jié)構(gòu)來說,其作為《計(jì)算機(jī)組成原理》、《接口技術(shù)與應(yīng)用》及《計(jì)算機(jī)病毒》、《物聯(lián)網(wǎng)感知技術(shù)》、《物聯(lián)網(wǎng)工程設(shè)計(jì)與實(shí)踐》等課程的前序課程,可見其重要的地位。在一些高校,《匯編語言程序設(shè)計(jì)》不僅是計(jì)算機(jī)專業(yè)的必修課,同時也是自動化專業(yè)的必修課[2,3]。
工程教育專業(yè)認(rèn)證的核心就是要確認(rèn)工科專業(yè)畢業(yè)生達(dá)到行業(yè)認(rèn)可的既定質(zhì)量標(biāo)準(zhǔn)要求,是一種以培養(yǎng)目標(biāo)和畢業(yè)出口要求為導(dǎo)向的合格性評價[4]。認(rèn)證不是評優(yōu)、評先進(jìn),而是看所有畢業(yè)學(xué)生是否均達(dá)到要求,成績最后一名的學(xué)生是否達(dá)到畢業(yè)要求,因此課程教學(xué)必須緊扣這一思想,做出實(shí)質(zhì)性的改革。
1 滿足專業(yè)認(rèn)證的教學(xué)內(nèi)容設(shè)計(jì)
計(jì)算機(jī)發(fā)展日新月異,處理器更是,課程以80x86處理器平臺為例進(jìn)行講解。從中央處理器、寄存器組、存儲器、外部設(shè)備等角度,結(jié)合指令系統(tǒng),及指令的尋址方式等,深入解析順序程序、分支程序、循環(huán)程序、中斷調(diào)用、子程序等的實(shí)現(xiàn)機(jī)理。對于學(xué)生以后了解AVR,ARM等高級處理器平臺的匯編語言會很快熟悉[5,6]。既然專業(yè)認(rèn)證的核心是使所有學(xué)生都滿足要求,因此課程的教學(xué)內(nèi)容設(shè)計(jì)時,必須做到清晰、層次感強(qiáng),如圖1所示。
在課程的教學(xué)中,本人同時作為物聯(lián)網(wǎng)實(shí)驗(yàn)室擴(kuò)建的項(xiàng)目負(fù)責(zé)人,而實(shí)驗(yàn)室的擴(kuò)建過程對《匯編語言程序設(shè)計(jì)》課程有很好的促進(jìn)作用。物聯(lián)網(wǎng)所涉及的嵌入式技術(shù)、WIFI和3G移動通信技術(shù)、傳感技術(shù)、短距離無線通信技術(shù)、RFID技術(shù)、ZigBee 無線傳感網(wǎng)絡(luò)、Android開發(fā)技術(shù)、藍(lán)牙通訊、遠(yuǎn)程GPRS 無線通信等技術(shù)大多需要對底層硬件進(jìn)行編程控制,因此可以說《匯編語言程序設(shè)計(jì)》是保證物聯(lián)網(wǎng)教學(xué)質(zhì)量、培養(yǎng)高素質(zhì)人才的關(guān)鍵基礎(chǔ)。本人申請獲批的2017年校級教育教學(xué)改革與研究項(xiàng)目--“物聯(lián)網(wǎng)工程設(shè)計(jì)與實(shí)踐”案例設(shè)計(jì)與開發(fā),其中涉及的硬件底層設(shè)計(jì)與實(shí)現(xiàn),對匯編語言的教學(xué)有很好的促進(jìn)作用。而且,為了適應(yīng)社會經(jīng)濟(jì)快速發(fā)展對人才的需求,我們須不斷深化教學(xué)內(nèi)容改革,讓教學(xué)內(nèi)容更接近社會應(yīng)用需求。
如在講解如何利用段地址和偏移地址來計(jì)算邏輯地址時,為便于理解,可以將示例設(shè)計(jì)成學(xué)校的建筑位置距離計(jì)算,將距離為46666H英寸的地址(五位數(shù)據(jù))表示為4000H和6666H(兩個四位數(shù)據(jù)),這樣就可以較深刻的理解20位的邏輯地址是如何通過兩個16位的段地址和偏移地址來表示。這樣,在講解邏輯地址的計(jì)算時,就比較容易理解12345H的邏輯地址是如何表示成1234H的段地址加上0005H的偏移地址。
2 以專業(yè)認(rèn)證為導(dǎo)向的教學(xué)方法探索
2.1發(fā)揮主動性預(yù)習(xí)的功效
課程講授順序程序、分支程序、循環(huán)程序、子程序等時,將一些程序?qū)崿F(xiàn)(大約20行以上的程序)作為課后作業(yè)讓學(xué)生了解,并在下節(jié)課中預(yù)留幾分鐘讓某同學(xué)進(jìn)行講解。這種方式雖然不能覆蓋絕大多數(shù)的同學(xué),但是在同學(xué)現(xiàn)場講解之后可以提問幾名學(xué)生進(jìn)行討論,這種方式不僅在一定程度上激發(fā)學(xué)生的學(xué)習(xí)興趣,大家也可以在互相的講和聽中發(fā)現(xiàn)彼此的問題、提升自己。
2.2課后互助討論的學(xué)習(xí)氛圍
在每一門課的講授中,我總習(xí)慣將這門課的學(xué)生建立個QQ群,一方面便于我在里面發(fā)布通知,更主要的是同學(xué)們有了一個課程的交流平臺。在這里,每一個學(xué)生都可以圍繞自己遇到的問題隨時隨地的提問,更主要的是還可以很方便的發(fā)布問題截圖及上傳有問題的程序代碼,這樣我和所有的同學(xué)都可以隨時的進(jìn)行解答,并進(jìn)行討論交流,這種方式可以充分發(fā)揮自由討論的優(yōu)勢,將學(xué)習(xí)中遇到的問題第一時間進(jìn)行解決,體現(xiàn)團(tuán)結(jié)互助的同時,也便于老師了解到經(jīng)常幫助別人的同學(xué)。
2.3教學(xué)與科研的有機(jī)結(jié)合,提升吸引力
教學(xué)與科研盡管作為高校教師的兩大任務(wù),但是談及科研對教學(xué)的影響和作用時,其不再是獨(dú)立的兩個任務(wù),而是科研可以為教學(xué)提升檔次、增加效果、帶來更多的潤色與生動感,為課堂教學(xué)帶來吸引力。其實(shí),博士的研究課題,主持及參與的科研項(xiàng)目,都可以挖掘出很多本門課的知識點(diǎn),這樣在課程的講授時,就不再是單單對知識點(diǎn)的講授,而是多了些其在項(xiàng)目中的具體實(shí)現(xiàn),對于學(xué)生來說,不僅可以學(xué)到課程知識點(diǎn),同時可以很生動地了解到其在工程項(xiàng)目中的哪些場合有應(yīng)用,這樣會更好地進(jìn)行學(xué)以致用。
2.4每堂課都有新鮮事兒
在平時的課堂教學(xué)中,在適當(dāng)?shù)臅r候,為學(xué)生們帶來一些新鮮事,不僅可以吸引更多的學(xué)生的注意力,還可以開拓學(xué)生的視野。平時的課程中,我也經(jīng)常準(zhǔn)備一些新鮮事,比如我讀博期間的兩年公派留學(xué)美國普渡大學(xué)的科研經(jīng)歷,以及到香港理工大學(xué)一個月的科研經(jīng)歷,在分享自己經(jīng)歷的同時,可讓學(xué)生了解外面的世界,同時也為學(xué)生自己的未來規(guī)劃多了一份選擇,2018年我指導(dǎo)的一名本科畢設(shè)學(xué)生,成功申請到了香港城市大學(xué)繼續(xù)攻讀碩士學(xué)位。
2.5知其所以然
匯編語言程序設(shè)計(jì),同其他語言一樣,實(shí)驗(yàn)非常重要。上機(jī)實(shí)驗(yàn)使用的DEBUG軟件,對于學(xué)生學(xué)習(xí)80x86處理器平臺的匯編語言程序設(shè)計(jì)來說非常便利,其可以很方便地對程序進(jìn)行masm,link,debug以及執(zhí)行等操作,不僅可以看到每條指令對應(yīng)的機(jī)器碼,同時可以看到指令對數(shù)據(jù)總線、地址總線的訪問,以及對寄存器,存儲器,IO端口的訪問操作,這一點(diǎn)是C++語言,JAVA語言等其他高級語言所不能相比的。通過DEBUG軟件,學(xué)生們知其然的同時,可以更好地知其所以然。
2.6精心設(shè)計(jì)
例如在講解時內(nèi)存數(shù)據(jù)的取數(shù)過程時,比如對于直接尋址這個尋址方式知識點(diǎn),精心的設(shè)計(jì)動畫效果,會很大程度增強(qiáng)教學(xué)效果,比如對于例子:假定DS為2000H,偏移地址為0006H。執(zhí)行MOV AX,[0006H]指令時,分析其執(zhí)行過程。這個示例,設(shè)計(jì)成動畫效果,可非常直觀地觀察到根據(jù)段地址和偏移地址形成物理地址的過程、運(yùn)算器的執(zhí)行分析、數(shù)據(jù)在地址總線上的傳送過程、內(nèi)存地址單元的數(shù)據(jù)讀取過程,數(shù)據(jù)在數(shù)據(jù)總線上的傳送過程,寄存器的存取過程等。
3 評價體系
3.1 課程成績分布評價
課程本身《匯編語言程序設(shè)計(jì)》課程的考核方式為閉卷筆試,試卷覆蓋知識面廣,題型靈活,要求同學(xué)對匯編語言各個知識點(diǎn)的全面掌握。以下本人講授的《匯編語言程序設(shè)計(jì)》2016-2017年第二學(xué)期和2015-2016年第二學(xué)期的成績對比分析:
從試卷得分的統(tǒng)計(jì)結(jié)果來看。與2015-2016學(xué)年度相比,2016-2017學(xué)年度的平均分提升了5.31分。分?jǐn)?shù)段為90-100的學(xué)生數(shù)所占百分比,由6.82%增加到了12.40%,分?jǐn)?shù)段為80-89的學(xué)生數(shù)所占百分比,由15.91%增加到了22.48%,可見,成績?yōu)閮?yōu)秀和良好的學(xué)生比重有了較大的提升。
3.2 教評成績
本人于2015-2016第二學(xué)期、2016-2017第二學(xué)期講授《匯編語言程序設(shè)計(jì)》課程。在2016年和2017年計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院的教評成績排名中,本人都位于第一檔(前10%)??梢姡n程教學(xué)方法的改革取得了一定的成效,得到了學(xué)生們較大的認(rèn)可。
3.3 調(diào)查問卷、座談會的形式
為了及時有效地得到學(xué)生們對所講課程的評價及反饋,可采用調(diào)查問卷、座談會的形式了解學(xué)生對課程的反饋,可具體到某一頁P(yáng)PT,有針對地在下次課的時候進(jìn)行有針對性的講解以鞏固。
4 結(jié)束語
本文從積極發(fā)揮主動性預(yù)習(xí)、課后互助討論的學(xué)習(xí)氛圍、科研成果轉(zhuǎn)化為教學(xué)、開拓學(xué)習(xí)視野、重在了解知識點(diǎn)內(nèi)涵、教學(xué)內(nèi)容精心設(shè)計(jì)等角度對匯編語言程序設(shè)計(jì)課程的教學(xué)方法進(jìn)行研究,重在體現(xiàn)工程教育專業(yè)認(rèn)證的以學(xué)生為中心、成果導(dǎo)向、反向設(shè)計(jì)、正向?qū)嵤?、周期性評價、持續(xù)改進(jìn)、實(shí)質(zhì)等效的理念。最后,對近兩年的學(xué)生成績進(jìn)行對比分析,以驗(yàn)證匯編語言程序設(shè)計(jì)課程教學(xué)方法研究的效果。
參考文獻(xiàn):
[1] https://www.icourse163.org/course/UESTC-1002047009
[2] 肖剛強(qiáng), 張曉艷, 王艷娟. 匯編語言程序設(shè)計(jì)[M], 清華大學(xué)出版社, 2011.
[3] 陳璨, 李林, 任旭虎. 匯編語言在大學(xué)生能力培養(yǎng)中的研究與探索[J]. 實(shí)驗(yàn)科學(xué)與技術(shù), 2017, 15(6):172-174.
[4] 劉向榮; 吳曉潔. 專業(yè)認(rèn)證導(dǎo)向下我國高校工科專業(yè)培養(yǎng)目標(biāo)設(shè)定研究——以我國高水平大學(xué)為例[J]. 河北工業(yè)大學(xué)學(xué)報(bào)(社會科學(xué)版), 2018, 10(01):84-89.
[5] 熊書明, 王良民, 曾宇,等. 基于程序設(shè)計(jì)的“匯編語言”課程教學(xué)方法[J]. 電氣電子教學(xué)學(xué)報(bào), 2013, 35(6):66-68.
[6] 解志堅(jiān), 張引瓊, 陳剛. 匯編語言程序設(shè)計(jì)教學(xué)方法的探討[J]. 電腦知識與技術(shù), 2015, 11(32):89-91.
【通聯(lián)編輯:王力】