王華彬 周健 李學俊
摘 要:現有的計算機類專業數字邏輯課程體系缺乏系統性,實踐教學內容缺乏工程規模。為了滿足系統能力培養的要求,首先構建合理的數字邏輯課程知識體系,實現與后續課程知識的良好銜接;其次構建適合計算機類專業本科生學習和設計的數字系統工程實踐項目;最后把工程化項目合理引入課堂理論教學過程,在講授原理性知識的同時,培養學生工程項目分析和設計能力。
關鍵詞:數字邏輯;實踐教學;系統能力
中圖分類號:G642 文獻標志碼:A 文章編號:2096-000X(2017)24-0085-03
Abstract: The existing digital logic course system is lack of systematicness in computer major , and the practical teaching content is lack of engineering scale. In order to meet the requirements of system capability, first of all, constructing a rational knowledge system of digital logic course, to achieve a good connection with the knowledge of the follow-up courses; secondly, the construction of digital system engineering practice project suitable for the study and design of computer major undergraduate students; finally, introducing engineering project into the course of classroom theory teaching, training students engineering project analysis and design ability, at the same time, teaching principles of knowledge.
Keywords: digital logic; practice teaching; system capability
一、概述
2015年11月15日,教育部高等學校計算機類專業教學指導委員會發布了“基于系統能力培養的計算機專業課程建設報告”,報告指出,當前我國計算機類專業人才培養中存在一些普遍性問題:“課程知識體系缺乏系統性,學生不能很好地建立完整的計算機系統觀念,且實踐過程中缺乏足夠的工程訓練規模與難度”。在此背景下,教育部高等學校計算機類專業教學指導委員會提出:在高校計算機類專業中推動系統能力培養的重大課題。
“計算機系統能力”指能夠理解計算機系統的整體性、關聯性、層次性、動態性和開放性,掌握計算機硬軟件協同工作及相互作用機制,并綜合運用多種知識與技術完成全系統開發的能力。以系統能力培養為目標的教學改革,是指將本科生自主設計“一臺功能計算機、一個操作系統核心、一個編譯系統”確立為教學目標,并據此重構計算機系統類課程群(這里特指“數字邏輯”“計算機組成”“操作系統”“編譯原理”四門課程),形成邊界清晰且有序銜接的課程群知識體系[1],在實驗體系規劃上強調按工業標準和工程規模開發系統,同時注重探索系統開發的工程化方法以提高學生達成教學目標的達成度[2]。
經過以上分析可知,“數字邏輯”是計算機系統能力培養體系構建的首要環節,而現有的課程教學內容和教學方法難以滿足計算機系統能力培養的要求,當前數字邏輯課程理論和實踐教學存在的問題如下[3][4]:
(一)知識體系難以滿足系統能力培養要求
系統能力培養是一個完整的體系,強調課程之間知識的整合和銜接。而“數字邏輯”課程是一個獨立的知識體系,強調完整性,相關知識比較全面,但是忽略了和后續課程知識的相關性,不能有效整合與銜接,使得學生難以系統地理解課程知識體系。
(二)實踐教學內容缺乏工程規模
數字邏輯課程的實踐教學只是簡單的機械式重復,按照課本要求設計全加器、選擇器、譯碼器等簡單的電路,學生往往不知器件的實際用途,也不會利用所學的知識組合設計應用性電路系統;學生只是學習了簡單實驗方法,缺乏開發具有工程規模系統的實踐。雖然小規模實驗可以達到讓學生基本理解、掌握系統運行原理和初步具備系統開發能力的目的,但由于缺乏足夠的工程工作量,使得復雜系統中存在的較為深刻的問題難以暴露。因此,學生雖然經過了訓練,但卻因訓練強度不足,不能對系統有較為深刻的認識,也就無法完成具有工程規模的系統級開發。
(三)缺乏工程性,綜合式教學方法
數字邏輯課程涉及較多的基本概念和硬件知識,在實際教學中以理論教學為主,忽視了依托實際項目進行講授的實踐教學方法。傳統教學過程主要突出原理性、分析式教學方法,缺乏工程性、綜合式教學方法;突出原理性知識的傳授,注重是什么,有什么,而往往沒有講授一套有效的工程性構建方法。學生雖然知道基本概念,卻難以完成具有一定規模的實驗。
因此,現有的“數字邏輯”課程,強調了知識體系的完整性,忽略了與后續課程之間的銜接;完成了大量的驗證性實驗,欠缺開發一定工程規模系統的實踐訓練;突出原理性知識的傳授,沒有講授一套有效的工程性構建方法[5]。
為了在計算機類專業中推動系統能力培養改革,本文擬對基于計算機系統能力培養的“數字邏輯”課程教學體系建設方案進行改革探索,包括:構建基于計算機系統能力培養的課程知識體系,設計面向工程應用的實踐教學環節,研究工程化項目驅動式教學方法等。
二、基于系統能力培養的數字邏輯課程體系建設方案
構建符合計算機系統能力培養要求的數字邏輯課程體系,主要包括以下內容:構建基于計算機系統能力培養的課程知識體系,實現與后續課程的遞進式銜接;建立面向工程應用的實踐教學體系,并研究工程化項目驅動式的課堂教學方法,提升學生的計算機系統設計能力以及工程項目思維和素養。其中,需要重點研究的問題包括:
1. 如何根據計算機系統能力培養的要求,構建合理的數字邏輯課程知識體系,實現與后續課程知識的良好銜接。
2. 如何構建適合計算機類專業二年級本科生學習和設計的數字系統工程實踐項目,既能達到教學效果,又不至于因為項目過于復雜,打擊學生積極性。
3. 如何把工程化項目合理引入課堂理論教學過程,在講授原理性知識的同時,培養學生工程項目分析和設計能力。
(一)構建基于計算機系統能力培養的課程知識體系
基于系統能力培養的數字邏輯課程在知識體系總量上與以往的教學模式沒有太大的差別,但需要針對系統能力培養目的、技術途徑和方法,對各相關知識點在教學學時和講解重點上進行調整和補充。因此,本文面向系統能力培養要求,以《計算機科學與技術本科專業規范》(CSCE)為基礎,同時考慮課程銜接和實驗工程性和規模性,研究數字邏輯課程所涉及的知識領域、知識單元、知識點以及和后續課程之間的關系,最終建立符合計算機系統設計所需要的主要知識體系。
在系統能力培養中,數字邏輯知識體系是計算機組成原理的邏輯知識和處理器設計及簡單應用的基礎,重點知識點是數值編碼、組合電路設計、狀態機設計、寄存器(狀態存儲器件)、寄存器傳輸控制和可編程技術。在課程知識點銜接上要強調寄存器傳輸控制,同時在課程教學中增加信號接口的一般性概念介紹。表1所示為本文擬構建的面向計算機系統能力培養的數字邏輯知識體系,主要包括:數據表示,數字系統,存儲系統,接口通信等知識單元。
與現有的數字邏輯課程知識體系相比較,一方面:深入講解寄存器、存儲器、譯碼器,等與后續課程相關的知識模塊(表2為數字邏輯課程的知識模塊和其他課程之間的關聯表);同時,增加數字系統接口通信知識模塊的教學,要求學生能夠實現對VGA接口的訪問,通過VGA在顯示器上顯示字符或者圖案。
(二)建立面向工程應用的實踐教學體系
1. 實驗教學環節設計
數字邏輯實踐教學環節,學生需實用硬件實驗箱或EDA軟件工具,完成包括譯碼器、加法器、算術邏輯運算單元、寄存器等一系列計算機基礎硬件組件的設計和開發。學生在完成這些實驗項目的同時,就完成了指令譯碼器、數據選擇器、ALU、數碼寄存器、移位寄存器和寄存器堆、32位定時器/計數器、程序計數器、乘法單元等 CPU 主要功能部件的設計。這些功能部件將在后續的計算機組成原理實驗中被直接使用。
“數字邏輯實驗”教學內容主要包含兩個方面,驗證性實驗和應用性系統設計。這二類實驗的前提是學生已經掌握所涉及的知識,通過實驗,鞏固、加深和拓寬學生對課程內容的理解。擬構建的“數字邏輯實驗”教學體系,計劃安排9次,共計36個學時,擬設計的實驗教學內容如表3。
2. 課程設計教學環節設計
增加數字邏輯課程設計環節,利用Verilog硬件描述語言和軟件工具,設計面向工程應用的數字系統項目,培養學生獨立思考的習慣,激發其創新意識,進一步提高學生的實踐能力。具體設計過程中,要求學生查手冊比較相關器件的差別,選定合適的器件,制定出設計方案,并畫出邏輯圖;畫出集成電路芯片布局布線圖;安裝、調試通過并比較其他不同的設計方案,設計報告并提出改進意見。擬設計的部分面向工程應用的課程設計項目如表4。
3. 數字系統實踐教學平臺搭建
現有的基于數字邏輯課程實驗箱一般是基于“邏輯門電路+插線”的方式,只能做簡單的驗證性實驗,無法滿足數字系統的設計要求。因此,必須設計和實現數字系統實踐教學平臺。電路的計算機輔助設計與分析技術已成為電路系統分析和設計的有力工具,借助EDA軟件進行數字邏輯課程設計,突出了以學生為中心的開放模式,激發學生大膽想象并嘗試各種不同的設計方案、采用不同的集成元器件,對培養學生的創新意識有所幫助。
本文計劃設計的數字系統實踐教學平臺的特點如下:
包含傳統的IC插座,支持使用基本的74系列芯片進行驗證性實驗和簡單的應用性設計。目的是為了讓學生對基本芯片和簡單電路連接有直觀的認識。
包含FPGA芯片I/O接口,支持軟件編寫小型數字系統,學習FPGA設計以及Verilog HDL硬件編程語言,用于小型數字系統的設計。
(三)探究工程化項目驅動式的課堂教學方法
“數字邏輯”課程課堂教學中需要引入“工程化項目驅動式”教學方法,將主要授課內容融入到一個個項目中去,構建項目驅動式實踐教學體系。
“工程化項目驅動式”教學法是基于工作過程的一種探究式教學方法,由教師將所要學習的新知識隱含在一個或幾個基于工作過程為導向的項目之中,學生通過自己對工作過程的項目進行分析、討論,明確工作過程的項目大體涉及哪些知識,在老師的指導和幫助下找出解決問題的方法,最后通過項目的完成而實現對所學知識的傳授。基于以工作過程為導向的“工程化項目驅動式”教學法與傳統的教學法相比,主要有三大轉變:以教師為中心轉變為以學生為中心,以課本為中心轉變為以項目為中心,以課堂為中心轉變為以工作過程為中心。
“工程化項目驅動式”教學法在“數字邏輯”課程中應用,正是基于數字邏輯課程具有較強實踐性的特點,理論教學和實踐教學不可能完全分開,在課堂教學中引入相應的小型電路系統項目實施教學,可以起到事半功倍的效果。
三、結束語
系統能力培養是當前國內計算機類專業研究的熱點和難點,數字邏輯課程是計算機系統能力培養的首要環節,因此,本文研究的內容是當前國內本科教學改革的主流和前沿;另外“工程教育認證”是當前國內本科高校的重要工作內容之一,認證要求學生具有解決復雜工程問題的能力,現有的數字邏輯課程教學難以滿足工程認證要求,經過本文的研究,通過建立面向工程應用的實踐教學體系,在教學中引入工程化數字系統項目,提升學生解決復雜工程問題的能力。
參考文獻:
[1]馮國富,馬玉奇,易叢琴.面向數字邏輯與計算機組成原理銜接的實踐環節[J].計算機教育,2017(2):141-145.
[2]肖娟,張雯霧.轉型發展中數字邏輯課程教學改革研究[J].現代計算機,2015(9):17-19.
[3]李永華.數字邏輯與數字系統課程MOOC建設探討[J].實驗室科學,2017,20(4):173-176.
[4]王心剛,賀利,張冬至.數字邏輯電路精品實驗項目的設計與實踐[J].實驗室研究與探索,2017,36(9):175-178.
[5]李山山,劉敬晗,等.計算機專業數字邏輯實驗教學探索[J].實驗科學與技術,2016,14(2):115-118.
[6]王華彬,錢付蘭,李學俊,等.計算機類專業“數字邏輯課程設計”教學模式探索[J].高教學刊,2016(03):66-67.