郭永平,劉淑娟
(1.寶雞文理學院 計算機學院,陜西 寶雞 721016;2.寶雞文理學院 圖書館,陜西 寶雞 721016)
隨著教育部有關全面落實“學生中心、產出導向、持續改進”的工程教育理念的新工科建設快速發展[1],以新工科建設為抓手,以市場需求為導向,深化教育改革,輸出具有創新性和解決現實復雜工程問題的應用型人才成為各大院校關注的熱點問題。軟件工程專業作為高校計算機類教學的傳統專業,已經形成了一套成熟的培養體系和培養措施,但由于軟件技術更新速度較快,市場對從業人員的要求處于動態變化之中,造成學生對職業定位不準確,無法達到卓越工程師培養目標。本文在對西安10多家軟件開發企業對本科畢業生招聘過程中的考查指標分析基礎上,結合當前軟件工程專業大學生學習特點及傳統培養過程中存在的問題,探索以學生為中心,以興趣為導向,協助學生完成職業規劃,激發學生內在學習的主動性,培養具有扎實的專業基礎、良好的職業素質、實踐能力強的創新應用型人才,實現人才培養與市場需求無縫對接。
通過對葡萄城、絲路軟件、萬德信息、博彥科技等10多家以軟件外包開發為主的企業對應屆畢業生招聘要求發現,雖然軟件開發是當前的熱門就業領域,社會需求量非常大,但市場并不缺乏具有一定工作經驗的低端開發人員。很多企業的人力資源主管反映之所以選擇校園招聘,而非社會招聘具有從業經驗的開發人員,不是因為應屆畢業生的成本低,而是為了選拔和儲備具有發展潛力、品行兼優、善于打破禁錮敢于創新的技術人才。在應屆生招聘活動中,更加關注應聘者的思想品德、溝通能力、團隊協作等職業素養以及專業基礎、學習能力和綜合解決問題的技術素質。在招聘應屆畢業生時,首輪面試一般考查應聘者的職業素養,職業素養面試通過后才可以進入以專業素養為主的第2次、第3次的面試。在這幾次面試中,學生的職業素養和專業素質考查項、考查方式及內容如表1-2所示。

表1 應屆畢業生招聘職業素養考查指標與考查內容

