雷 晏,付春雷,金世鋒,張 毅
(重慶大學 大數(shù)據(jù)與軟件學院,重慶 400044)
2018 年,教育部、工業(yè)和信息化部、中國工程院聯(lián)合發(fā)布《關于加快建設發(fā)展新工科實施卓越工程師教育培養(yǎng)計劃2.0 的意見》,重慶大學積極響應號召,其大數(shù)據(jù)與軟件學院軟件工程專業(yè)入選國家“卓越工程師教育培養(yǎng)計劃”。實訓是高校軟件工程專業(yè)教學重點[1],高校軟件工程專業(yè)實訓教學,在具體實施過程中存在理論過重、實踐內(nèi)容脫節(jié)等問題,可能影響學生在高校軟件工程專業(yè)實訓中的效果。因此,為了推動卓越工程師教育培養(yǎng)計劃的實施,重慶大學大數(shù)據(jù)與軟件學院對軟件工程本科專業(yè)實訓進行了教改實踐。
隨著我國高校招生數(shù)量的增加,互聯(lián)網(wǎng)企業(yè)對軟件人才的需求不斷增加,將有力地支持國家工業(yè)體系的發(fā)展[2]。因此,高校有義務培養(yǎng)互聯(lián)網(wǎng)企業(yè)所需人才,學校和軟件企業(yè)有必要在產(chǎn)學研方面進一步加強合作。對此,教育部于2018 年啟動“卓越工程師教育培養(yǎng)計劃2.0”[3]。該計劃旨在推動高校在軟件卓越工程師人才培養(yǎng)方面的創(chuàng)新,培養(yǎng)一大批以推動產(chǎn)業(yè)發(fā)展和技術創(chuàng)新為使命的國際一流新一代軟件專業(yè)人才后備軍。
在此背景下,重慶大學大數(shù)據(jù)與軟件學院對軟件工程專業(yè)進行了一系列教學實踐改革,其中包括軟件工程專業(yè)實訓。原有軟件工程實訓還存在一些不足,培養(yǎng)的人才與社會需求存在一定差距,難以真正達到“卓越工程師教育培養(yǎng)計劃”要求的人才標準[4]。其主要問題體現(xiàn)在:
(1)實訓仍以理論為主,忽略了實踐的重要性。軟件工程專業(yè)自身特點決定了學生無法完全靠“聽”“講”學習軟件工程的專業(yè)技能,而需要在實際的“做”和“實踐”中去體驗和掌握軟件工程思想[5]。雖然理論教育是建立基礎知識的重要部分[6],但過度關注理論教育可能會導致學生在實際應用中的技能和經(jīng)驗不足,嚴重違背了“卓越工程師教育培養(yǎng)計劃”的宗旨。這些都反映出高校軟件工程專業(yè)對實訓的實踐教學重視不夠。
(2)學生對實訓興趣不高。由于實訓內(nèi)容單調(diào),缺乏趣味性,學生對實訓的興趣并不高。許多實訓內(nèi)容缺乏挑戰(zhàn)性、創(chuàng)新性和實際應用,往往難以激發(fā)學生的學習熱情,導致學生缺乏對實際工作的預見性和主動性。
(3)實訓內(nèi)容無法與前沿企業(yè)建立聯(lián)系。目前,許多高校和前沿企業(yè)之間缺乏有效的合作機制,許多學生無法接觸到最新的軟件工程技術和實踐,導致實訓內(nèi)容與實際工作脫節(jié)[7],從而會影響他們的就業(yè)競爭力和職業(yè)發(fā)展。此外,缺乏與前沿企業(yè)的聯(lián)系也會影響高校軟件工程實訓的質(zhì)量和水平,使其無法滿足行業(yè)的快速發(fā)展需求。
為推動前沿信息技術的普及與認知,實現(xiàn)院校教學與產(chǎn)業(yè)實踐的有機結合,提升軟件工程領域?qū)W生的深度學習能力和技術創(chuàng)新能力,重慶大學大數(shù)據(jù)與軟件學院和中國高科集團組織實訓以“應用+創(chuàng)新”為主題,依據(jù)學校人才培養(yǎng)目標,融合JavaWeb+大數(shù)據(jù)及人工智能專業(yè)學科背景和訓練要求,以實踐技能訓練為主線,與專業(yè)能力培養(yǎng)需求相匹配,以現(xiàn)場授課的形式開展教學,強化工程實踐能力及創(chuàng)新意識培養(yǎng)。
重慶大學大數(shù)據(jù)與軟件學院和中國高科集團的實訓實踐體系,首先構建在已知的技術課程體系之上,然后按照行業(yè)尋找合適的企業(yè)項目,將企業(yè)項目設計成適合不同階段與目標的實訓實踐內(nèi)容,形成包含體驗實踐、工程實踐、綜合業(yè)務實踐、綜合技術實踐、知識點實踐等多層次的實訓實踐體系,最后研發(fā)成教學資源以支持實訓實踐教學,并用工程方法論解決實訓實踐教學過程中可能出現(xiàn)的風險,以提升學生在企業(yè)真實環(huán)境中的實踐能力和職業(yè)素養(yǎng)。
2.1.1 實訓階段與目標設計
如圖1 所示,重慶大學大數(shù)據(jù)與軟件學院和中國高科集團的實訓實踐項目根據(jù)業(yè)務角度可分為兩類,即經(jīng)典實訓實踐和企業(yè)實訓實踐。這兩類實踐項目在本科教學過程中持續(xù)為期4 年,服務于課程的分散實踐與集中實踐體系。
Fig.1 Design of practical training resource product圖1 實訓資源產(chǎn)品階段設計
經(jīng)典實訓實踐是一種脫離企業(yè)業(yè)務的實踐,其主要目的是幫助學生理解、鞏固和應用所學知識點。通過實踐,學生可以通過實際操作和練習加深對知識的理解,并將其用于解決實際問題。這種經(jīng)典實訓實踐有助于學生在學術層面上建立扎實的基礎,并培養(yǎng)他們的問題解決能力。
與此相反,企業(yè)實訓實踐則是依托真實企業(yè)項目進行的實踐。其主要目的是增加學生對知識的綜合應用和工程實踐能力。學生將在真實的企業(yè)項目中獲得實踐經(jīng)驗,學習如何將所學理論知識應用于實際項目,解決實際業(yè)務問題。通過與企業(yè)合作,學生將更好地了解行業(yè)實踐、工作流程和職業(yè)要求,提高與企業(yè)的溝通與合作能力。
上述兩類實踐項目在教學過程中相輔相成。經(jīng)典實訓實踐有助于學生基礎理論知識的鞏固和運用,幫助他們夯實學術基礎;企業(yè)實訓實踐則將學生置于真實的企業(yè)環(huán)境中,使他們能夠?qū)⑺鶎W知識應用于實際項目,并勇于面對真實的業(yè)務挑戰(zhàn)。這樣的綜合實踐有助于學生全面發(fā)展,培養(yǎng)他們的問題解決能力、團隊合作意識和職業(yè)素養(yǎng)。
軟件工程專業(yè)實訓教改的目標是提高學生在軟件開發(fā)實踐中的能力和素質(zhì),使他們能夠適應快速變化的技術和市場需求。針對綜合實訓與工程實訓的實訓目標如表1所示。
Table 1 Goals of practical training表1 實訓目標
在綜合實訓中,學生將學習如何閱讀和理解設計文檔,包括需求文檔、技術規(guī)范和架構設計等。他們將了解如何解析文檔中的要求和說明,并將其應用于實際的軟件開發(fā)過程。
在工程實訓中,將著重提高學生的企業(yè)業(yè)務邏輯設計與實現(xiàn)能力。他們將學習如何分析業(yè)務需求、建立數(shù)據(jù)模型、設計系統(tǒng)架構等。通過實際項目實踐,掌握將業(yè)務邏輯轉(zhuǎn)化為代碼的能力,選擇合適的編程語言和開發(fā)工具,并將業(yè)務需求轉(zhuǎn)化為高質(zhì)量的軟件實現(xiàn)。
2.1.2 實訓結構設計
中國高科集團在合作過程中構建了相對成熟的實訓服務結構體系(見圖2),主要關注3 個要素即訓什么、怎么訓、訓怎樣,并在高校的實訓實踐過程中持續(xù)迭代優(yōu)化,持久地、更好地服務于高校實踐教學。
Fig.2 Overall structure of practical training service圖2 整體實訓服務結構體系
(1)訓什么?不僅是內(nèi)容的選擇,還有實訓資源準備和計劃制定。具體包括建立實訓相關技術文檔、設置合理的實訓目的、編制科學的實訓大綱、設計恰當?shù)膶嵱杻?nèi)容與實訓周期、制定可行的實訓實施計劃。一個好的實訓實踐項目,必須有充足的資源與計劃準備。
(2)怎么訓?它是實訓實踐的實施過程,從企業(yè)的實施角度而言,實訓實踐本身就是工程過程,實訓實踐的結果決定于實訓實踐過程管理與實訓實踐方法論的應用。運用企業(yè)軟件工程的管理思想,實訓方法論使用符合軟件統(tǒng)一過程的面向?qū)ο蟮目蚣芩枷?,確保實訓實踐無失敗風險。從目前這種思想的使用效果看,只要保障一定的師資水平,基本可以保證實訓實踐的失敗風險為0。
(3)訓怎樣?一方面是檢驗與評估實訓實踐成果的科學標準建設,另一方面是實訓實踐的成果對下一屆學生的示范效果。
更為關鍵的是,通過長期的實訓實踐過程結構優(yōu)化,可以使得校企之間建立一個與院校培養(yǎng)計劃與方案同樣嚴謹且科學的實踐體系,讓學生從入學就知道未來需要達成的實踐應用目標與方向,以及企業(yè)應用型人才需要達到的應用項目對人才要求的標準。
2.1.3 企業(yè)視野設計
考慮在實訓中學生將累積更多的行業(yè)知識與經(jīng)驗,從團隊組建與管理、文檔規(guī)范、編碼規(guī)范、工具使用,到績效考核,都采用企業(yè)仿真與模擬的形式。更主要的是引入主流的企業(yè)技術和行業(yè)前沿技術,接觸到更多企業(yè)需求與技術的商業(yè)價值與應用場景。
2.1.4 質(zhì)量管理
為了確保軟件工程實訓教改質(zhì)量,需要采取一些有效的質(zhì)量管理措施,建立明確的質(zhì)量目標和標準,明確要求學生在實踐中開發(fā)出符合行業(yè)標準和最佳實踐的軟件產(chǎn)品。這些標準可以基于行業(yè)認可的軟件工程方法和規(guī)范,如軟件生命周期管理、敏捷開發(fā)方法等。
實訓實施除了以最基本的實訓成果為導向外,還精心設計了實訓流程,制定實訓大綱與實訓計劃,提供嚴格的實訓教學管理,提供人性化的教學服務保障,最后以相對科學的評價體系驗收實訓成果,并給予得分評估。
如圖3 所示,實訓的過程是按照統(tǒng)一過程組織,實訓流程主要考慮4 個方面的因素:教學管理與服務、教學組織、基于軟件開發(fā)過程的實訓過程(教學內(nèi)容交付)、實訓評估與質(zhì)量管理。此外,還包含多次的階段驗收,實訓流程的順利實施需要教學管理措施與制度加以保障。實訓過程中會根據(jù)不同和差異進行實時調(diào)整,遵循更加合理的流程設計與驗收過程。
Fig.3 Organization of practical training process圖3 實訓過程組織
如圖4 所示,將實訓過程中的任務分成局部(每個組員的實訓任務)與全局(完整項目)兩個部分,每個人都作為組員完成各自的實訓任務,又都以項目經(jīng)理身份管理項目模塊與集成,并提交完整的項目成果,最后項目組內(nèi)進行評估,選擇一個最優(yōu)秀的項目成果作為項目組的提交成果物參與最后評審。項目任務分配中,任務模塊按照業(yè)務劃分,不按照技術分配,實現(xiàn)實訓過程技術應用的均衡性。
Fig.4 Design of practical training structure圖4 實訓結構設計
這次實訓教改的成果,是校企合作、團隊協(xié)作的結果,也是中國高科集團與重慶大學大數(shù)據(jù)與軟件學院對實訓理念、實訓設計的結晶。該過程既具備企業(yè)開發(fā)特點,也考慮院校教學特點,同時也是企業(yè)工程師團隊、企業(yè)資源、企業(yè)教學管理、企業(yè)實訓方法論與實訓設計的綜合體現(xiàn)。
(1)集中備課。從考量實訓均衡問題出發(fā),對實訓進行了整體分析與設計,抽取了實訓的共性,區(qū)分每個項目之間的差異部分,將工程過程作為共性,提出了基于工程內(nèi)容整體教學與工程實訓實施的方式,團隊整體備課,明確工程任務、目標、要求、提交物以及過程注意細節(jié)[8]。同時,每個班級與項目組引導各實訓指導工程師根據(jù)情況差異化備課。
(2)任務備課。備課分統(tǒng)一備課與差異化備課,故在實訓授課方面分成兩個部分,集中備課的工程內(nèi)容作為公共實訓任務發(fā)布,差異化部分作為實訓指導由各項目組的指導工程師實施。任務發(fā)布的授課時間一般在30~120 min,根據(jù)任務的復雜度與涉及的新技能,初期的工程分析與設計時間控制在60~120 min,后期編碼的任務發(fā)布時間控制在30 min 左右,將更多的時間交給學生自主實踐探索。任務發(fā)布包含明確的任務與提交物要求,同時包含工程部分的指導與注意事項。其主要包含4 個部分:課堂任務、實訓主要工作內(nèi)容、實訓工作要求、實訓所需要的提交物。
(3)實訓指導。實訓指導分成兩3 個部分:①集中指導,通過線下及直播結合實施;②分散指導,根據(jù)實訓中存在的問題及時實施,采用線下實時解答;③對簡單且容易接受的問題通過提供文檔、代碼的方式進行指導(主要用于演示性實訓指導)。實訓指導主要以線下實時指導為主,使用騰訊會議輔助,每天集中實訓指導時間平均為在8 h 左右。分散指導時間根據(jù)問題不同,有時一個分體可能需要多次臨時直播。此外,每天19:00-21:00,有一名主講教師和一名輔助教師留在機房為學生現(xiàn)場答疑。
(4)進度監(jiān)控與問題答疑。項目實訓的成功除學生的努力外,還需要實訓指導工程師對進度加以監(jiān)控,并根據(jù)監(jiān)控結果作必要答疑。進度監(jiān)控不僅僅是檢測監(jiān)督,還包括每個環(huán)節(jié)的完成情況、合理性以及可創(chuàng)新之處[9]。這種監(jiān)控會根據(jù)小組進度,開展適合小組實際情況的前瞻性實訓指導。
(5)技術攻關。技術攻關根據(jù)項目中學生的具體情況確定,有的是本身就需要的技術,但是學生沒有掌握,有的是學生想做創(chuàng)新嘗試,需要學習新的技術。這些技術通常在技術學習階段并沒有涉及,需要教師準備好,為學生講解的同時將其錄制成視頻。
實訓中監(jiān)控、溝通、解決問題的效率都是教學管理中最重要的問題??紤]到實訓部分學生基礎較為薄弱,實訓前便以高要求、高難度、高標準對他們提出具體要求,在實訓前、實訓中均充分調(diào)動他們的積極性,在幫助學生鞏固內(nèi)容的同時引導他們多完成創(chuàng)新的目標,并以此為任務發(fā)布基準,發(fā)揮他們團隊協(xié)作及自主學習能力。同時,以現(xiàn)階段企業(yè)協(xié)作相關要求為著眼點,在學習中、項目中、教學管理中均作出嚴格要求。整個實訓期間的教學管理落實在以下細節(jié)處:
(1)實訓教務管理機制。企業(yè)入駐高校實施實訓教學,線下教學更容易形成濃厚的學習氛圍,小組相互幫助更有有助于學習。教師可以對學生的學習進行有效監(jiān)督,并針對學生學習過程中出現(xiàn)的問題及時給予反饋,提高學生的學習效率[10]。但線下教學也存在一些弊端,由于參訓人數(shù)較多、教室較大,限于教學屏幕、聲音效果等條件,學習效果會受到影響。實訓文檔的交付、修改及交流使用云文檔的形式效率更高,也更便于監(jiān)督管理。同時,小組之間通過線上溝通、協(xié)同以及以小組為單位進行項目管理效率較高。線下實訓項目實施的同時采用騰訊會議線上同步進行,以彌補線下屏幕、聲音等條件問題,讓不能參加線下實訓的學生也可參加線上同步實訓,達到線上線下等質(zhì)實效。
(2)實訓前引導科學分組。中國高科集團共發(fā)布25個企業(yè)級項目,需要學生自主選擇感興趣的項目并自行組隊。針對已報名未組隊成功的情況,以隨機原則匹配項目組成員。在該過程中,有部分學生希望能調(diào)整分組,公司要求學生以企業(yè)員工的心態(tài)去看待分組和實訓,企業(yè)員工不可挑選同項目的同事,要趁此機會學習如何更好地解決團隊配合問題。
(3)建立項目組長機制,明確組長權限與職責。實訓即模擬企業(yè)項目開發(fā)形式,設立項目組長。組長責任重大,不單單需要進行出勤及作業(yè)等日常工作的配合,還需要統(tǒng)籌安排組內(nèi)開發(fā)計劃,合理分配組員工作任務,完成情況、困難解決、技術攻關等,在整個項目實訓中承擔著很重要的角色。
(4)教學過程監(jiān)控與問題答疑。實訓過程中,針對遲到、出勤、作業(yè)提交及態(tài)度不積極的學生及時進行原因追蹤,確定問題所在,及時疏導并在后續(xù)幾天重點關注。期間重點關注學生對課程的掌握和吸收程度,以及對技術教師的評價、各小組內(nèi)部發(fā)生的問題等[11]。
(5)重點學生關注。教務老師結合每日考勤情況,針對學生長期請假情況,對相關學生進行回訪并給予幫助,讓學生及時跟上實訓進度。
(6)反饋服務。為了解學生的真實學習情況和對技術知識的掌握程度,以及學生對實訓教學的建議,以更好地滿足學生的學習需求,實訓期間每兩天由助教負責對各小組進行調(diào)查,便于了解學生的真實情況,及時作出調(diào)整方案。
(7)實訓教學日報。項目實訓期間,啟動教學日報制度,向?qū)W校相關教師和領導匯報當天情況,做到有問題及時發(fā)現(xiàn)并解決。
(8)考勤服務。整個實訓期間對考勤作嚴格要求,學生不能遲到、早退,早晚各簽到一次,保留紙質(zhì)文檔并由教務老師在電子文檔中記錄,對遲到、早退及缺勤的學生扣取相應分數(shù)。
學生實訓成績由4 部分構成,計算公式即總成績=(作業(yè)成績×10%)+(考勤成績×20%)+(實訓過程成績×40%)+(項目驗收成績×30%)。在項目最后,由企業(yè)教師給予每位學生適當?shù)脑u語。
該成績計算方式的設計是基于如下目的:①督促學生自我跟蹤與學習新技術,因為實訓最終檢測的還是技術學習效果,以及學生對技術體系化梳理的能力;②以實訓過程為重點,同時重視實訓結果[12]。
在最近三屆軟件工程專業(yè)本科生的實訓課程中實施該教改方案。通過問卷調(diào)查和成績分析發(fā)現(xiàn),與以往教學效果相比,新教學模式獲得了較高的滿意度,主要體現(xiàn)在:
(1)自信心增強。很多學生在初期都對后期能否完成實訓持有懷疑態(tài)度,但是通過3 周日以繼夜的工作與學習,不僅沒有難倒他們,還激發(fā)了他們的潛能,自學意識非常高,得以完美地完成項目,極大增強了他們的自信心。
(2)專業(yè)能力提升。通過實訓對整個軟件開發(fā)流程有了全面認識,真正做到從書本中來到實踐中去,對整個軟件架構有了更清晰而深刻的認識。同時,很多學生還感悟到通過實訓能接觸到前沿的企業(yè)技術,比如人工智能、嵌入式等。
(3)線上云協(xié)作能力提升。通過運用云文檔協(xié)作與云代碼管理,提前實踐了企業(yè)線上工作的方法與流程。
(4)團隊協(xié)調(diào)能力提升。加強了學生的團隊意識,提升了項目組內(nèi)配合度,不管是組員還是組長,都對整個項目中的人員配合有了深刻認識和理解。
(5)問題解決能力提升。學生遇到問題及時想辦法去解決的能力有了顯著提升,首先是遇到問題不再害怕,而是通過溝通探討加以解決,每一次的碰撞對于他們都是一次提升。
(6)管理總控能力提升。學生的管理總控能力得到提升,尤其是組長,從最開始不知道如何分配任務,到最后可以整體規(guī)劃任務,整體管理能力得到很大提升。
作為高校重點專業(yè),軟件工程專業(yè)教學質(zhì)量與學生專業(yè)素質(zhì)涵養(yǎng)和綜合學習能力之間存在緊密聯(lián)系。本文根據(jù)國家教育部與重慶市教育委員會關于實施“卓越工程師教育培養(yǎng)計劃”的若干意見,在重慶大學大數(shù)據(jù)與軟件學院軟件工程專業(yè)本科生的實訓過程中實施新教改方案。通過調(diào)查發(fā)現(xiàn),新教學模式提高了學生們的專業(yè)能力和團隊合作能力,能夠更好地達到培養(yǎng)卓越工程師的最終目標。