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