汪雪元,何劍鋒,袁兆林
(東華理工大學 軟件學院,江西 南昌 330013)
2017 年,教育部推出“新工科計劃”[1];2020 年5月,教育部推進新工科建設再深化、再拓展、再突破、再出發。“新工科”的主要目標是培養視野寬闊、創新精神豐富和具有解決復雜工程問題能力的復合型工科專業人才,是在高等教育中進行工程教育改革的重要探索[2]。作為一門應用型專業,軟件工程專業的人才培養目標是培養能夠在各個領域進行軟件需求分析、系統設計、編碼、工程管理和技術服務等工作的應用型人才。實踐能力強是新工科建設對軟件工程專業人才的基本要求[3]。
近年來,工程教育改革在國內受到越來越多關注。2005 年,做中學(CDIO) 工程教育模式[4]由汕頭大學引入國內,成果導向教育(OBE) 理念[5]也于近年被引入。國內在工程教育的教學理念、教學模式、人才培養模式、實踐課程體系建設、實踐教學環節引入等方面提出了較多的理論構想[6-7]。文獻[8-9]對軟件工程專業的實踐教學體系、教學理念、教學模式進行了研究。但是,針對教師工程實踐教學能力進行的研究較少。教師的工程實踐教學能力是各種工程教育模式、工程教育理念能否真正落實的關鍵因素,也是“新工科計劃”在軟件工程專業能否成功實施的關鍵因素。本研究首先對軟件工程專業工程實踐能力內涵進行分析。然后,結合東華理工大學在軟件工程專業多年的辦學經驗,對地方本科高校軟件工程專業教師的工程實踐教學能力現狀和存在問題進行了深入研究。最后,給出了可行的專業教師工程實踐教學能力提升策略。
在軟件工程領域,工程實踐能力不是指軟件方面的編程能力和簡單的實驗項目開發能力,而是指在真實環境下進行真實軟件項目開發的能力。工程實踐能力包括工程思想與意識、工程規劃設計能力、實踐動手能力、提出問題與分析解決問題能力。具備工程實踐能力是教師擁有工程實踐教學能力的前提。按照軟件企業中技術人員的職位級別設定,工程實踐能力可以分為基礎工程實踐能力和高級工程實踐能力,如下圖所示。

