微型计算机技术怎么学,浅谈微型计算机技术课程的启发式教学
摘要:《微型計算機技術》是一門工程性很強的課程,內容涵蓋豐富,軟硬件結合,學習難度較大。本文從尋求問題出發到實際解決該問題的過程中培養學生的學習興趣,從而獲得學習的主動性。
關鍵詞:微型計算機技術 思考 主動性
中圖分類號:G642 文獻標識碼:C DOI:10.3969/j.issn.1672-8181.2013.21.110
1 前言
微型計算機技術是一門計算機科學專業必修的專業基礎課,是一門面向應用的、具有很強的實踐性與綜合性的課程。通過對本課程學習,使學生獲得微型計算機硬件技術的基礎知識、基本思想和基本方法技能,培養學生利用以微型計算機硬件為主、從硬件與軟件的結合上處理問題的思維方式和分析、解決計算機工業應用及計算機科學專業領域問題的初步能力,為進一步學習和應用相關方面的新知識、新技術打下必要基礎。
2 學習的難點
對于計算機及其相關專業的學生來說這是一門極其重要的課程,同樣也是一門比較難的課程。筆者分析了一下,主要難在這些方面:第一,知識量大、細節較多,講授的內容涵蓋微處理器系統結構、指令系統、匯編語言程序設計、存儲器技術、中斷技術、輸入輸出技術、可編程接口技術和總線技術,一個細節掌握不好可能影響整個課程的學習,比如,在指令系統中有關于輸入(IN)和輸出(OUT)的指令,如果不能理解深刻,后面的關于接口技術中的編程根本無法進行;第二,授課內容對學生來說比較枯燥,需要記憶的內容很多,這就直接導致一部分學生疏于記憶,由于該課程各個章節的知識連貫性較強,后續的學習沒有基本知識做鋪墊根本寸步難行,前部分知識掌握得不全面直接影響后續部分的學習,學生學習中遇到的問題會越來越多,易造成“滾雪球”效應,比如,指令系統這一章介紹了8086CPU常用的指令集,這是所有編程的基礎,學生如果記不住常用指令,根本無法進行匯編語言程序設計,也就無法寫出接口程序;第三,該課程是軟、硬件結合,應用性較強,而該課程的理論學時和實驗學時有限,要想學好必須在課外進行大量的訓練,這就要求學生有較強的學習主動性與自覺性。
3 啟發式教學的思路
孔子言,“知之者不如好之者,好之者不如樂之者”。對于學生來說,如果有足夠的興趣作支撐,以上所述的這些難點都可以克服,因此,作為老師,在教授學生知識的同時,更應該思考如何讓學生喜歡這門課程,讓學生在整個學習過程中一直保持濃厚的興趣。從而,教學方法就顯得極其重要,筆者講授微型計算機技術課程多年,一直從事這方面的思考和研究,逐漸摸索出一些經驗和技巧,最后歸結為啟發式教學,主要的思路如下所述。
3.1 從問題出發尋求該知識學習的必要性
作為教學活動,整個課堂如果只有老師一人在不停地講課的話,再有趣的課也會讓人感覺枯燥乏味,隨之就是學生昏昏欲睡,課堂變成老師一個人的課堂,學生的學習積極性可想而知。學生的學習是以興趣作為支撐,而怎樣讓學生對一門課程產生興趣,提問未嘗不是一種好辦法。有了問題,學生就會主動思考,尋求解決該問題的辦法,現有的知識不夠,那就去尋找新的知識。在這樣的過程當中,學生是作為主體參與了課堂,比起被動接受老師的知識來說學生的積極性有了大幅度的提升。比如在介紹有符號數在計算機內表示的過程中,首先并不提原碼、反碼和補碼,而是給學生拋出一個簡單的問題:有符號的數在計算機內表示時,用最高位表示符號位,剩余的其它位表示數值位,如果機器字長為8位,那么8在計算機中表示為00001000B,-8在計算機中表示為10001000B,如果將兩者相加結果是多少?學生很快就能得出結果為10010000B,它表示-32,很顯然答案錯了,所以在計算機內有符號數的表示并不是如此,那怎么表示呢?課程講述到這里很輕松地就引出了原碼、反碼和補碼的概念,讓學生覺得是為了解決問題而學,不是為了學習而學。再比如介紹指令系統的時候,如果從頭到尾一條一條講,學生基本上沒有興趣去一條一條記憶,即使記住了,也是空洞的。老師就可以從需求的角度出發引導學生學習。要讓8086CPU去計算1234H+5678H怎么辦?很顯然一次完成不了,那就要分兩次相加,高位在相加的時候必須考慮低位的進位,所以需要采用不同的加法指令ADD和ADC,對于減法也是如此,就可以順理成章地引出SUB和SBB指令;作為加法和減法,在學習C語言的時候有自增和自減,這里是否能實現呢?這樣就可以引出INC和DEC指令;在數學中我們可以取一個數的相反數,這里可以嗎?你可以很肯定地告訴學生,NEG指令就可以解決這個問題。如此等等,我們很多的知識都可以在探索解決實際問題的過程中讓學生知道為什么要學這個知識,學習了之后有什么益處。
3.2 從思考問題的解決方法中學會新知識
很多人都有這樣的體會,一道題目看著別人做完,回過頭來自己再做的時候有可能就做不出來了,原因是什么?看著別人做題的過程中自己并沒有主動思考,這樣所獲得的信息并沒有在自己的大腦中留下深刻的印象,所以,學習的過程應該是一個思考的過程。微型計算機技術這門課程知識點非常多,單純地靠死記硬背不僅學習的過程枯燥乏味,更重要的是知識掌握得非常不牢固,等到要用的時候發現還是不會。因此,向學生提出問題之后,在解決這個問題的過程當中去學會新知識就變得順其自然。指令系統中的BCD碼的修正指令一直是學習的難點,難的不是規則的記憶,而是理解之后的應用。那么老師完全可以從為什么需要BCD碼的修正指令出發把對指令的講解一點一滴地呈現在學生面前。比如,針對加法壓縮BCD碼的修正指令DAA可以舉3個實例:
①12+34,(12)BCD+(34)BCD=0001 0010B+0011 0100B=0100 0110B=(46)BCD,結果正確;
②18+38,(18)BCD+(38)BCD=0001 1000B+0011 1000B=0101 0000B=(50)BCD,結果不正確;
③12+38,(12)BCD+(38)BCD=0001 0010B+0011 1000B=0100 1010B,此處1010B不是正確的BCD碼,沒有結果;
通過這3個實例,學生可以知道,直接利用BCD碼完成十進制數的加法計算的過程有的正確,有的錯誤,那么這個結果還能用嗎?錯誤的結果有沒有辦法可以變成正確的?第②個例子的結果是0101 0000B=(50)BCD,正確的結果應該0101 0110B=(56)BCD,相差6;第③個例子的結果是0100 1010B,正確的結果是0101 0000B=(50)BCD,也相差6。因此可以推出一條結論:使用BCD碼完成十進制數的加法計算,結果如果有問題只要稍加修正即可。關鍵是何種情況下修正?又該如何修正?這里就涉及到了問題的本質,作為十進制數的進位規則是逢十進一,在用BCD碼完成十進制數的加法計算的過程中,使用的是二進制的進位規則,每4位二進制數表示一位十進制數,那么二進制的低4位和高4位的進位規則是逢十六進一,這就造成了進制的不統一,所以會出現問題。再進一步分析:第②個例子中存在低4位向高4位的進位,所以結果應該把多進的6補回來;第③個例子中低4位的值已經大于10,作為十進制數的加法就應該向高位進一,所以也應該加個6;第①個例子低4位向高4位不存在進位,低4位相加的值又小于10,所以不需要修正。低4位的情況如此,高4位也是一樣,這樣就總結出DAA指令的修正規則:低4位的值大于9或者低4位向高4位有進位(即AF=1),就將低4位加6;高4位的值大于9或者高4位向更高位有進位(即CF=1),就將高4位加6。通過這樣的分析學習新知識,學生就很難忘記了,以此類推,其它的減法壓縮BCD碼的修正指令DAS、加法非壓縮BCD碼的修正指令AAA、減法非壓縮BCD碼的修正指令AAS也可以用相同的學習過程。
4 結論
學而不思則罔,沒有思考的學習是空洞的。學生的自信在解決一個一個問題的過程當中得到了提升,從而可以對該課程產生濃厚的興趣,由此而形成的學習的主動性不僅對其它課程的學習,甚至是以后的工作生活可以產生深遠的影響。
參考文獻:
[1]陳慈發.微型計算機技術[M].科學出版社,2010.
[2]李華貴.微型計算機技術及應用[M].科學出版社,2005.
總結
以上是生活随笔為你收集整理的微型计算机技术怎么学,浅谈微型计算机技术课程的启发式教学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么叫做乘法分配律
- 下一篇: 关于善恶的名言名句245个