楊 軍,孫欣欣,張 坤,田粉仙
(云南大學 信息學院,云南 昆明 650091)
我國正在全面實施創新驅動發展及“互聯網+”“一帶一路”倡議等一系列重大舉措,目的是為了讓學生把理論與實踐相結合,掌握相關實驗科學的基本理論、方法和技能[1];培養學生實事求是、嚴肅認真的科學態度,靈活多變、敢于創新的科學思維和刻苦鉆研、堅韌不拔、團隊協作的科研作風。建設與發展“新工科”是提高人才競爭力和深化工程教育范式改革、滿足國家產業經濟發展的現實需求[2]。云南大學在“新工科”背景下也注重加強學生在實踐教學中自主學習能力和創新能力的培養。
2017 年2 月以來,教育部積極推進“新工科”建設,先后形成了“復旦共識”“天大行動”和“北京指南”[3]。目前,云南大學信息學院所涉及的新工科專業有計算機科學與技術,其中主要包括數據挖掘、深度學習、機器學習、云計算、人工智能、圖像處理等相關方向的研究。為響應教育部的號召,云南大學信息學院將在這些基礎上探索實驗教學的內容和方法,提高實驗教學質量,發揮實驗課程培養創新人才的作用[4-6];同時,根據培養目標和人才理念,建立科學、多樣的評價標準。可見,對實驗課程教學質量和效果進行正確的評價,順應國家教育改革和發展的整體趨勢,對加強實驗室建設、深化實驗教學改革、完善實驗課程教學理念與方法,最終提升實驗教學水平、提高人才培養質量具有重大意義。
基于FPGA 的SOPC 系統是以硬件描述語言為基礎進行相關電路的設計與開發[7-8],圖1所示為基于FPGA 的SOPC 嵌入式系統知識體系。該課程以電子、計算機編程等技術為基礎,在學習SOPC 實驗課程的過程中,除了必備一定量的理論課程基礎和熟悉以FPGA 為基礎的硬件結構以及開發軟件外,還要求能夠將軟、硬件結合,在實際的編程設計中掌握硬件電路的開發技巧。
傳統的基于FPGA 的SOPC 實驗教學方法是以理論教學為主,先講解硬件描述語言和FPGA芯片的內部結構和邏輯關系,在此基礎上進行開發軟件的學習,最后基于開發軟件生成的系統,在實驗箱上完成一些驗證實驗[9-11]。這種教學方法主要有以下幾個問題。

圖1 基于FPGA 的SOPC 嵌入式系統知識體系
(1)傳統的計算機專業很少將軟硬件結合起來進行一個項目的設計,FPGA 的并行性也僅僅用于硬件實現。傳統的基于FPGA 的SOPC 實驗課程教學以課本理論為主,教師在理論授課時通常只注重講解基本原理,內容枯燥抽象,而且其實驗課程教學是以驗證性實驗為主,學生只需按照實驗要求操作得到正確的實驗結果即可,不注重實驗設計的原理,也不注重學生創新思維的培養。例如,在講解基本的乘法器實驗時,采用圖2 所示的教學方式,學生往往一知半解,很難激發學生的興趣,也無法讓學生體會到學習硬件設計的樂趣,更難以發揮學生學習的主動性。
(2)在實驗過程中學生過分依賴老師的指導,在乎實驗的結果而忽略實驗的過程,做SOPC 實驗時,使用Verilog 語言編寫乘法器,不驗證實驗數據結果的正確性。學生即使產生了比較有創意的電路設計方法,也無法通過有效的實驗手段去驗證,在實驗過程中只能掌握最基本的軟件使用方法,無法深入地理解電路編程的編寫思想和實踐思路。同時,由于實驗教學學時安排分散,導致一些用時較久、規模較大、設計較先進的綜合性實驗無法有效地展開,進一步降低了學生的學習成果。
(3)最后,傳統的基于FPGA 的SOPC 實驗課程教學考核分為期末考試和平時實驗成績,且實驗部分注重實驗完成的數量,不注重實驗完成的質量,使得一部分學生對于平時的學習過程和實踐環節不夠重視;期末考試注重考前突擊復習,為了考試而學習,達不到培養應用型人才的教學目的。
因此,需要研究在“新工科”背景下的SOPC 課程的改革,從而培養一批創新型、實踐型人才[12]。
案例式教學與傳統的課堂理論授課方式不同,它是通過對實驗項目的講解和適當拓展,將課堂知識點整合到其中,以降低理論知識的抽象性,同時要求學生在教師講授案例的同時,邊學習邊實踐,在工程實例的實踐中學習到各種知識,這樣不僅能加深學生對知識點的理解,還能鍛煉學生在實際操作中發現問題、分析問題、解決問題的能力,真正達到學以致用的目的。
以FPGA 實現乘法器為例,講解案例式教學的具體實施方案如圖3 所示。用案例式教學方法講授乘法器實驗時,應首先讓學生單獨思考乘法器的構成,結合自己的知識儲備,設計出自己認為最合理的乘法器原始電路;其次將學生以小組為單位分為若干組,進行組內討論,學習其他學生的設計思想;最后指導老師對該實驗進行權威講解,并根據學生設計的優秀思路或誤區,針對性地進行乘法器實驗的擴展指導,同時在指導老師的講解過程中,要求學生邊聽課邊實踐,在項目實踐中學習乘法器的理論知識。