圖1 軟件工程專業工程實踐能力
具備高級工程實踐能力的教師可以帶領和指導學生進行軟件項目的開發,教師不僅是知識的傳授者,而且還是教學軟件項目的設計和開發者,是學生學習的引導者。僅具備基礎工程實踐能力的教師對學生的指導側重編程方面的指導,可以幫助學生解決具體技術問題使得實踐項目可以繼續推進。
自2001年教育部試辦示范性軟件學院以來,軟件工程專業一直是工程教育改革的先鋒。教育部2010年推進的“卓越工程師計劃”和2017年推進的“新工科計劃”,軟件工程專業都積極參與其中。軟件工程專業人才培養計劃一直強調對學生實際動手能力的培養,課程體系中實踐類課程和實踐環節的學分比例在人才培養計劃的歷次修訂中都穩步增加。但僅靠實踐時間的延長不一定能有效提升學生的工程實踐能力。在每年軟件工程專業畢業生的就業信息調研中,實際動手能力差,即缺乏工程實踐能力,一直都是企業反饋的最主要問題。學生工程實踐能力的缺乏,本質上是教師工程實踐教學能力的缺乏。教師工程實踐教學能力的缺乏,究其原因主要有以下幾點。
受人事制度制約,企業中有著豐富實踐經驗的人難以進入高校任職,導致國內高校師資隊伍來源單一。國內高校軟件工程專業教師基本上都是碩士、博士畢業后直接進入高校,幾乎都沒有軟件企業工作經驗,不具備從實際軟件項目開發中培養出來的工程素質。工程實踐經歷的缺乏,導致專業教師欠缺或并不真正具備工程實踐教學能力,在教學過程中對學生如何提升實際動手能力缺乏正確和高效的指導,使得軟件工程專業的各種工程教育改革有流于形式的風險。在教師工程實踐教學能力沒有得到提升的情況下,工程實踐教學環節,例如生產實習和畢業設計,在實際進行過程中往往被大大降低了難度,工程實踐內容可能會被“刻意遮蓋”,使得其無法達到培養學生工程實踐能力的目的。
為了提升專業教師的工程實踐教學能力,每年都有一些針對高校計算機和軟件專業教師的技術培訓,例如全國高校 IT 骨干教師暑期培訓班、高校基礎軟件師資培訓。這些培訓通常由國內知名IT企業舉辦,培訓的技術一般都是國內企業所使用的主流開發技術,培訓教師往往是工程實踐經歷豐富的企業資深項目經理或技術總監。但從調研結果來看,培訓的效果往往不及預期。很多教師對于參加實踐培訓并不積極。主動參加培訓的很少,很多人都是單位指派去參加的。另外,教師普遍對學習新技術的積極性不高。對于培訓過程中學習的一些軟件開發技術,很多教師抱著了解了就行的態度,并不愿意深入學習。
為了提高軟件工程專業教師的工程實踐能力,有些高校嘗試與企業合作。合作方式包括讓高校教師進入企業全職工作一至兩年,或者與企業合作開發軟件項目。但實踐中,這兩種方式的效果都不盡人意。即使學校給出優惠條件,學校工資照發、在企業掙的工資完全歸老師,也幾乎沒有教師真正愿意進入企業從事軟件項目開發以提升工程實踐能力。究其原因,一是教師對自己能力的不自信,感覺很難適應企業緊張的工作節奏;二是進入企業會耽誤科研,影響教師職稱的評定。與軟件企業合作開發軟件項目,在實踐中也幾乎沒有可能性,主要原因是教師基本不具備開發軟件項目的能力。現實中,企業也不太樂意接受以培訓教師為目的的合作形式。
軟件開發技術更新迭代速度非常快,特別是進入互聯網軟件開發時代后,各種前端、后端開發框架層出不窮,教師的學習節奏幾乎很難跟上技術更新的步伐。例如,互聯網應用程序的前端開發框架,幾乎一兩年就會出一個新的流行框架。對很多老師來說,一個框架還沒有學會,就已經落伍了,這極大地打擊了一些教師的學習積極性。老師們傾向于學習那種長時間不會落伍和淘汰的技術。但現實中,企業所使用的開發工具、開發框架、開發語言、開發平臺,是快速更新迭代的。一些老師了解這些后,干脆放棄了學習具體的新技術。教師們更愿意研究算法、工程技術理論,因為這些理論知識不具有時效性,且這些領域更易出論文、更易出科研成果。
國家對工程教育非常重視,且工程教育改革已經進行了多年,但工程實踐教學能力在一些地方高校中并未得到真正重視。在一些地方高校中,從事工程實踐教學的往往是高校教師中弱勢群體,如新進的、資歷淺的或職稱低的教師。工程實踐性較強的專業方向課,往往教材不成熟、沒有配套課件、沒有題庫。專業方向課時常會隨著技術發展以及專業方向的調整而被調整出人才培養方案。此外,專業方向課往往理論性不強、實踐操作內容較多,不利于教學評價。據調研,目前高校中軟件工程專業中側重理論的專業基礎課、側重實踐操作的專業方向課,在課時津貼和教學評價上并沒有進行區別對待。在教師年度考核,尤其是職稱評審中,科研學術能力始終是最重要的考核條件。而教師工程實踐教學能力水平在高校中并沒有明確的考核標準和要求。目前的這種評價機制不利于教師工程實踐教學能力的提升,也不利于軟件工程專業雙師型師資隊伍的建設。
真正將重視工程實踐落到實處,提高教師學習新技術的積極性,使學習新技術能為教師帶來益處。這些益處包括教學上的益處、科研上的益處以及經濟上的益處。重視具有高級工程實踐能力的教師。這類教師在高校中比較稀缺,他們在制定人才培養方案和教學計劃方面發揮著不可替代作用。學校和學院可以支持具有高級工程實踐能力的教師成立軟件開發工作室,提供軟硬件設施,支持教師承接軟件開發類橫向項目。對于軟件開發類橫向項目,降低達到廳級、省級項目標準的經費門檻,降低學校橫向項目管理費。通過橫向商業軟件項目的開發,能夠檢驗和提升教師的工程實踐能力,也能提高學校的社會影響力和為教師個人帶來經濟收益。這些收益有利于教師工程實踐教學能力的持續提升,會極大提高教師學習新技術的積極性。
工程實踐教學能力的提升,對教師來說關鍵在于工程實踐能力的提升。教師進行工程實踐能力提升之前,首先應該確定提升方向。在IT 企業中,軟件開發崗位分工非常細。根據開發技術以及應用平臺的不同,對軟件開發方向進行劃分,如圖2所示。

