早在1990年,我就開始對計算機系統(tǒng)結構課程的教學進行改革。當時國家對精品課程的重視程度不如現(xiàn)在,教學工作一向是吃力不討好。但我憑著對教學工作的熱愛,進行了一系列大膽的改革。我打破以往學生抄黑板做筆記的傳統(tǒng)模式,嘗試用幻燈片教學,并把教案打印出來分發(fā)給學生,大大提高了教學效率,收到了很好的教學效果。1992年,我負責開發(fā)出了國內(nèi)第一套計算機組成與系統(tǒng)結構的多媒體CAI課件(含30個動畫),在清華大學、北京大學、北航等全國近20所高校獲得應用。當時的開發(fā)沒有得到經(jīng)費支持,我就利用科研項目結題后剩余的經(jīng)費來支持CAI課件的開發(fā)。
針對學生習慣按自底向上的方式思考問題的現(xiàn)狀,結合系統(tǒng)結構課程教學的定位,我特別強調(diào)培養(yǎng)學生從總體和系統(tǒng)的角度來分析和解決問題的能力、自主創(chuàng)新能力和抽象思維能力。學生既要有系統(tǒng)的觀點,把握全局,又要有層次的概念,分而治之。每當?shù)谝淮握n時,我總是用自己的成長經(jīng)歷和從事科學研究的經(jīng)驗體會作為例子,給學生作一個“從總體的角度看問題,全面提高自己的綜合能力”的報告。用生動的事例打動和感染學生,講解如何提高自己的生存和競爭能力、自學能力、創(chuàng)新能力以及人文素質等。我強調(diào)要拒絕平庸,要有充分的主動性,要竭盡全力等,給學生留下深刻的印象。第一次課往往是教學中最重要的一課。
計算機系統(tǒng)結構是一門比較難講的課程,不僅概念多,而且許多內(nèi)容比較抽象,難以理解。經(jīng)過20年的教學實踐和摸索,我總結出了一套非常適合于該課程的教學方法,包括動畫解析教學法、關聯(lián)類比法、自頂向下逐層展開法、Learning by Abstracting、Learning by Teaching等。
動畫解析教學法是用大量生動、易懂的簡單動畫,逐步、細致地解析和講解教學內(nèi)容,把動態(tài)的教學過程呈現(xiàn)在學習者眼前。它與普通的多媒體教學不同,強調(diào)采用大量動畫解析教學內(nèi)容,呈現(xiàn)給學習者動態(tài)的教學過程,而不是靜態(tài)的教學材料。我精心設計和負責開發(fā)了200多個動畫,這些動畫把抽象、枯燥的說教變?yōu)樾蜗笊鷦拥膭討B(tài)展示和講解,作用也由以往的“被動”查詢上升到“主動”講授,活躍了課堂氣氛,增加了學習趣味性;課后學生自主學習和復習,寓教于樂,有效地提高了教學效率,取得了良好的教學效果。包含這些動畫的課件已經(jīng)在50多所學校中得到了應用,得到了廣大師生和有關同行專家的高度評價。
關聯(lián)類比法是把該課程中的一些概念、設計策略和思想與現(xiàn)實生活中的生動事例進行關聯(lián)和類比。例如:
Cache映象算法——閱覽室位置分配問題
所有位置都可以隨便坐,還是每個人只有一個位置可以坐?如果所有位置可以隨便坐(相當于全相聯(lián)映象Cache),當要找一個人時,就要逐個詢問或廣播找人(開銷很大);而如果只有一個位置可以坐(相當于直接映象Cache),找人時只要到相應的位置去詢問即可。在緊急時,甚至可以拽著這個人往外跑,邊跑邊問他是否為所要找的人。對應于計算機中,就是把可能要找的數(shù)據(jù)先送給CPU,然后再根據(jù)比較結果向CPU報告剛才是否找對了數(shù)據(jù)。這就是前瞻執(zhí)行。
替換算法——官位替換問題
若來了一位新官,要替換掉一位老官,誰下?
抽簽?輪流坐莊?看過去的業(yè)績?(隨機法、FIFO、LRU)
大概率事件優(yōu)先——好鋼用在刀刃上
流水線技術——工業(yè)生產(chǎn)流水線
局部性原理——Windows 桌面(把最近常用的程序拖到桌面上),衣柜(不同季節(jié)放的是不同的服裝)。
Amdahl定律——要有全局觀念,通盤考慮
自頂向下逐層展開法是按照層次結構來組織教學內(nèi)容,采用“黑匣子”的概念自頂向下、從整體到局部逐層展開;抽象學習法是要求學生根據(jù)具體實例提煉概念和思想,這與系統(tǒng)結構是從系統(tǒng)這一級來研究計算機相吻合。
我很重視教材的建設,因為教材質量直接影響著課程質量。我們編寫的《計算機體系結構》教材(高等教育出版社出版)被列為“面向21世紀課程教材”和“十五”國家級規(guī)劃教材,該教材于2002年獲全國普通高等學校優(yōu)秀教材二等獎,已被中國科技大學、浙江大學、國防科技大學、復旦大學、同濟大學等多所大學采用。在近半年的時間里,我們對國內(nèi)外比較重要的十多本系統(tǒng)結構教材進行了對比分析,提出了更系統(tǒng)的知識結構體系,并在此基礎上編寫了面向重點大學的更全面的系統(tǒng)結構教材——《計算機系統(tǒng)結構》新教材,該書已于五月份出版,是“十一五”國家級規(guī)劃教材。
計算機系統(tǒng)結構課程的實踐教學在國內(nèi)一直是一個難題,很多學校想開設實驗卻沒能開出,主要原因是做系統(tǒng)結構實驗的硬件復雜、成本高,而且不見得采用了硬件就能達到好效果。我們認為,該課程強調(diào)從系統(tǒng)級的層次來研究計算機系統(tǒng),因此可以不必都在專門的硬件平臺上做實驗,在虛擬機上做實驗和進行軟件模擬也可以達到目的,而且可以節(jié)省實驗室的投入,靈活性也比較大。在實驗中,學生可以改變機器的結構和組成,改變所采用的方法,編寫和加載不同的負載程序,執(zhí)行程序跟蹤和觀察機器的工作情況,并進行數(shù)據(jù)統(tǒng)計和性能分析。國外已有的幾個模擬器使用效果比較差,我們目前正在開發(fā)自己的模擬器。
在系統(tǒng)結構精品課程的建設過程中,我們打破了傳統(tǒng)的教學模式,采用了以學生為主體、教師為主導的“雙主模式”,這種模式把以“學”為中心的教學設計理論和以“教”為中心的教學設計理論相結合,既突出了學生作為學習主體的作用,也充分發(fā)揮了教師的主導作用。
我們提出并采用了三個1/3的新模式,把自主學習和專題研究學習放在了與課堂講授同等重要的位置上,三者并舉:
啟發(fā)式課堂講授:1/3(占總時間的1/3)
自主學習:1/3
專題研究學習:1/3
我們建設了系統(tǒng)結構課程的精品課程網(wǎng)站:www.GotoSchool.net。該網(wǎng)站是目前全國同類課程中最好的。