圖3 基于案例式的乘法器實驗教學
案例式教學方式也對教材有特定的要求,開課前不僅需要根據教學大綱精選實驗案例,優化整合課程教學內容,選擇合適且經典的工程應用案例,還需結合學生的知識儲備基礎,針對不同地區、不同學校的學生選擇合適的教材來設計案例,做到因材施教。
實驗內容方面,在原有的實驗基礎上增加與工程案例相關的設計型和綜合型實驗內容,將實驗環節設計為4 個等級:驗證型實驗、設計型實驗、綜合設計實驗和創新型實驗。驗證型實驗的實驗內容較為簡單,旨在鍛煉學生能夠熟練使用SOPC 系統開發軟件和培養正確的SOPC 系統開發思維。設計型實驗有一定的難度,要求學生有足夠扎實的理論基礎,且設計方法并非唯一,可充分鍛煉學生的思維創造能力,使其能夠設計出更合理、占用硬件資源更少的SOPC 系統。綜合設計實驗較為復雜,為確保能在有限的時間內完成此部分實驗,可將學生分為兩人一組,在學生熟練使用SOPC 開發軟件的基礎上,綜合運用所學知識和查閱相關資料完成實驗項目,初步培養學生的自主學習能力和團隊協作能力。創新型實驗是在綜合設計實驗的基礎上展開的,要求學生自主學習FPGA 及其相關技術,設計出高效且實用的SOPC 系統。
實驗方法手段方面,改進和設計實驗課件,針對同一個實驗使用不同的技術,讓學生全面地掌握基于FPGA 的SOPC 系統設計方法。例如,在乘法器的實驗教學中,采用圖4 所示的流程實施教學。

圖4 改進的乘法器實驗教學流程
首先通過驗證型的實驗理解乘法器的硬件原理,再通過自學SOPC Building 和Qsys 組件,綜合運用不同的技術實現乘法器,達到全面掌握乘法器的設計目的;進而以乘法器為基礎,通過綜合設計型實驗,設計出算術邏輯部件ALU;接下來通過自學FPGA 及其相關技術,在ALU 的基礎上創新設計出并行運算器,并以此并行運算器為基礎,設計出高效且實用的科技作品;最后可將自己的科技作品申報國家創新項目、參加電子設計大賽、發表論文等。
以上實驗內容和方法手段的改革緊緊圍繞實驗、設計、創新3 條主線,可以有效地鍛煉學生運用科學知識與方法解決實際問題的能力以及團隊協作能力、獨立學習能力,將學生的學習成果轉變為科技作品,極大地提升學生的學習興趣。
為了進一步激發學生學習的積極性和主動性,需對實驗成績考核進行改革。實驗成績考核的改革包括平時成績、實驗操作成績、實驗報告成績和綜合實驗成績,其改革的核心是在實驗課上推行座位實名登記表及現場檢查驗證制度。
實驗課采用按實驗臺編號登記學號、姓名,實驗完成后由實驗指導老師現場檢查實驗系統的運行情況及實驗結果正確與否,再根據具體情況現場打分(A、A+、B、B+、C、C+)。學生的考勤也以登記表為準,總計占實驗成績的70%~80%。
在“新工科”背景下,云南大學信息學院開設了新的專業以及新的研究方向。基于FPGA 的SOPC 系統設計是電子類和計算機類專業的一門必修課程,未來電子行業對FPGA 嵌入式人才的需求主要集中在SOPC 系統設計工程師上,目前我國高校開設的基于FPGA 的SOPC 實驗課程存在過于注重理論教學、實驗部分以驗證性實驗為主、缺乏創新思維培訓等問題,導致學生失去學習興趣,達不到培養應用技術型人才的要求。因此,一套科學的實驗教學方法就顯得尤為重要。
基于FPGA 的SOPC 實驗課程自2015 年改革以來成果顯著。云南大學系統結構實驗室指導的學生課外科技小組本碩學生共發表EI 檢索科技論文26 篇,其中,研究生18 篇,本科生8 篇;獲得軟件著作權8 項。2016 年指導本科課外科技小組獲得全國大學生電子設計競賽全國二等獎和云南賽區一等獎,指導碩士生連續3 年獲得研究生電子競賽優勝獎,在學校組織的“互聯網+”比賽獲得一等獎等。
通過采用案例式的教學方法、合理地選擇和設計教學內容、改變課程考核方式等措施,不斷完善實驗教學環節:驗證型實驗、設計型實驗、綜合設計實驗和創新型實驗,旨在激發學生的學習興趣,提高學習效率,充分調動學生學習的自主性和培養學生的創新創造能力,達到培養應用型人才的目標。