戴宏明,戴宏亮
(1.廣東科貿(mào)職業(yè)學(xué)院 信息與自動化學(xué)院,廣東 廣州 510430;2.廣州大學(xué) 經(jīng)濟與統(tǒng)計學(xué)院,廣東 廣州 510006)
目前,隨著國務(wù)院《促進大數(shù)據(jù)發(fā)展行動計劃》《新一代人工智能發(fā)展規(guī)劃》的發(fā)布,大數(shù)據(jù)、人工智能逐步上升為國家戰(zhàn)略,國內(nèi)大數(shù)據(jù)產(chǎn)業(yè)與人工智能產(chǎn)業(yè)開始蓬勃發(fā)展。大數(shù)據(jù)分析、大數(shù)據(jù)系統(tǒng)開發(fā)、人工智能都以軟件技術(shù)為支撐。因此,軟件工程也必須與大數(shù)據(jù)、人工智能的快速發(fā)展同步,但國內(nèi)高校的軟件工程專業(yè)人才培養(yǎng)方案還沒有與大數(shù)據(jù)、人工智能的發(fā)展做到有效對接[1]。
2017 年2 月以來,教育部積極推進新工科建設(shè),先后形成了“復(fù)旦共識”“天大行動”和“北京指南”,并發(fā)布了《關(guān)于開展新工科研究與實踐的通知》《關(guān)于推進新工科研究與實踐項目的通知》,全力探索形成領(lǐng)跑全球工程教育的中國模式、中國經(jīng)驗,助力高等教育強國建設(shè)[2]。新工科建設(shè)是應(yīng)對新經(jīng)濟的挑戰(zhàn),從服務(wù)國家戰(zhàn)略、滿足產(chǎn)業(yè)需求和面向未來發(fā)展的高度,提出的一項持續(xù)深化工程教育改革的重大行動計劃,其專業(yè)建設(shè)注重學(xué)科的交叉性、綜合性和實用性[3-4],但傳統(tǒng)的軟件工程教育偏重于理論教育,實踐教學(xué)環(huán)節(jié)比較薄弱。據(jù)調(diào)查,傳統(tǒng)教育模式培養(yǎng)出來的學(xué)生,即使是比較優(yōu)秀的畢業(yè)生,在走向社會之后,至少要花1 年左右甚至更多的時間才能逐步建立相應(yīng)的工程能力,因此,軟件工程專業(yè)建設(shè)的改革勢在必行[5]。
傳統(tǒng)的軟件人才培養(yǎng)模式已經(jīng)不能滿足大數(shù)據(jù)產(chǎn)業(yè)和人工智能產(chǎn)業(yè)的需求,技術(shù)創(chuàng)新和新興產(chǎn)業(yè)的發(fā)展都需要大量的創(chuàng)新人才和卓越工程技術(shù)人才為支撐。國家推行的新工科戰(zhàn)略,一方面需要發(fā)展大批新興工科專業(yè),另一方面也需要對傳統(tǒng)的工科專業(yè)進行改革創(chuàng)新,探索符合工程規(guī)律和時代特征的嶄新培養(yǎng)模式。新工科建設(shè)引發(fā)的工程教育模式創(chuàng)新亟須設(shè)計出包括教育理念、課程體系、質(zhì)量保障體系等整套的人才培養(yǎng)方案[6]。
CDIO 教育模式是由MIT、瑞典皇家工學(xué)院等4 所大學(xué)經(jīng)過多年的探索、研究和實踐,于2004 年創(chuàng)立的。這個教育模式是以真實產(chǎn)品、過程和系統(tǒng)的構(gòu)思、設(shè)計、實施、運行全生命周期為背景,以CDIO 教學(xué)大綱和標(biāo)準(zhǔn)為基礎(chǔ),讓學(xué)生以主動的、實踐的、課程之間具有有機聯(lián)系的方式學(xué)習(xí)和提高工程能力,包括個人的科學(xué)和技術(shù)知識、終身學(xué)習(xí)能力、交流和團隊工作能力以及在社會實際環(huán)境下建造產(chǎn)品、過程和系統(tǒng)的能力[7-9]。
運用CDIO 教育模式對現(xiàn)有的軟件工程人才應(yīng)用型培養(yǎng)方案進行重新設(shè)計,可以更好地對接大數(shù)據(jù)和人工智能產(chǎn)業(yè)的需求,同時更好地對接教育部提出的新工科建設(shè)戰(zhàn)略,更扎實地培養(yǎng)軟件工程技術(shù)人才[10-12]。
培養(yǎng)方案設(shè)計遵循“12345”原則:“1”表示1 個教育理念——遵循CDIO 工程教育理 念;“2”表 示2 條發(fā)展主線——軟件工程實踐教育主線及軟件設(shè)計能力培養(yǎng)主線;“3”表示3 個技術(shù)平臺——Java 平臺、移動應(yīng)用平臺及大數(shù)據(jù)平臺;“4”表示4 個專業(yè)方向——軟件技術(shù)方向、移動互聯(lián)網(wǎng)技術(shù)方向、大數(shù)據(jù)技術(shù)方向及智能軟件開發(fā)方向;“5”表示5 種學(xué)習(xí)方法——基于問題學(xué)習(xí)、基于項目學(xué)習(xí)、基于案例學(xué)習(xí)、基于做中學(xué)及基于經(jīng)驗學(xué)習(xí)。
在設(shè)計課程體系時,要將CDIO 大綱框架與軟件工程專業(yè)相結(jié)合,將CDIO大綱要求的知識、能力及素質(zhì)轉(zhuǎn)換為軟件工程專業(yè)相應(yīng)的知識、能力及素質(zhì),同時映射到具體的課程中,并且將課程按照構(gòu)思、設(shè)計、實現(xiàn)及運行的步驟排列。與一般工程專業(yè)相比較,軟件工程理論與實踐是緊密結(jié)合的關(guān)系,實踐以理論為基礎(chǔ),實踐中又蘊含著理論;理論需要實踐驗證,理論在實踐的基礎(chǔ)上不斷發(fā)展。對于初學(xué)者而言,軟件工程的這個特點導(dǎo)致某些環(huán)節(jié)的學(xué)習(xí)難度偏大、學(xué)習(xí)周期較長(如構(gòu)思及設(shè)計環(huán)節(jié)),因此,教師在排列課程進程時,一方面要遵循循序漸進的規(guī)律,另一方面對于學(xué)習(xí)難度較大的環(huán)節(jié)要反復(fù)強化。除公共基礎(chǔ)課之外,軟件工程專業(yè)主干課程包括專業(yè)基礎(chǔ)、程序設(shè)計(基礎(chǔ))、程序設(shè)計(高級)及軟件工程等4 個課程模塊(如圖1 所示)。
圖1 軟件工程專業(yè)主干課程體系魚骨圖
專業(yè)方向課程模塊設(shè)計應(yīng)以產(chǎn)業(yè)需求為導(dǎo)向,以軟件工程技術(shù)為依托。軟件工程技術(shù)發(fā)展日新月異,新技術(shù)層出不窮,舊技術(shù)不斷更新?lián)Q代。為了與社會應(yīng)用要求接軌,專業(yè)課程的選擇策略至關(guān)重要:首先,選擇的課程應(yīng)是當(dāng)前社會應(yīng)用的主流技術(shù),并且能夠代表未來的技術(shù)發(fā)展趨勢;其次,選擇的課程應(yīng)側(cè)重在軟件工程原理、方法、過程及應(yīng)用規(guī)律的介紹;再次,選擇的課程應(yīng)與區(qū)域經(jīng)濟行業(yè)發(fā)展相結(jié)合,應(yīng)用型高校主要是為區(qū)域經(jīng)濟發(fā)展服務(wù);最后,選擇的課程應(yīng)與本校師資結(jié)合,發(fā)揮本校師資優(yōu)勢。目前,大數(shù)據(jù)技術(shù)、人工智能技術(shù)及移動互聯(lián)網(wǎng)技術(shù)是信息化技術(shù)發(fā)展的重點,這3 項技術(shù)都是以軟件技術(shù)作為支撐。因此,軟件工程專業(yè)方向包括4 個課程模塊:軟件技術(shù)、大數(shù)據(jù)技術(shù)、移動互聯(lián)網(wǎng)技術(shù)及智能軟件開發(fā)(如圖2 所示)。每個學(xué)生應(yīng)根據(jù)個人興趣及特長,選擇一個課程模塊進行重點學(xué)習(xí)。
圖2 軟件工程專業(yè)方向課程模塊魚骨圖
與一般工程相比較,軟件工程技術(shù)復(fù)雜、抽象,學(xué)習(xí)難度大、學(xué)習(xí)周期長。要理解軟件工程相關(guān)理論及原理,實踐是至關(guān)重要的環(huán)節(jié)。根據(jù)軟件工程技術(shù)的學(xué)習(xí)規(guī)律,要掌握軟件技術(shù)的使用,必須參與實際項目,在做中學(xué),通過自主學(xué)習(xí)及經(jīng)驗學(xué)習(xí),才能逐步融會貫通。軟件工程實踐教學(xué)環(huán)節(jié)通常包括實驗、實訓(xùn)、實習(xí)及畢業(yè)設(shè)計等環(huán)節(jié)。CDIO 標(biāo)準(zhǔn)對實踐環(huán)節(jié)有明確的要求,必須以軟件構(gòu)思、設(shè)計、實現(xiàn)及運行作為軟件工程教育的背景環(huán)境,以項目作為依托。軟件工程實踐教學(xué)環(huán)節(jié)包括3 個I 級項目、4 個II 級項目及多個III 級項目,如圖3 所示。
圖3 項目與實踐教學(xué)環(huán)節(jié)的對應(yīng)關(guān)系
I 級項目是綜合項目,用于對軟件工程構(gòu)思、設(shè)計、實現(xiàn)及運行環(huán)節(jié)的綜合訓(xùn)練。第一個I 級項目是引導(dǎo)項目,在大一下學(xué)期完成,用于激發(fā)學(xué)生的學(xué)習(xí)興趣,增加學(xué)生對軟件的感性認識,明白與實際要求的差距,為下一階段的學(xué)習(xí)做好準(zhǔn)備。第二個I 級項目是在大二下學(xué)期完成,用于強化對軟件工程構(gòu)思、設(shè)計、實現(xiàn)及運行環(huán)節(jié)基本技術(shù)的學(xué)習(xí)。第三個I 級項目是畢業(yè)設(shè)計,由學(xué)生獨立完成,用于訓(xùn)練學(xué)生獨立進行構(gòu)思、設(shè)計、實現(xiàn)及運行的能力。II 級項目是與專業(yè)主干課程模塊相對應(yīng),用于強化對課程模塊相關(guān)技術(shù)的學(xué)習(xí)。III級項目與具體課程相對應(yīng),用于強化對相關(guān)課程及知識點的學(xué)習(xí)。項目設(shè)計應(yīng)遵循以下原則:①項目來源于真實項目或者由真實項目改造而來,并且與當(dāng)前社會應(yīng)用最新技術(shù)接軌;②與項目結(jié)合的領(lǐng)域知識不能過于簡單,應(yīng)具備一定的復(fù)雜度;③項目針對性要強,能夠強化對相關(guān)技術(shù)或者知識點的學(xué)習(xí);④項目難易適中;⑤要與趣味性相結(jié)合。
CDIO 工程教育模式強調(diào)學(xué)生的主體作用,自主學(xué)習(xí)意識及能力對于學(xué)習(xí)工程技術(shù)很關(guān)鍵。同時,CDIO 工程教育模式也強調(diào)教師的作用,教師是學(xué)生進入工程技術(shù)殿堂的引路人,是學(xué)生經(jīng)驗學(xué)習(xí)的主體。CDIO 工程教育模式的這些要求與軟件工程的學(xué)習(xí)規(guī)律及應(yīng)用規(guī)律都是一脈相承的。要做好軟件工程人才的培養(yǎng),做好幾個關(guān)鍵環(huán)節(jié)是至關(guān)重要的。
(1)激發(fā)學(xué)生的學(xué)習(xí)興趣是學(xué)好軟件工程專業(yè)的前提。軟件工程是理論與實踐緊密結(jié)合的學(xué)科,學(xué)習(xí)方法與一般文理學(xué)科不同,除了理論學(xué)習(xí)之外,大量的實踐也是必不可少的。學(xué)生在剛接觸軟件工程學(xué)科時,要認識到這些不同點,同時,教師要通過軟件工程導(dǎo)論課程和引導(dǎo)項目激發(fā)學(xué)生的學(xué)習(xí)興趣。
(2)入門是學(xué)好軟件工程專業(yè)的關(guān)鍵。軟件工程技術(shù)復(fù)雜、抽象,入門門檻高。傳統(tǒng)教學(xué)模式都是將C 語言作為入門程序設(shè)計技術(shù),學(xué)生在學(xué)完C 語言之后,并不知道C 語言到底能夠解決什么問題,獲取的感性知識非常有限。選擇一門以組件技術(shù)為核心、可視化的編程技術(shù),作為學(xué)生的入門程序設(shè)計技術(shù)是非常必要的,如Visual C#、Python 等。學(xué)生通過這種技術(shù)可以迅速地模仿開發(fā)一些應(yīng)用功能,如學(xué)籍管理、圖書管理等功能。通過這種方式,一方面可以加強學(xué)生對軟件工程技術(shù)的感性認識,另外一方面可以幫助學(xué)生快速入門。
(3)創(chuàng)新思維的訓(xùn)練及學(xué)習(xí)方法、應(yīng)用方法的掌握是學(xué)好軟件工程專業(yè)的保障。軟件產(chǎn)品是知識產(chǎn)品,對創(chuàng)新能力有較高要求。數(shù)學(xué)是思維的體操,學(xué)習(xí)數(shù)學(xué)可以訓(xùn)練創(chuàng)新思維能力。為保障學(xué)生的創(chuàng)新思維能力不斷得到訓(xùn)練,在排列課程時可以做到數(shù)學(xué)4 年不斷線,即高等數(shù)學(xué)(上)→高等數(shù)學(xué)(下)→離散數(shù)學(xué)→線性代數(shù)→概率論與數(shù)理統(tǒng)計→Matlab 軟件與數(shù)學(xué)建模。程序設(shè)計是軟件工程的核心技術(shù),而程序設(shè)計技術(shù)日新月異。為保障學(xué)生掌握程序設(shè)計技術(shù)的學(xué)習(xí)方法及應(yīng)用方法,可以做到程序設(shè)計4 年不斷線,即高級程序設(shè)計(Visual C#)→面向?qū)ο缶幊碳夹g(shù)(Java)→面向?qū)ο蠹夹g(shù)實訓(xùn)→Java Web 編程技術(shù)→Web 開發(fā)實訓(xùn)→軟件工程綜合實訓(xùn)。
(4)教育教學(xué)一體化是學(xué)好軟件工程專業(yè)的核心。教育教學(xué)的一體化設(shè)計及管理能夠保障學(xué)生的學(xué)習(xí)、課外活動、社會實踐與知識、能力、素質(zhì)的培養(yǎng)有機結(jié)合。
軟件工程應(yīng)用型人才培養(yǎng)過程復(fù)雜,培養(yǎng)周期長,遇到的挑戰(zhàn)多,學(xué)生個體差異大,并且軟件技術(shù)發(fā)展日新月異,所以,要保證軟件工程專業(yè)學(xué)生培養(yǎng)的質(zhì)量,更好地對接產(chǎn)業(yè)的需求,軟件工程專業(yè)建設(shè)必須持續(xù)改進。