李仲生 黃美玲


摘 ? ?要: 針對計算機組成原理中的計算機運算方法教學面對的學時緊、學生興趣不高、學生學習趨于表面化等問題,依據計算思維,分析知識點的具體結構,給出三種知識點強化方法:一致化歸納;相關性延伸;硬軟件映射,并給出教學具體實施示例。
關鍵詞: 計算思維 ? ?計算機運算方法 ? ?知識點強化 ? ?計算機
作為計算機科學與技術及相關專業的硬件核心基礎課程,計算機組成原理教學面臨嚴峻的挑戰,這種挑戰源于以下矛盾:技術發展遞增的內容和教學課時被壓縮的矛盾;硬件理論教學的必需和現實工作未必需要的矛盾;多層次理解的必需與學生實際只想淺嘗輒止的矛盾。這三個矛盾在計算機組成原理之運算方法教學中顯得更突出:第一個矛盾提升了教學雙方的壓力;第二個矛盾吞噬了學生的學習動力;第三個矛盾讓學生把組成原理的運算方法學習當成數值運算,脫離硬件學習本意。
三個矛盾的存在將嚴重影響教學質量,為消除這些矛盾,研究者們做了很多有益探索。文[1]從教學方式多樣化、實驗層次化角度給出了一些宏觀探討;文[2]對運算方法中的原碼乘做了剖析,并給出了硬件實現仿真模型;文[3]引入計算思維,采用關注點分離法(SOC)實施計算機運算方法教學,能簡化與運算有關的硬件講解。整體而言,針對當前地方本科院校學生生源情況,宏觀化教學探討意義不大,主要目標是簡化問題、強化知識點的可接受性進而引起學生的興趣。下文基于計算思維,引入幾種知識點強化方法,并討論其在運算方法教學中的具體實現。
1.知識點強化
知識點強化的理論背景為計算思維[4],期望學生化學習知識為培養相關思維能力,即以計算機科學基礎概念分析理解問題、讓所需學習的知識與思維方式融為一體。比對計算思維的主要行為模式與計算機運算方法的相關內容,為更好地理清知識點分布、強化知識點的規范性和易理解性,擬定一致化歸納、相關性延伸、硬軟件映射等知識點強化措施。
一致化歸納。教學過程中遇到的常規復雜性是內容多、雜、無序,針對一些表現模式近似的知識點,或者一些分布在一定定義域范圍、但有被合并潛力的知識點,可考慮將其合并歸納。一致化歸納有以下預期目標:有序化知識;給出知識的總體描述,提綱挈領;歸納過程反哺原知識點,讓學生對原知識點有更深層認識。
相關性延伸。人的思維是容易惰化的,這種傾向很容易讓學生學習計算機運算方法時把加減乘除這種本來由硬件實現的過程悄悄演變為數值運算,完全與硬件設計脫離。為了避免這種情況產生,要在計算機運算方法教學中巧妙引入相關硬件知識,這種巧妙指的是引入相關硬件知識后,知識點的理解難度不應是增加了,反而被降低了。
硬軟件映射。對于計算機科學與技術及相關專業學生而言,軟件類課程(如語言類課程)開得比較多,特別是C語言,在當代大學生中近于普及狀態,換句話說,學生對軟件的思維敏捷度一般情況下會超越硬件設計。從本質上說,在計算機發展史中,硬軟件本身就有交融發展之勢,為利用軟件知識強化硬件教學提供條件。在計算機運算方法教學中,這種條件有著不錯的利用價值,如在一些內容的講解中,可利用軟件知識完成硬件運行過程的結構化分析。
2.知識點強化在教學中的具體實施
前述知識點強化方法以計算思維為指導、以計算機運算方法為分析目標,反映出運算方法知識點的內在結構,可直接用于運算方法教學。以下分三個方面以實際教學為例,討論知識點強化在教學中的具體實施。
,其中n=1時代表小數域。引入這個歸納后,可在歸納基礎上強化對原來兩個域上定義的理解。補碼等的定義也有類似情況,此處不再贅述。
再看相關性延伸,目標是強化運算硬件背景。如講解加減法運算時,可先設問:“相減的位數由誰決定、此處示例為什么是四位加減?”然后在學生猜測時展開講解,“加減的位數由運算器決定,示例四位加減意味著采用的運算器一次能處理的運算是四位”。再問:“如果相加結果超出四位會怎么處理?”答:“如果硬件有專門設定的進位位,則進位位置位,否則超出位丟失。”問:“雙符號位如何判定溢出?”答:“相同則不溢出,不同則溢出。”問:“補碼怎么產生多個符號位?”答:“改變模的大小即可,如模為2,其中的n是運算的數碼位數,k是符號位位數。”問:“增加符號位位數會改變真值大小嗎?”答:“不會。補碼正數的符號位為0,不會改變;負數的符號位為1,取反后為0,也不會改變真值大小。”小結:“對,匯編語言中有符號擴展指令,依據的就是這個原理。”講運算方法是做相關性延伸,確保學生對知識的準確定位,強化學生對知識點的理解。
最后是硬軟件映射,目標是將生疏的內容映射到學生相對熟悉一些的軟件結構上,讓學生快速理解所學內容。如Booth算法,可映射成一個簡單的循環結構,初始化參數有部分積,及附加位y=0,循環體僅有三步,判定,相加,部分積&乘數&附加位連體右移一位。如此映射之后,將極大地簡化學生的理解難度,提升學生的掌握速度。
三種強化方式在一些時候需要一起使用,如講Booth算法時,除了做硬軟件映射消除學生因面對多步推算而產生的困擾外,在講解過程中有必要做適當的相關性延伸,即在學生對運算過程有了較直觀的了解后,強化參與運算的乘數的符號位位數、部分積的符號位位數,進而說明右移的準則:以部分積當前的符號位為準,按補碼規則添補高位的空出位。
3.結語
為在有限時間內讓學生對計算機組成原理中的計算機運算方法有足夠的了解,上文以計算思維為理論基礎,引出三種知識點強化方法,并示例這些方法在實際教學中的具體實施過程。未來工作將以規范、簡化、實效、結構化為指導原則,探索更科學的知識點強化方法。
參考文獻:
[1]柴志雷.計算機組成與體系結構教學初探.考試周刊,2007,27:116-117.
[2]閆洪亮,耿永軍.定點數乘、除法運算邏輯電路實現及模擬演示.電腦學習,2006,2:21-23.
[3]劉培奇.計算思維教學方法的研究與實踐.計算機教育,2015,13:46-49.
[4]Jeannette M.Wing.Computational Thinking[J].Communications of ACM,2006,49(3):33-35.
基金項目:湖南省教育科學“十二五”規劃課題(項目號:XJK015BXX007)