表2 應屆畢業生招聘專業素質考查項與考查內容
職業道德、團隊合作、抗壓能力等職業素養是軟件企業最基本的要求,基于此項,在軟件開發人才培養過程中需要關注學生文化素質、個人修養和符合主流的價值觀形成,并在日常授課中需要有目的性地對學生的溝通能力、團隊合作能力進行訓練。在專業技術素質考查中招聘單位更關注學生的專業基礎、專業興趣、鉆研學習能力和抽象思維能力,專業技術素質則要求學生除了具有較強的動手實踐能力,還需要有過硬的專業基礎,以適應軟件技術快速更新和發展。專業技術素質要求培養過程中引導學生構建正確的職業觀,實現專業基礎和動手實踐兩手抓。
大學本科階段是青年學生從象牙塔邁向社會的重要人生歷程,此階段的大學生對社會有著強烈的了解和求知欲望[2]。同時,當代的大學生具有個性化強、思維敏捷、頭腦靈活、功利意識強、價值觀更加務實、易為外界環境影響等特點,選擇性學習已經成為大學生的一種新常態。尤其是軟件開發已經成為熱門就業領域, 社會需求量非常大,巨量的市場需求催生了大量的軟件培訓輔導機構,社會培訓機構廣告效應和學生就業迫切的心態雙重因素影響下,軟件工程專業的學生扭曲了軟件開發職業所需的知識體系,輕理論、重動手,關注短期效益,忽視長期職業規劃,熱衷于某一熱門工具或主流框架進行突擊性培訓,忽略甚至放棄對數學、數據結構、數電、模電、組成原理等專業基礎學習以及文化組織、思想政治課程的學習。這種選擇性學習短時間能夠勝任一些小型軟件公司的應急性開發,但對學生長期的職業發展是不利的。
數學及專業基礎理論課程是用于開啟學生抽象思維,提高思辨能力的關鍵課程。然而,由于學生興趣不高,課堂互動不積極,這些課程的教學過程以示例式講授為主,學生主要通過視覺、聽覺等感官接受知識,缺乏對理論的動機與實現原理進一步思考。這樣的學習方式,導致學生在學習中的主體地位未確立,作業嚴重依賴于教師給定的模板,以機械的記憶敷衍和對付考試,理論基礎不扎實,無法達到提升學生識別問題、分析問題、自主學習解決問題的能力。
一個好的過程不一定有好的結果,但一個不好的過程一定會產生預期不到的結果。學生在實踐課程中,依葫蘆畫瓢,片面地追求完成,忽視了實現過程和細節的學習。只有注重軟件開發過程,才能將軟件工程的相關理論和實際結合起來。而細節決定了軟件開發的深度,只有關注細節才能發現深層次的問題,從而完成問題解決,達到實踐課程的目的。
在教學案例設計上,規模太大,實踐周期短,學生往往把復雜問題簡單化,考慮不周全,應用場景缺失,敷衍完成了事。如:在一周的課程設計中,完成諸如圖書管理系統、教務管理系統、電商平臺等很多大型軟件開發公司需要數月或更長時間才能完成的任務,實際上學生根本無法在短時間內完成,結果只能是走馬觀花,最終給出一個功能缺失、運行脆弱、沒有特色的系統,也是一個極不真實的結果,對學生而言,也就無法感受實際需求分析的過程及對開發的影響,偏離了實踐教學目的。
學習是學習者主動建構的過程,必須有學習者積極主動的活動[3]。學生積極主動地參與教學活動的動力就是學生的學習興趣,興趣也是促進學生樂學的先決條件。大學本科階段是大學生對將要從事的職業進行規劃的階段,對將要從事的職業中人際交往、個人修養、專業技能的相關知識有著強烈的內在需求,這些內在需求是學生學習興趣的熱點。因此,大學教育工作者需要幫助低年級大學生做好職業規劃,使其正確地認識各學科之間的關系,引導和激發學生對基礎理論的學習興趣。尤其軟件工程專業的學生易受外部因素干擾的情況下,可通過現場認知實踐、職業規劃課程、邀請軟件公司的人力資源主管和技術工程師介紹有關企業文化、規章、制度及技術素養的講座等形式,引發學生對自身職業規劃的思考,根據職業規劃自主確定學習目標和學習范圍,有利于增強學生學習的主動性和學習全面性,從而將大學生選擇性學習轉化為學習的動力。
對于實踐性較強的專業及專業核心課,將示例型教學方式轉換為啟發式教學,可以引導學生自主探究的興趣,從而融會貫通所學知識,提高發現問題、分析問題以及解決問題的能力。一般大學生在學習過程中具有強烈的參與意識,在授課前通過QQ群或專門的App給出現實生活中的一些場景,提出問題,布置課前作業任務,學生可以通過查閱資料、補充問題,提出自己的解決方案;授課教師在課堂中可以對學生的解決方案進行評價和組織討論,給出自己的解決方案以及解決方案包含的相關理論;課后學生歸納總結理論的動機、利弊及使用場景。如:在講授面向對象程序設計中,課前可以布置商場結算程序作為作業,提出需要解決商場各種促銷活動的常態化問題;課堂中對學生開發的程序擴展性和可維護性進行評價,講解策略模式解決問題原理、使用方法及場景,最后拓展性將工廠模式和策略模式相結合,提出商場開發新型的營銷策略后系統動態適配問題;課后學生歸納總結策略模式意圖、優缺點及拓展。將示例式教學轉化為啟發式教學,此種教學模式可以培養學生獨立思考、溝通表達及解決問題的能力。
脫離了現實的理論在授課過程中往往是枯燥、晦澀難懂的,理論落實不到應用,學生提不起興趣。可以將復雜的理論蘊含在實際生活或實際的解決方案中,從而使得課堂內容豐富,學生樂于接受。例如將辯證唯物主義和學生的人際交往、處世做事、個人修養等方面結合起來;再如數據結構中數組、鏈表、二叉樹的學習和JDK7和JDK8中HashMap實現算法結合起來,讓學生去思考JDK8中通過紅黑二叉樹改進以前單鏈表解決哈希沖突的原因。現實情景式教學可以讓學生認識到理論在現實中的作用,培養了學生對基礎理論的應用能力,同時也能夠將學生興趣熱點和所授課程中的知識關聯起來,使學生每節課都有收獲知識的快感,吸引學生的注意力,取得良好的教學效果。
大學本科階段的高年級學生需要通過一定的實踐活動將學習獲得的相關知識轉化為處理問題的能力,企業實習是一條必經之路[4]。然而,對于軟件工程專業的學生,由于軟件開發受到當地軟件產業規模、評價體系和利益分配等多種因素的制約,學生直接參與企業產品研究開發的頂崗實習機會少,很難做到全覆蓋。而軟件開發是輕資產行業,因此在校內按照軟件企業相關要求,仿真企業開發環境,還原職場工作環境,開展實踐教學活動切實可行。打造沉浸式軟件工程實踐環境,可有效解決學生異地實習成本高、周期短、效果不顯著等問題。軟件工程專業實踐仿真環境建設追求真實的職場環境,主要包括各種軟硬件環境建設、開發標準規范和項目案例庫的建設三部分內容。標準規范是參照當前軟件公司開發要求制定的成文標準規范、工作流程、評價考核、獎懲制度等。環境建設包括辦公場地、網絡硬件及配置管理、缺陷管理工具、自動化測試工具、設計工具等軟件建設;項目案例設計時需要能覆蓋基本的軟件工程理論,但案例規模不能太大,確保5個人的團隊能夠在6~8周中至少完成3次迭代開發。在實踐過程中,項目管理、需求獲取與管理、分析與設計、實現、測試、實施等環節全部由學生主導完成,教師擔任引導、檢查、糾偏、評價等角色。校內沉浸式軟件工程實踐可有效地鍛煉學生團隊合作和溝通能力,通過迭代式開發可循序漸進式地引導學生對軟件實現細節和實現過程的關注,更加深入掌握軟件開發中的技巧與方法。
軟件開發工作是當前熱門的就業領域,人員需求量大,造成了軟件工程專業學生往往混淆職業教育和高素質人才教育的區別,對于將要從事的職業所需的知識體系認知發生了偏差,輕理論和綜合素質的學習,重視對熱點工具的學習。通過幫助學生樹立正確的職業觀,以職業需求為導向激發學生的興趣,以及啟發式教學、聯系現實開展情景式、沉浸式工程實踐環境等手段優化教學方式與內容,提高學生的學習參與度,全面激發學生學習的主動性和創造性,實現人才培養與企業需求的無縫對接。