王宗俠,韓德強
(北京工業(yè)大學(xué) 信息學(xué)部,北京 100124)
數(shù)字邏輯實驗是高校計算機相關(guān)專業(yè)本科生的實踐類必修課,是計算機組成原理、微型計算機接口技術(shù)、計算機體系結(jié)構(gòu),甚至是編譯原理和操作系統(tǒng)等課程實踐環(huán)節(jié)開展的基礎(chǔ)和保障。在國家重視高等教育實踐教學(xué)工作[1-3]的大背景下,在就業(yè)形勢的倒逼下,夯實基礎(chǔ)、培養(yǎng)系統(tǒng)思維、具備前瞻視野,成為了數(shù)字邏輯實驗課教學(xué)中必須要考慮的問題。
以項目為驅(qū)動,就是從系統(tǒng)[4-5]的角度認識和設(shè)計基礎(chǔ)實驗,打破傳統(tǒng)的碎片化實驗組織方式,使相對獨立的多個基礎(chǔ)實驗從系統(tǒng)角度構(gòu)成一個有機整體,要求學(xué)生站在系統(tǒng)的高度設(shè)計各模塊電路,最終完成一個完整的小項目。
要以一個項目串聯(lián)起整門課程內(nèi)容,項目的選取至關(guān)重要,所選取的項目至少要具備以下特點。
1)項目要有綜合性。
此處主要是指內(nèi)容方面,項目涉及的知識要較好地覆蓋課程實踐教學(xué)大綱的內(nèi)容,包括典型的組合電路:譯碼器、數(shù)據(jù)選擇器和加法器等的分析和設(shè)計;典型的時序電路:鎖存器及觸發(fā)器、計數(shù)/定時器、移位寄存器等的分析和設(shè)計;也可涉及有限狀態(tài)機的思想[6]。
項目的知識覆蓋情況要靠指導(dǎo)教師來把握,要求指導(dǎo)教師具有豐富的設(shè)計經(jīng)驗和分析設(shè)計能力,幫助學(xué)生把好關(guān)。
2)項目要有趣味性。
課程中所選取的項目要接近學(xué)生的生活,或是學(xué)生比較了解的東西,這樣可以降低認知門檻,使學(xué)生專注于設(shè)計內(nèi)容本身而無需做過多的需求分析。此外,親手實現(xiàn)一個習(xí)以為常的產(chǎn)品,不僅可以使學(xué)生獲得極大的成就感,還可以激發(fā)學(xué)習(xí)興趣,誘發(fā)創(chuàng)造熱情,為后續(xù)課程的學(xué)習(xí)打好思想基礎(chǔ)。
3)項目要有可擴展性。
所選取的項目應(yīng)能滿足不同層次學(xué)生的需求。對于知識和能力一般的學(xué)生,最終可以得到一個完整的設(shè)計作品;而對于能力較強的學(xué)生,該項目的功能或性能也應(yīng)具有可擴展的空間,使學(xué)生的潛力能被充分挖掘和發(fā)揮。
4)項目難度要適中。
作為計算機系統(tǒng)結(jié)構(gòu)課程群的第一門實踐課,數(shù)字邏輯實驗內(nèi)容比較基礎(chǔ)、簡單,否則易使剛剛?cè)腴T的學(xué)生產(chǎn)生畏難情緒,不利于之后專業(yè)的學(xué)習(xí)和教學(xué)活動的開展。這就要求所選取的項目結(jié)構(gòu)不宜太復(fù)雜,確保學(xué)生經(jīng)過學(xué)習(xí)和研究完全可以勝任。
滿足以上特點的小項目很多,計算器、數(shù)字鐘和保險箱等都是不錯的選擇。當然一門課可以提供多個項目供學(xué)生自由選擇,這樣的差異化處理更能滿足不同學(xué)生的興趣,擴展了課堂廣度和學(xué)生的認知維度,達到1+1>2 的效果。
以項目“整型算術(shù)計算器”為例,實驗的具體實施過程[7-8]如下。
這種具有開放性的題目,但知識覆蓋明確的實踐課程對指導(dǎo)教師的備課有非常高的要求。教師備課主要需要做以下工作。
1)聯(lián)系數(shù)字邏輯理論課和學(xué)生實踐基礎(chǔ),按照實踐課程大綱之規(guī)定,明確實驗需要覆蓋的知識范圍[9-10]。
數(shù)字邏輯實驗的知識覆蓋范圍見表1。關(guān)于各電路模塊,指導(dǎo)教師應(yīng)準備短小精悍的串講型小視頻,帶學(xué)生回顧理論課所學(xué),同時提供完成該實踐所需的其他文檔資料、擴展材料和參考教材等內(nèi)容,所提供的材料力爭與理論教學(xué)緊密聯(lián)系,高度提煉、切忌冗繁,同時又側(cè)重知識的應(yīng)用,能啟發(fā)思路。
表1 數(shù)字邏輯實驗的知識覆蓋范圍
2)確定學(xué)生需要掌握的實驗技能,建立與知識的聯(lián)系,細化落實步驟。
具體而言,數(shù)字邏輯實驗至少要求學(xué)生掌握:一款EDA 軟件的操作方法和使用流程;電路的仿真方法;會看波形圖;會看電路原理圖;簡單電路的調(diào)試方法;系統(tǒng)的分析和設(shè)計方法等。以上實驗技能分步驟由簡至難逐步落實在各個模塊電路的實現(xiàn)中,如仿真方法的學(xué)習(xí)可以從簡單的波形文件輸入法逐漸過渡到硬件描述語言的仿真文件輸入法。以上技術(shù)也可按專題準備講解小視頻或操作指南,材料應(yīng)具備很強的可操作性。
3)確定備選項目,逐一分析,模塊化,畫出系統(tǒng)框圖,然后設(shè)計電路,最后對電路進行調(diào)試驗證。
在布置給學(xué)生之前,指導(dǎo)教師要先行實現(xiàn),一方面可以進一步驗證設(shè)計的可行性,亦能提前發(fā)現(xiàn)備課前兩個階段工作中存在的問題或可改進的方面。
以整型算術(shù)計算器項目為例,可以得到其框圖如圖1 所示。
圖1 整型算術(shù)計算器系統(tǒng)框圖
系統(tǒng)包括輸入電路、運算電路和輸出電路,將各部分進一步細化,可以得到詳細的模塊框圖,如圖2 所示。
圖2 整型算術(shù)計算器模塊框圖
至此,得到了由表1 中的電路模塊搭建而成的整型算術(shù)計算器的電路框圖,定義各模塊的輸入輸出端口,然后逐一實現(xiàn)并驗證,即可完成項目設(shè)計。指導(dǎo)教師需要像整型算術(shù)計算器那樣實現(xiàn)所有的備選項目。
4)電路模塊加密打包。
為了使學(xué)生體驗到如何從系統(tǒng)的角度設(shè)計和調(diào)試電路,實驗前指導(dǎo)教師要提供給學(xué)生實現(xiàn)的電路,在實驗過程中要求學(xué)生用自己設(shè)計的模塊電路替換指導(dǎo)教師提供的電路,最終完全用自己的電路實現(xiàn)項目。
要將已實現(xiàn)的電路提供給學(xué)生,以便于其從項目整體功能的角度調(diào)試模塊電路,但又不能讓學(xué)生看到各模塊的具體實現(xiàn)方法,限制學(xué)生的思路,因而需要按模塊對電路進行加密。然后將加密好的子模塊和調(diào)用子模塊的頂層設(shè)計文件一起打包好提供給學(xué)生。
借鑒翻轉(zhuǎn)課堂[11-12]的思想,充分調(diào)動學(xué)生的主動性,將學(xué)生變?yōu)閷嵺`的主體。課前一周布置預(yù)習(xí)任務(wù),提供一個模塊電路的視頻和文檔資料,幫助學(xué)生復(fù)習(xí)理論課知識,同時提供該實驗應(yīng)掌握的實驗技能小視頻或其他資料,然后自己設(shè)計或描述模塊電路,進行仿真驗證。預(yù)習(xí)過程中要求學(xué)生詳細記錄自己的思考和遇到的問題,為課上討論做好準備。同時,上網(wǎng)查閱資料,提出該模塊電路的一個應(yīng)用場景。
指導(dǎo)教師是實驗課堂的組織者,把控課堂節(jié)奏,營造舒適、積極的討論氛圍,激起同學(xué)們的參與熱情,腦、手共用是指導(dǎo)老師的主要職責。作為課前預(yù)習(xí)的承接和延續(xù),實驗課堂主要包括以下環(huán)節(jié)。
(1)收集預(yù)習(xí)過程中提出的問題,每小組1~2 個,匯總出共性或典型問題。先在小組內(nèi)討論,然后每組就其中一個問題匯報討論成果,全班討論,最后教師進行總結(jié)。對于預(yù)習(xí)中提出的個性化問題,指導(dǎo)教師在下一環(huán)節(jié)進行過程中一對一交流。以上過程鼓勵學(xué)生用實驗手段去證明自己的論點,充分發(fā)揮實踐課的優(yōu)勢。
(2)教師提出課程設(shè)計任務(wù):將課前所設(shè)計的基本電路模塊進行改造,用其替換所選項目的系統(tǒng)電路框圖(指導(dǎo)教師提供給學(xué)生)中對應(yīng)的模塊,進行系統(tǒng)功能測試,驗證設(shè)計的正確性。通過這個過程,訓(xùn)練學(xué)生站在系統(tǒng)的高度理解各部分電路的定義和其在系統(tǒng)中所發(fā)揮的作用。
仍以整型算術(shù)計算器為例,在“加法器”實驗中,學(xué)生已在課前實現(xiàn)了一個4 位的BCD 加法器,課上可要求學(xué)生進行位擴展,將輸入輸出端口修改為與圖2(b)中“算術(shù)運算單元”相兼容的格式。對于能力強的同學(xué),可以建議他們增加減法、乘法和除法運算。
(3)設(shè)計驗收。當堂逐組檢查設(shè)計結(jié)果,要求學(xué)生在硬件平臺上展示實驗結(jié)果,并能正確解釋實驗現(xiàn)象。鼓勵學(xué)生嘗試“意外”輸入,并對現(xiàn)象進行解釋,培養(yǎng)全面、發(fā)散、好奇、勇于嘗試和心細如發(fā)的實踐品德。
經(jīng)過課前和課上兩個環(huán)節(jié),學(xué)生已達到知識和技能要求,但要將整個過程內(nèi)化為學(xué)生的思維方式和能力,還需要重視課后的總結(jié),總結(jié)的結(jié)果以實驗報告的方式呈現(xiàn)出來。
總結(jié)要注重整體性。從實驗任務(wù)的提出,得出解決思路、設(shè)計電路、驗證電路、遇到的困惑、解決的過程、最終的結(jié)論和衍生的思考等將整個環(huán)節(jié)組織串聯(lián)起來,有邏輯地一一呈現(xiàn),展現(xiàn)一個完整的過程。
總結(jié)要有側(cè)重點。若只注重整體性而沒有側(cè)重點,實驗報告很可能淪為流水賬,事無巨細,既增加了學(xué)生負擔,也弱化了其總結(jié)和自省作用。因而,可建議學(xué)生側(cè)重于一兩個問題去總結(jié)自己的實踐過程。
總結(jié)格式要規(guī)范??偨Y(jié)是訓(xùn)練學(xué)生文檔整理能力的主要環(huán)節(jié)。作為低年級的實踐課,需要教會學(xué)生如何有邏輯且格式規(guī)范地整理文檔,一般會向?qū)W生提供統(tǒng)一的參考模板。模板會按照一般行文邏輯進行章節(jié)劃分,規(guī)定字體、字號,段落格式,圖表規(guī)范等。
總結(jié)要及時。要求學(xué)生養(yǎng)成實驗后立即總結(jié)的習(xí)慣,在所有操作記憶和理解未模糊或消失前及時總結(jié),會使該環(huán)節(jié)的效果達到最好。
對學(xué)生實驗情況的評價[13-14]按實驗分環(huán)節(jié)進行。由于數(shù)字邏輯實驗側(cè)重基本電路模塊的設(shè)計,因此過程性評價占主導(dǎo),實驗成績較大比重放在其上;由于應(yīng)用翻轉(zhuǎn)課堂思想的實驗課更強調(diào)學(xué)生的課前預(yù)習(xí),因此預(yù)習(xí)環(huán)節(jié)占總成績的比重較傳統(tǒng)實驗課較高??偨Y(jié)起來,建議按表2 所示的比例劃分。
表2 實驗成績評定
在以上形成性評價的基礎(chǔ)上,再結(jié)合最終系統(tǒng)的功能和運行情況給出本門課程的總結(jié)性評價結(jié)果。
基于典型項目的數(shù)字邏輯實驗課程實施方法將傳統(tǒng)的碎片化的模塊實驗通過一個項目串聯(lián)為一個有機整體,使學(xué)生不僅學(xué)會各電路模塊的設(shè)計方法,而且對它們的應(yīng)用有較深入的理解。實驗實施過程借鑒了翻轉(zhuǎn)課堂的思想,充分發(fā)揮了學(xué)生的主觀能動性,最大限度地讓學(xué)生成為設(shè)計的主人。與傳統(tǒng)的“由分到總”(即先學(xué)習(xí)模塊電路的設(shè)計方法,然后進行系統(tǒng)綜合)的實驗方式相比較,這種以項目驅(qū)動的實驗組織方式將系統(tǒng)(全局)的思想貫穿在每一次實驗中。與傳統(tǒng)的實驗課[15]先設(shè)計“積木塊”,然后再看用這些零件搭個什么出來不同,項目驅(qū)動的實驗一開始便非常明確系統(tǒng)的設(shè)計目標,每一個子模塊的設(shè)計都在為總目標的達成服務(wù),這種整體與部分、宏觀與微觀的深度結(jié)合,使得系統(tǒng)思維和實現(xiàn)能力雙提高的課程目標更易于達成。翻轉(zhuǎn)的實驗實施過程從時間和空間上擴展了課堂維度,為后續(xù)課程的學(xué)習(xí)和實踐打下了較好的基礎(chǔ)。