馬興錄 陶冶 劉國柱 杜軍威 劉揚



摘? 要:復雜工程問題解決能力的培養是工程教育認證專業需要考慮的核心問題。如何在人才培養方案中綜合考慮“復雜工程問題”的設計、如何分層次培養學生復雜工程問題的解決能力、如何落實到每門課程的教學環節等一系列問題是文章探討的重點。文章以軟件工程專業為背景,以系列化機器人教學平臺為基礎,采用以機器人為實驗設備的貫穿式軟件開發能力培養方式,逐步培養學生對復雜工程問題的解決能力。針對具體專業課程,給出了如何設計“復雜工程問題”及相應教學模式的參考方法。相關教學效果評價表明,以機器人為教學平臺的人才培養模式符合工程教育專業認證的理念,對專業認證建設起到較好的促進作用。
關鍵詞:工程教育專業認證;復雜工程問題;機器人教學平臺
中圖分類號:G640? ? ? ? 文獻標志碼:A? ? ? ? ?文章編號:2096-000X(2020)15-0005-05
Abstract: Solving complex engineering problems is a core issue in certificated engineering education. In this paper, we focus on how to comprehensively consider the design of complex engineering problems, how to train students to solve complex engineering problems by aptitude, and how to implement them in each course. By using a series of robotic teaching platforms, we apply robot-based experimental devices to gradually improve students' ability to solve complex engineering problems. Additionally, for specific professional courses, we give the methods to design complex engineering problems and the corresponding teaching mode. The evaluation of related teaching results shows that the proposed training mode and robot-based teaching platform plays a better role in promoting professional certification.
Keywords: engineering education accreditation; complex engineering problems; robot teaching platform
引言
工程教育認證標準的1.3(畢業要求)中,規定了12條畢業要求,其中,有8條要求含有“復雜工程問題”的表述。標準中還規定了“復雜工程問題”必須具備的“必須運用深入的工程原理,經過分析才可能得到解決”的首要特征及其它6項需具備部分或全部的特征[1]。由此看出,復雜工程問題解決能力的培養是工程教育認證的核心理念。
不同專業有各自不同的復雜工程問題。因此,進行工程教育認證的專業在制定人才培養方案時,必須結合本專業的實際情況,恰當定義適合本專業的“復雜工程問題”,并將復雜工程問題解決能力的培養融入到人才培養方案中,融入到專業建設中,融入到每一門課程中,真正培養學生解決“復雜工程問題”的能力[2]。
很多實際的工程項目基本都具備“復雜工程問題”的特征,但很多實際項目用到教學中存在項目環境難以復制、成本太高、涉及的學科知識過于復雜,需要專業教師進行恰當的教學改造,才能用于教學。目前,很多實訓或課程設計項目均圍繞此問題展開探索,也是專業進行認證時需要重點論述和考察的方面。
但這種碎片化的“復雜工程問題”的引入雖然在能力的培養上具備一定的效果,但由于缺少統籌安排,復雜工程問題解決能力的培養層次不夠清晰,問題的復雜度缺少衡量標準,導致培養質量難以衡量、畢業要求的達成度縱向比較困難或沒有實際意義。
因此,在各專業的認證建設過程中,需要在人才培養方案的高度去綜合考慮“復雜工程問題”的引入,形成層次化的“復雜工程問題”[3]。進一步可按照課程所承擔的畢業要求指標點,逐步將合適的“復雜工程問題”落實到教學環節中,形成可衡量的能力培養體系。
一、機器人教學平臺的“復雜工程問題”
機器人是機械、電子、自動化、計算機、材料等多學科知識的綜合產物,是近幾年發展迅猛、具有廣闊發展前景、亟需大量相關人才的新興產業。該產業的發展離不開各類相關專業人才的支持。為此,各類相關新興專業不斷開設。同時,傳統專業為適應時代的發展、產業的需求,也需要適當調整人才培養方向,融合更多的學科知識。
機器人從不同專業的角度可以體現出不同的“復雜工程問題”。從計算機學科來看,機器人就是一臺或多臺計算機,計算機就是機器人的大腦,機械部件、語音傳感、視覺傳感等都是計算機的外圍設備,軟件就是機器人的“靈魂”。以機器人代替計算機,作為計算機類、軟件類專業的實驗設備,比單純的計算機設備資源要豐富得多,更能激發學生的學習興趣。
機器人本體的設計開發以及基于機器人的應用開發都可衍生出不同層次、不同難度的“復雜工程問題”。以入門級的機器人圖形化編程為例,學生通過幾個小時的了解,就能著手編寫機器人程序[4]。但是當把機器人用于一定環境中,如讓機器人走迷宮,就變成一個“復雜問題”了。需要設計算法、計算時間效率、控制機器人轉向、檢測傳感器狀態等。這時,學生的注意力就自然轉到問題分析、算法設計、編程實現和調試等環節上來,這就是軟件工程項目的設計流程。基于機器人的這種訓練項目可以放在第一學期進行,讓學生盡早接觸“復雜工程問題”,初步了解軟件工程項目的開發流程。
對于軟件工程專業來說,機器人本體軟件就是復雜的軟件系統,其智能主要取決于軟件系統,包括操作系統、數據庫、各類網絡軟件及應用軟件等。同時,機器人應用更包含了大量的軟件設計,如機器視覺、語音等功能的實現及其應用,可與軟件工程專業的具體方向結合。以移動互聯網方向為例,從機器人聯網應用、手機操控等方面進行結合,可以衍生出很多難度合適的“復雜工程問題”。
因此,機器人平臺與具體專業相結合,可以構造出不同層次、不同難度、不同應用方向的“復雜工程問題”,對學生興趣及能力的培養具有先天優勢。
二、基于機器人教學平臺的軟件工程專業人才培養方案設計
軟件工程專業是傳統的工科專業,基于計算機一級學科及軟件工程一級學科,具有完整的知識體系。在教育部發布的《普通高等學校本科專業類教學質量國家標準》屬于計算機類專業,在培養學生計算思維、程序設計與實現、算法分析與設計等能力的基礎上,注重對復雜軟件系統的分析、設計等能力的培養[5]。計算學科具有高度抽象性,強調通過抽象建立模型實現對計算規律的研究,使用計算系統實現對特定問題的求解。“什么能、且如何被有效地實現自動計算”是計算思維能力的核心問題。因此在教學過程中,如何將抽象的計算思維轉化為形象的具體的內容,進一步與實際應用相結合,分層次培養與提高學生的計算思維能力,是設計軟件工程專業人才培養方案需要解決的核心問題。
按照軟件工程專業的培養目標,工程技術應用能力的培養按照先后順序及培養層次,可分為:計算思維導入->程序設計->算法分析->軟硬貫通->應用開發->創新能力。這些能力的培養不是一蹴而就,而是穿插在不同課程中。當然,不同學習階段的培養重點不一樣,這六個層次基本代表了6個學期的培養重點。機器人教學平臺可配合每個學期的培養重點,與各學期的核心課程相結合,作為綜合性實驗平臺,構建基于機器人教學平臺的人才培養模式。如圖1所示,在每個學期增加一門綜合實驗類課程《創新指導與實踐1-6》。
傳統的以計算機為實驗設備,培養學生編程的方法具有抽象、入門困難等缺點[6]。相比之下,以機器人為實驗設備,以圖形化編程工具入手,突出計算思維能力的培養方式,則具有上手快、學生興趣高、能力培養顯著等特點。
第1學期,增加“機器人編程”方面的入門課程,重點培養學生的初步的計算思維能力,提高學生的專業學習興趣。
第2學期,結合程序設計語言(如Python語言),開始培養學生程序設計能力。以機器人為實驗設備,讓學生在圖形化編程工具與程序設計語言的對比中,體會程序設計語言的魅力,實現對機器人更加精準的控制與復雜問題的解決。
第3學期,結合數據結構與算法設計等軟件理論課程的開設,在機器人的軟件設計中引入一定復雜度的工程問題,如迷宮遍歷尋寶等。這時,機器人教學平臺起到綜合實驗平臺的作用,對學生的問題分析、程序設計、算法設計與優化、軟件系統實現與驗證等均可起到程序訓練與培養的作用。
第4學期,結合計算機組成原理等課程的學習,機器人的硬件部分可以作為計算機組成示例讓學生進行學習與編程,達到計算機軟硬知識貫通的目的。
第5學期和第6學期,結合專業方向課程,以機器人為載體,引領學生進行具體應用開發。機器人與當前的人工智能等熱門技術結合密切,開展創新類的應用開發,通過參賽等形式,提高學生應用開發能力及創新思維能力。
在課程體系的設計中,建議每個學期增加一門綜合實驗或實踐類的課程《創新指導與實踐1-6》,這樣不影響原有課程的設置,而且對每個學期的課程起到融合的作用。當然,機器人開發案例也可以融入到具體的專業課程中,實現更深層次的融合。
三、機器人貫穿式教學平臺的設計
為滿足分層次的專業能力培養要求,機器人教學平臺需要具備以下特征:
1. 開放的計算機軟硬件系統:軟件工程專業注重于軟件系統的學習與開發。開源開放的軟硬件系統有助于學生的深入學習,也有助于教師完全掌握系統的方方面面。
2. 平臺系列化:平臺應能呈現從簡單到復雜的演變過程,有入手簡單的入門級設備,也有足夠復雜用于創新研究的機器人系統,可滿足不同階段的教學需求。
3. 平臺軟硬件系統的一致性:雖然機器人平臺軟硬件多樣,不同的機器人內部采用的計算機軟硬件存在較大差異,但用于同一個專業的教學來說,平臺差異過大,會讓學生的學習重點偏離原來的目標,大部分學習時間浪費在對不同平臺的熟悉上,分散了學生的注意力,可能會降低學習興趣。
基于上述特征,作者采用自主改造或開發系列機器人教學設備,以滿足軟件工程專業的教學需求。根據目前機器人的不同種類,開發或改造了以下三類機器人設備,構成完整的機器人貫穿式教學。這三類設備均采用軟硬件完全開源的樹莓派電腦作為主控板,保持了平臺軟硬件系統的一致性。而且樹莓派電腦具有資源豐富,可擴展性強的特點,為教學提供了極大的便利。
1. 智能小車:該裝置具有結構簡單,控制方便,擴充性好的特點,適合作為入門級設備。為便于大一新生學習使用,開發了與圖形化機器人編程軟件VIPLE通訊的中間件程序,允許使用數據流驅動方式的圖形化編程,實現對智能車的控制,讓學生初步接觸邏輯判斷、流程控制、算法設計等內容[3],將學習的重點放在計算思維能力的培養上。
由于智能車采用樹莓派電腦,更便于支持Python/C/C++等編程語言工具,對于后續語言類課程的學習具有很好的延展性。
2. 桌面型機械臂:機械臂是目前在工業中應用最多的一類機器人,具有應用場景豐富、控制要求稍復雜的特點,適合作為復雜問題分析、軟件方案設計等課程的實驗平臺。為便于教學,采用了小型的桌面型3自由度機械臂,可搭配多種末端工具,如機械爪、吸盤、打印頭等,用于不同應用場景[7]。機械臂結構如圖2所示。
圖2 機械臂結構
3. 人形機器人:人形機器人是目前功能復雜、各項功能正在不斷研究、開發中的一類機器人,易于激發學生的創新思維。基于樹莓派電腦的人形機器人可以加裝攝像頭、語音識別等設備,從而可以進行機器視覺、語音識別等應用的開發。如果需要加快深度學習算法模塊的運行速度,還可以與專門的GPU或NPU模塊組成復雜的計算機系統。這樣,需要學生具備足夠的計算機軟硬件知識的協同開發能力。
以上三種類型的機器人,涵蓋了機器人類型的大部分,而且從簡單到復雜,構成難度層次清晰、應用場景多樣,與軟件工程專業的人才培養方案設計需求一致,如圖3所示,可滿足專業四年的教學需求。
四、教學實施方案
以軟件工程(嵌入式方向)為例,在1-6學期,每學期增加一門《創新指導與實踐》課程,如圖4所示。該課程開設為綜合實驗類課程,沒有理論授課學時,只有32個學時的實驗課。
以《創新指導與實踐4》為例,該課程是在學完系列編程語言、計算機組成與系統結構、數據結構等專業課程的基礎上,與操作系統、數據庫等課程同學期開設。那么本課程的課程目標設計為:
通過前期《創新指導與實踐1-3》的學習,初步掌握了機器人的編程方法,鍛煉了學生的編程能力。在此基礎上,本課程通過比賽項目、訓練等方式,達到如下目標:
1. 深入了解機器人系統的硬件組成,加深對計算機系統組成的理解。
2. 深入了解機器人軟件系統,特別是操作系統的組成,強化對軟件體系架構的理解。
3. 能利用現有的機器人系統,開發完整功能的應用系統,掌握計算機應用系統的開發方法與步驟。
4. 培養創新意識,能從原理、方法或功能上體現出一定的創新性。
具體教學內容主要包括:
1. 了解樹莓派開發板的硬件結構,特別是各引腳接口的作用;結合智能小車或機械臂的各外圍設備,詳細了解硬件的連接方式及控制原理。
2. 樹莓派軟件系統:樹莓派操作系統的安裝,上網環境搭建,軟件安裝方法等。
3. 樹莓派編程:c/c++編程步驟,python編程。
4. 以機器人相關比賽項目或應用場景為訓練內容,以比賽指導老師的方式指導學生開發出相關項目。
課程考核方式:
參照軟件比賽項目的流程,采用過程化管理,分為開題、中期檢查、驗收三個階段進行考核。最終的驗收流程為PPT講解+實物演示+教師提問等環節。
具體教學效果分析:
軟件工程(嵌入式方向)2017級學生共有70人,以學生分組方式參與課程項目的設計,共分為18組(每組3-5人)。選擇山東省大學生軟件設計大賽中的“嵌入式應用開發“或“智能機器人應用設計“命題的有13個組,占總數的72%。最終,參加完整個比賽流程(9月底提交作品)的隊伍有7支,其中獲一等獎2支、二等獎1支、三等獎2支,具有明顯的獲獎優勢。
五、結束語
機器人平臺與軟件工程專業相結合,可以構造出不同層次、不同難度、不同應用方向的“復雜工程問題“,對學生興趣及能力的培養具有先天優勢,符合專業認證建設的理念。本文從人才培養方案的角度來綜合考慮機器人教學平臺的建設,并結合具體的教學實例,給出相應的教學方案的設計。這種專業建設思路,對其它相關專業同樣適用。
當然上述建設方法只是初步探索試用,后續將需要把建設重點放在機器人教學平臺與專業課程群的緊密結合,以及教學效果的評價及教學方法的改進上。
參考文獻:
[1]中國工程教育認證標準(通用標準)[EB/OL].http://meea.cme
s.org/article?id=3.
[2]趙鵬.聚焦復雜工程問題的軟件工程專業建設探索——以安徽大學軟件工程專業為例[J].高教學刊,2019(15):22-23+27.
[3]張玉清,周長兵,夏軍寶,等.適應工程教育認證要求的計算機科學與技術專業新工科建設探索與實踐[J].高教學刊,2019(17):92-94.
[4]陳以農,等.計算機科學與工程導論——基于IoT和機器人的可視化編程實踐方法(第2版)[M].北京:機械工業出版社,2017.
[5]普通高等學校本科專業類教學質量國家標準[M].北京:高等教育出版社,2018:321-329.
[6]范崢,牛夢龍,黃風林,等.工程教育專業認證背景下化工專業課程教學改革研究[J].大學教育,2019(12):48-51.
[7]馬興錄,何愛欣,李瑩瑩.桌面型機械臂的機器視覺應用框架研究[J].計算機與現代化,2019(11):64-68.
*基金項目:2018年山東省本科教改項目“多學科交叉融合的軟件工程專業創新型人才培養模式研究與實踐“(編號:M2018X130)
作者簡介:馬興錄(1970-),男,漢族,山東沂水人,碩士,副教授,碩士生導師,軟件工程專業負責人,研究方向:嵌入式系統、機器人。