龍雪玲 戴 歆
(1.武漢商學院 信息工程學院 湖北武漢 430056;2.武漢商學院 信息工程學院 湖北武漢 430056)
《中國制造2025》要求培養(yǎng)既掌握本專業(yè)技能,又有跨專業(yè)能力的創(chuàng)新型、復合型人才[1]。因此,要打破傳統(tǒng)實驗教學模式,開創(chuàng)實驗教學新方法,樹立人才培養(yǎng)新理念。軟件工程專業(yè)的人才培養(yǎng)模式中,要求軟件專業(yè)的交叉化、軟件人才的復合化以及軟件技術的智能化,與智能軟 件應用行業(yè)深度融合,培養(yǎng)高質(zhì)量的“行業(yè)軟件開發(fā)人才”,填補智能制造復合型人才的缺口。
數(shù)據(jù)結(jié)構(gòu)與算法課程設計是在培養(yǎng)學生應用數(shù)據(jù)結(jié)構(gòu)與算法知識分析、解決問題的重要實踐環(huán)節(jié),對提高學生綜合應用所學理論知識以及協(xié)作精神起著十分重要的作用。傳統(tǒng)的課程設計項目已無法滿足“兩性一度”要求以及智能軟件行業(yè)的人才需求,依托于人智能軟件發(fā)展的熱潮,數(shù)據(jù)結(jié)構(gòu)課程設計也面臨著授課方式的調(diào)整[2]。
數(shù)據(jù)結(jié)構(gòu)與算法是智能化軟件開發(fā)中設計與實踐的基礎,將數(shù)據(jù)結(jié)構(gòu)與算法課程設計的教學面向典型智能化軟件的設計與實踐中,能夠提高學生解決復雜工程問題的能力,適應智能制造大環(huán)境下現(xiàn)代智能化軟件產(chǎn)業(yè)對技術和能力的需求[3]。
傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與算法課程設計,主要圍繞以某種程序設計語言(C語言為主)采用單一數(shù)據(jù)結(jié)構(gòu)(線性結(jié)構(gòu)為主)的簡單虛擬案例進行設計實踐,如圖書信息管理系統(tǒng)、鐵路客票管理系統(tǒng)等。學生將所要解決問題的程序驗證性地調(diào)試通過,設計結(jié)果常以單一的編譯器運行結(jié)果體現(xiàn),課后以實驗報告作為課程設計評價依據(jù)。傳統(tǒng)的教學模式存在的問題主要有以下幾個方面。
以驗證性為主的課程設計項目,主要圍繞著基礎數(shù)據(jù)結(jié)構(gòu)及算法的應用,脫離現(xiàn)代軟件產(chǎn)業(yè)的需求,不僅學生的獲得感不足,而且無法將所學理論知識應用工程應用實際問題的求解。
對于傳統(tǒng)的課程設計項目,學生在實踐過程中,無法體驗數(shù)據(jù)結(jié)構(gòu)以及算法的分析設計過程,無法將實際問題抽象為計算機可處理的特定模型的計算思維能力的培養(yǎng)[3]。
課程設計過程應該包含需求分析、方案設計、編碼測試、評估等核心環(huán)節(jié),但傳統(tǒng)的課程設計模式,學生傾向于直接編寫代碼進行測試,達不到課程設計的目的,更無利于軟件工程思維能力的培養(yǎng)。
緊跟科技發(fā)展趨勢,適應智能軟件行業(yè)的人才需求,針對前面所提出的課程教學中存在的問題,以“淘汰水課,打造金課”為課程建設目標,完善現(xiàn)有課程教學模式[4]。
(1)數(shù)據(jù)結(jié)構(gòu)與算法課程設計是一門實踐性很強的課程,為課程實驗環(huán)節(jié)設計一系列具備高階性、創(chuàng)新性和挑戰(zhàn)度的綜合實驗項目是教學改革的關鍵。
(2)以前沿、成熟的技術體系為主線,既需要涵蓋專業(yè)基礎理論知識,軟件工程開發(fā)知識,也需要側(cè)重于與前沿智能軟件技術相結(jié)合。
(3)依托綜合實驗項目,實現(xiàn)軟件開發(fā)生命周期體驗,包含需求分析、方案設計、編碼測試、評估等關鍵環(huán)節(jié)[5]。
(4)通過學生自主學習、設計實踐、項目匯報、實驗文檔撰寫等環(huán)節(jié)構(gòu)建多維度的過程性評價與考核體系。
國務院在《中國制造2025》中指出,未來10年,我國智能制造的首要目的是在解放勞動力的前提下,實現(xiàn)生產(chǎn)力與生產(chǎn)質(zhì)量的進一步提高,其核心競爭力還是比的“快速”和“精準”。智能制造的核心是“智”,“智”的核心則是信息獲取和處理的快和準。視覺與圖像技術是20世紀人類最偉大技術之一。人們感知外界信息的70%是通過眼睛獲得的,圖像包含的信息量是最巨大的。信息時代,特別是工業(yè)信息時代,視覺圖像技術注定將成為扛鼎。
視覺與圖像技術,極大地提高了工業(yè)自動化中信息的獲取能力,信息將不再是單一維度的簡單數(shù)據(jù),而是廣域立體的海量數(shù)據(jù),視覺技術被廣泛應用于工業(yè)機器人領域,主要具有四個功能:
一是引導定位。視覺定位要求機器視覺系統(tǒng)能夠快速準確地找到被測零件并確認其位置,上下料使用機 器視覺來定位,引導機械手臂準確抓取,這就是視覺定位在機器視覺工業(yè)領域最基本的應用。
二是外觀檢測。檢測生產(chǎn)線上產(chǎn)品有無質(zhì)量問題,該環(huán)節(jié)也是取代人工最多的環(huán)節(jié)。
三是高精度測量。有些產(chǎn)品的精密度較高,達到0.01~0.02m,甚至到u級,人眼無法測量,必須使用機器完成。
四是識別。就是利用機器視覺對圖像進行處理、分析和理解,以識別各種不同模式的目標和對象,可以達到數(shù)據(jù)的追溯和采集。
視覺與圖像技術在工業(yè)自動化領域的重大作用,相當于給工業(yè)設備安裝了一雙超級“智眼”。未來的工業(yè)生產(chǎn)將以“智眼”為核心,裝備在千千萬萬、形形色色的設備上,指揮各種各樣的“手、腳、身體”動作,實現(xiàn)“深度感知、智慧決策、自動執(zhí)行”,成為“智人”。
移動機器人是當前工業(yè)自動化領域較成熟的產(chǎn)品,其中,常見的視覺智能小車所涉及的智能模塊亦是當前智能軟件行業(yè)的核心業(yè)務基礎。課程將以視覺智能小車為載體進行設計與開發(fā)。小車完整的開發(fā)涉及到硬件及軟件的部分。其中,軟件部分的設計與開發(fā)包含大量豐富的數(shù)據(jù)結(jié)構(gòu)應用及算法的設計。這些成熟的產(chǎn)品為課程提供了大量優(yōu)秀素材,想要完整實現(xiàn)智能小車的開發(fā)并非易事。因此,需要適當?shù)夭眉艉托薷男≤嚨墓δ?,弱化硬件的開發(fā)量,簡化系統(tǒng)架構(gòu),選取具有代表性數(shù)據(jù)結(jié)構(gòu)與算法的智能化模塊進行開發(fā)實踐,從而適合課堂教學。
課程擬選取簡化后的基礎智能模塊與智能制造核心技術對應關系見表1所列。
課程設計內(nèi)容以樹莓派4B為主控的智能小車作為載體,可支持多種主流編程語言,如Python語言(后續(xù)的實踐基于Python語言進行開發(fā)),以主流的Jupter Lab為開發(fā)工具,學生們?nèi)菀咨鲜?。以Open Source CV為主要圖像處理庫,搭配二自由度攝像頭云臺,可以實現(xiàn)典型的AI視覺功能,包括人臉跟蹤、顏色跟隨、二維碼識別、手勢識別等多種智能模塊.這些智能模塊多以數(shù)值矩陣進行數(shù)據(jù)邏輯表達以及應用經(jīng)典圖像算法處理庫進行計算,適合底層語言的深度學習及進行拓展設計開發(fā)。另外,對于智能小車開發(fā)涉及的課程以外的理論或技術,需要編寫補充學習資料,幫助學生快速掃除障礙,盡快進入智能小車的開發(fā)實戰(zhàn)中。
考慮到數(shù)據(jù)結(jié)構(gòu)與算法課程設計開設在大一下學期,學生具備一定的編程能力、數(shù)據(jù)結(jié)構(gòu)以及算法基礎,但是對于類似于智能小車的開發(fā)屬于一個幾乎嶄新的領域,從基本硬件組裝、算法設計到后期的燒錄測試都具備一定的難度,因此,在智能模塊的自主開發(fā)中采用四人一組的形式開展,具體的智能模塊選題可以自選,老師進行微調(diào)確保選題全覆蓋。智能模塊選題如見表2所列。
表2 智能模塊選題表
本課程計劃學時為24學時,課程教學安排分為6個階段,包括課前預習、理論精講、基礎引導實驗、自主設計與實踐、小組答辯、總結(jié)匯報。具體教學安排如見表3所列。
表3 教學計劃
在自主設計與實踐中,基于軟件工程思維,讓學生體驗智能化軟件開發(fā)的生命周期的關鍵環(huán)節(jié),包括功能分析、方案設計、編碼測試、評估優(yōu)化四個階段。以視覺巡線模塊為例,學生自主設計與實踐安排如見表4所列。
表4 自主設計與實踐計劃
根據(jù)課程安排進行過程化考核。
(1)課前:完成自學資料的預習,老師可通過線上學習平臺監(jiān)督統(tǒng)計,學生完成項目相關基礎知識測試。
(2)課中:完成基礎引導實驗的實驗報告;能夠按需求分析、方案設計、編碼測試、評估優(yōu)化四個環(huán)節(jié)完成所選模塊的設計與實現(xiàn),按環(huán)節(jié)依次提交功能結(jié)構(gòu)圖、主程序執(zhí)行流程圖、模塊實現(xiàn)源碼以及算法優(yōu)化方案說明;按小組提交答辯PPT。
(3)課后:整理和完善課中的實驗文檔,根據(jù)實驗中所遇到的問題及采取的解決方案進行歸納形成總結(jié),結(jié)合課中實驗環(huán)節(jié)的過程性資料形成完整的課程設計,與源碼一起提交。
基于智能軟件開發(fā)的數(shù)據(jù)結(jié)構(gòu)與算法課程設計課程教學模式,在強化傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)與算法核心知識的訓練的同時,加強了與現(xiàn)代智能軟件行業(yè)的應用技術接軌,在應用型人才培養(yǎng)方面擬實現(xiàn)如下效果:
(1)在實驗過程中,融合了軟件開發(fā)過程中的需求分析、方案設計、編碼測試、評估優(yōu)化等必要環(huán)節(jié),體現(xiàn)了知識、技術、方法的綜合應用,有利于逐步培養(yǎng)解決復雜工程問題的思維能力。
(2)實驗取材于智能小車中智能模塊的開發(fā),需要用到圖像處理、智能控制及軟件設計等多個領域的知識技能,具備一定的挑戰(zhàn)性。教師提供充足的配套教學指導資源,并進行引導性指導,學生通過自己的努力也可以完成預定目標,有利于培養(yǎng)學生迎難而上的韌性及合理應用工程原理解決問題的能力。
(3)在實驗過程中,學生在根據(jù)已有的指導資源可以完成智能模塊的基礎功能開發(fā)的基礎上,對于模塊功能的完善,需要進行方案優(yōu)化二次開發(fā),有利于學生自主創(chuàng)新實踐的能力。
基于智能軟件開發(fā)的數(shù)據(jù)結(jié)構(gòu)與算法課程設計課程教學模式,緊密結(jié)合現(xiàn)代軟件產(chǎn)業(yè)的技術發(fā)展,提升學生的工程實踐能力,培養(yǎng)學生的計算思維能力及創(chuàng)新能力。從數(shù)據(jù)結(jié)構(gòu)與算法的基礎知識點出發(fā),探討知識點及技術在經(jīng)典的智能制造領域中的應用,激發(fā)學生的興趣和提高獲得感,為以后順應現(xiàn)代軟件產(chǎn)業(yè)的技術和能力需求奠定良好基礎。