圖2 軟件開發方向
教師在確定工程實踐能力提升方向后,在新技術學習過程中,首先應該將新技術學習內容聚焦于某一個具體開發崗位和具體技術路線,例如聚焦于Web應用軟件開發。聚焦易于形成真實戰斗力,即真實項目的開發能力。其次,學習的新技術應該易于找到可切入的行業。學習一項開發技術后,如果始終得不到實踐應用,則會始終停留在技術學習階段,而工程實踐能力無法得到真正提升。東華理工大學軟件學院根據企業需求以及教師的工程實踐能力實際情況,在最新的人才培養方案中,確定了軟件工程專業人才的三個培養方向:系統應用軟件開發、移動應用軟件開發和大數據開發。人才培養方向的確定,也確定軟件工程專業教師的工程實踐能力提升方向。
人才培養方案中軟件開發方向確定后,實踐類課程也隨之基本確定。設置合理、規范的實踐課程體系,組建目標及分工明確的工程實踐師資隊伍,以便提高專業教師的工程實踐教學能力。在高校中,具有高級工程實踐能力的教師較為稀缺,僅靠這些教師無法承擔整個軟件工程專業工程實踐類課程的教學。對于缺乏工程實踐經歷的教師,工程實踐教學能力提升的目標是使之具備基礎工程實踐教學能力,能夠配合具有高級工程實踐教學能力的教師對學生進行實踐指導。東華理工大學軟件學院通過設置課程群及建設課程群師資隊伍來提升教師的基礎工程實踐能力。工程實踐教學能力較強的教師被分配到課程群,每位教師負責1 至2 門實踐類課程的理論和實踐教學。課程群教師通過在線學習、培訓、企業交流等方式進行工程實踐教學能力提升。通過課程群建設,進一步明確了專業教師需要具備的工程實踐教學知識結構。
軟件工程專業人才培養方向成功實現培養目標的前提是這個方向至少需要1至2名在本方向具有高級工程實踐教學能力的教師。在現行人事制度下,對地方高校而言,一個切實可行的做法是通過引進碩士學位教師,然后將其送到軟件企業全職工作兩至三年。可以根據學校軟件工程專業本科人才培養的規劃,指定這些新教師在企業的就業方向。在企業全職工作兩至三年后,教師基本能夠具有高級工程實踐能力。對于其他校內教師,可以出臺政策,鼓勵教師去軟件開發企業全職工作一至兩年。對于這些去企業的教師,企業工作經歷在職稱評審時可以作為加分項。這樣經過若干年后,一支具備高級工程實踐能力的師資隊伍可以有效形成。
實踐處于工程教育的核心價值地位,學生工程實踐能力培養的重要性基于工程教育的“實踐取向”。工程教育中,強調知識在實踐中學,實踐并不是對理論知識的簡單驗證。教師工程實踐教學能力是工程教育成功實施的前提和關鍵。教師的工程實踐教學能力是反映教師工程教育質量的一項關鍵指標,在新的考核機制中要突出這一指標。在教學評價和教師考核中,將側重理論的專業基礎課和側重實踐操作的專業方向課區別對待。通過制定政策激勵教師提升工程實踐教學能力和積極承擔工程實踐類課程教學任務。對教師工程實踐教學能力水平制定明確的考核標準,讓工程實踐教學能力體現在教師的職稱評審中。一個傾向于工程實踐的考核機制將有助于教師工程實踐教學能力的持續提升。
一些地方本科院校中,軟件工程專業教師實際上只是完成了專業理論課程以及一些簡單的實踐類課程教學任務。而學生工程實踐能力的培養任務,很長時間以來其實都交給了校外IT 培訓機構來完成。這種模式近年遇到越來越多的問題。例如,培訓機構收費越來越貴,很多學生家庭負擔不起,且有些家長對交費參加校外企業培訓表示不理解。另外,考研學生人數大幅增加,導致去企業參加培訓的人數大幅減少。對于沒有參加企業培訓的學生,如何提升工程實踐能力,達到人才培養目標,是學校需要面對的任務。
對于地方本科院校而言,軟件工程專業的不足可能不在硬件條件、模式理念、教學技巧等方面,而在教師本身。可以說,軟件工程專業教育中,教師能力的不足是最大的問題,其中工程實踐教學能力的不足最為突出。“新工科計劃”對工科教師的工程實踐教學能力提出了更高的要求。“新工科計劃”的成功實施,有賴于建設一批具有較強工程實踐教學能力的專業教師隊伍。