摘要:從應(yīng)用性教學定位出發(fā),總結(jié)以往軟件工程教學的經(jīng)驗,提出一套操作性強、行之有效的軟件工程教學團隊建設(shè)方案,從師資建設(shè)、教學安排、特色實訓環(huán)節(jié)等方面闡述團隊建設(shè)的實踐經(jīng)驗,提出教學團隊指導項目小組接受完整軟件工程訓練的一系列方法和措施,并對今后的改革方向做進一步思考。
關(guān)鍵詞:軟件工程;教學團隊;教學改革
軟件產(chǎn)業(yè)是最具前景的產(chǎn)業(yè),目前,我國軟件產(chǎn)業(yè)發(fā)展迅速,人才需求旺盛[1]。隨著經(jīng)濟全球化的發(fā)展和國際競爭的日趨激烈,全球軟件和信息服務(wù)產(chǎn)業(yè)等服務(wù)外包產(chǎn)業(yè)結(jié)構(gòu)調(diào)整正在興起[2],如何抓住機遇盡快地融入到國際競爭的大舞臺,營造和諧的軟件產(chǎn)業(yè)發(fā)展環(huán)境,培養(yǎng)應(yīng)用型的創(chuàng)新性軟件人才,是高校培養(yǎng)軟件人才的重中之重。
廈門理工學院是一所新興的本科院校,我們的辦學特色清晰地定位在“開放式、應(yīng)用型、地方性、國際化”之上。計算機科學與技術(shù)系相關(guān)本科專業(yè)建立時間短,教學班子經(jīng)驗不夠豐富,如何讓教學契合學校的辦學定位,盡快辦出特色,形成可操作性強、行之有效的教學方法,是一線教師必須思考的問題。
國內(nèi)軟件工程教育者從教學內(nèi)容[3]、人才培養(yǎng)體系[4]、課程體系[5]、實踐培養(yǎng)體系[6]、創(chuàng)新人才培養(yǎng)[7]等方面進行了大量研究實踐。本文討論作者教學過程中遇到的問題,提出教學團隊指導項目小組接受完整的軟件工程訓練的一系列方法和措施,從師資建設(shè)、教學安排、特色實訓環(huán)節(jié)等方面闡述團隊建設(shè)的實踐經(jīng)驗。
1教學中的問題
在多年軟件工程類課程教學過程中,我們對課程設(shè)置、教學方法進行調(diào)研、改革和實踐。通過總結(jié)經(jīng)驗、與兄弟院校交流和考察企業(yè),我們發(fā)現(xiàn)以往的教學往往忽視軟件工程的“工程”性,導致學生對軟件工程沒有具體的感受,更談不上深入理解軟件工程相關(guān)的原理、方法及其在具體實踐中的運用。對此,我們在以下方面進行反思。
1.1課程內(nèi)容得不到很好的整合
軟件工程專業(yè)課程知識結(jié)構(gòu)可分為基礎(chǔ)課、軟件開發(fā)技術(shù)、軟件工程等部分,課程之間內(nèi)容聯(lián)系強,知識點相互交叉。由于該專業(yè)課程理論性和實踐性都很強,因此,不聯(lián)系實際學生就很難理解其精華,任課教師壓力很大。如果教師對整個課程體系不了解,沒有實踐經(jīng)驗,對相關(guān)概念、原理不熟悉,教學時詳略不當,前后課程不能銜接,就極易造成各自強調(diào)自身課程的重要性,實驗內(nèi)容簡單重復的現(xiàn)象。雖然某些課程設(shè)計的獨立實踐環(huán)節(jié)是以學生組團形式完成一個項目,但是,很少有項目能夠結(jié)合數(shù)門相關(guān)課程,因此,也就沒有完善的項目。
1.2重編程輕設(shè)計
軟件工程專業(yè)要重視計算機科學與技術(shù)基本理論技術(shù)的教學及目前常用的、流行的技術(shù)、平臺和開發(fā)工具的介紹,同時又要注重分析、設(shè)計、項目管理等一系列與培養(yǎng)、提高工程能力、團隊精神緊密結(jié)合的課程。以往的教學往往重視前者而忽視的后者,這種教學方法使人在面對目前眾多開發(fā)方法、平臺、技術(shù)時會感到無所適從,不知道具體該開設(shè)哪些課程才算全面恰當。以前我們就有過Java平臺和.Net平臺之爭,相當長的一段時間里,這兩種技術(shù)并重,它造成課時緊張,給教師和學生帶來不少的壓力。
軟件工程專業(yè)應(yīng)當培養(yǎng)學生的程序設(shè)計能力,使之能夠勝任在團隊中承擔程序開發(fā)工作。但過分強調(diào)程序設(shè)計的重要性,將大量的課時投入到編程語言和工具的學習上,并不能將學生培養(yǎng)成優(yōu)秀的軟件工程專業(yè)畢業(yè)生。軟件工程專業(yè)的重點應(yīng)該放在軟件工程的原理和方法上,使受教育者接受項目的需求分析、設(shè)計、編碼、測試、部署以及項目管理等整個過程的訓練,并成為提供解決方案團隊中的優(yōu)秀成員。
1.3教學缺乏“團隊性”
雖然軟件工程強調(diào)團隊合作,但以往的教與學并沒實現(xiàn)這一要求。事實上,完成軟件項目需要運用項目分析、設(shè)計技術(shù)和框架、語言的實現(xiàn)以及測試、部署和維護等過程,涉及整個課程體系,這個特點決定任課教師知識結(jié)構(gòu)必須全面,需要高度合作,需要全局觀念,絕不能只把重點放在自己的課程上,而不考慮課程之間協(xié)作和內(nèi)容整合。
以上問題不是孤立的,而是相互影響的,課程孤立本身是教學缺乏團隊性的表現(xiàn),長此以往會加劇課程內(nèi)容之間的割裂。項目設(shè)計與編程實現(xiàn)不能協(xié)調(diào)也是課程教學內(nèi)容孤立缺乏團隊性的體現(xiàn)。制定課程設(shè)計,但沒時間實現(xiàn),實現(xiàn)了,卻沒時間測試??傊?,如果不能破除這三個現(xiàn)象,問題就會更加突出,就無法達到培養(yǎng)優(yōu)秀軟件工程人才的目標的。
2建立軟件工程教學團隊的三個步驟
2.1建立軟件工程課程體系
軟件教學團隊應(yīng)當確立在合理的課程體系之上。為了準確定位、達成共識,軟件工程教研室歷時半年,集中精力進行了軟件工程培養(yǎng)計劃的修訂工作。通過訪問兄弟院校、走訪企業(yè)、研究國內(nèi)外成功經(jīng)驗等多種形式,我們逐步清晰了辦學的定位與特色,形成了自己的培養(yǎng)計劃,主要專業(yè)課程體系如圖1所示。
課程體系主要是優(yōu)化軟件工程系列課程和實驗實踐環(huán)節(jié),同時,在認識高度統(tǒng)一的基礎(chǔ)上削減專業(yè)課的課時。這次修訂最大的改革是在第六學期和第七學期設(shè)置兩個大型的獨立實踐教學環(huán)節(jié),將軟件工程、面向?qū)ο笤O(shè)計、軟件測試、軟件項目管理和軟件體系結(jié)構(gòu)等課程內(nèi)容綜合在實踐環(huán)節(jié),體現(xiàn)“做中學”的理念,訓練學生軟件開發(fā)、設(shè)計的綜合能力,熟悉主流的開發(fā)技術(shù)、方法和工具,接受完整的項目實訓,積累一定的開發(fā)經(jīng)驗。
通過對課程體系的長時間探討,我們明確了課程的性質(zhì)和在課程體系中所處的位置,教學團隊對該體系有總體的認識和一致的看法,并能從全局考慮問題。
2.2確定課程教學大綱
有了教學團隊認同的課程體系,我們就需要制定教學大綱,這事關(guān)團隊教學成敗。我們的做法是,根據(jù)個人的教學經(jīng)驗,各自提交熟悉課程的教學大綱,并在教研室會議上討論,討論是建立在相關(guān)課程大綱一起考察、修改的基礎(chǔ)上,目的是做到大綱上統(tǒng)一整合,理清課程承接關(guān)系。例如,在討論“面向?qū)ο蟪绦蛟O(shè)計”課程的時候,我們將這門課與“數(shù)據(jù)結(jié)構(gòu)”和“數(shù)據(jù)庫原理與應(yīng)用”一起討論,結(jié)果發(fā)現(xiàn)應(yīng)當用C++中的模板概念來加強數(shù)據(jù)結(jié)構(gòu)概念和運用,而“面向?qū)ο蟪绦蛟O(shè)計”課程設(shè)計可以讓學生自主學習調(diào)用相關(guān)類庫來訪問數(shù)據(jù)庫。由此,這三門課的聯(lián)系得到加強,教師教學時也更加清楚課程的重點。再如,將“軟件工程概論”、“面向?qū)ο蟮姆治雠c設(shè)計”和“軟件項目管理”一起討論時,我們會發(fā)現(xiàn)這三門課的內(nèi)容既有區(qū)別又有交叉,課程大綱應(yīng)當各有側(cè)重。另外,這三門課應(yīng)當建立統(tǒng)一的實踐環(huán)節(jié),綜合性運用這三門課的知識,避免單獨設(shè)計三門課的實踐,造成內(nèi)容重復。
2.3明確合作教學環(huán)節(jié)
教學大綱的討論和確立使教學團隊在每一門課的教學內(nèi)容上都達成共識,理解自己的課程在整個課程體系中的作用。事實上,還有很多富有實效的合作教學機制,例如大型獨立實踐環(huán)節(jié)(比如持續(xù)一個月)需要教學團隊多個教師參與指導,每人指導的內(nèi)容有分工、有合作。例如,在項目實踐Ⅰ中,我們安排3個教師分別承擔不同的任務(wù),一個教師指導項目管理,一個教師指導項目分析和設(shè)計,另外一個教師指導開發(fā)與測試。另外,針對教師不同的教學重點,在一門課中可以由兩個教師或多個教師合作教學。例如“軟件體系結(jié)構(gòu)”課程,實踐經(jīng)驗豐富的教師主講設(shè)計模式,另一個教師主講體系結(jié)構(gòu)概念。目前合作教學環(huán)節(jié)如表1所示。
3團隊教學的保障措施
團隊教學要出效果、出成績并不是一朝一夕的事情,也不是一個人的事情,需要整個教學團隊的協(xié)調(diào)合作,要創(chuàng)造各種條件和保障措施,讓這個過程持續(xù)發(fā)展,常做常新,其具體措施如下。
3.1組建精干教學團隊
軟件工程專業(yè)課程實踐性強,任課教師必須對整個課程體系有全面的把握,方能把握好教學的內(nèi)容和重點,因此,我們有必要培養(yǎng)教學團隊,進行系統(tǒng)教學,提高教學效果和效率。在實際中,結(jié)合培養(yǎng)定位,我們的師資講究學歷搭配和學緣搭配,重視引進有企業(yè)工作經(jīng)歷和項目開發(fā)經(jīng)驗的教師。目前,博士學位的教師約占36%,企業(yè)引進的教師約占30%,另外還有專門從事項目開發(fā)與管理的實驗師資。所有成員每年都有機會在專業(yè)課程、企業(yè)產(chǎn)品、IT英語等方面接受培訓,同時,我們也聘請從事軟件開發(fā)培訓的企業(yè)師資進行某些課程的教學和交流。
3.2爭取課題的支持
實施教學改革,不能閉門造車,不能停留在口頭,而需要我們查閱資料,訪問兄弟院校,與企業(yè)交流,參加學術(shù)會議,這樣才能開闊視野、了解現(xiàn)狀,把握發(fā)展方向。教改項目、各級部門的重點課題、精品課程等項目都是教改的動力源泉。我們通過“軟件工程”精品課程和校級“教學團隊”,即一系列的校、市、省級課題的建設(shè),取得了一系列的成果,教學團隊的能力得到整體提升,積累了豐富的教學資料,建立了專業(yè)教學網(wǎng)站,開發(fā)了一系列教學軟件。
3.3做好教研活動的規(guī)劃和實施
有了共同的目標,教研活動就容易落到實處。建立課題體系,確定教學大綱和明確合作教學環(huán)節(jié)等過程需要反復討論和論證,每一個主題內(nèi)容都非常復雜,需要長期研究,必須納入教研活動中,對于不成熟的教學團隊,這一點尤其重要。教研活動的規(guī)劃以周為單位,討論形式可以靈活多樣,但內(nèi)容必須明確。許多創(chuàng)新的思維都是在各種觀點碰撞之時產(chǎn)生的,具體教學過程必須取得共識才能順利開展。
3.4注重教學案例的整理完善
要達到團隊教學的目的,需要比較完善的教學案例,該案例能反映多門課程的教學內(nèi)容,這樣才能使教師圍繞相同的話題討論和實施教學。目前我們正在完善《畢業(yè)設(shè)計管理系統(tǒng)》和《等級考試報名系統(tǒng)》這兩個教學案例,具有分析、設(shè)計與測試等文檔,并且系統(tǒng)正在試用階段。這兩個案例是兩年來任課教師指導學生共同探討的結(jié)果,是團隊教學的成果,該案例可用于“C#程序設(shè)計”、“軟件工程”、“面向?qū)ο蟮姆治雠c設(shè)計”、“數(shù)據(jù)庫原理與應(yīng)用”、“ASP.NET程序設(shè)計”等課程的教學過程中,是團隊教學的基礎(chǔ)。
4結(jié)語
團隊教學是軟件工程專業(yè)課程體系的內(nèi)在要求,本專業(yè)課程內(nèi)容更新快、實踐性強,為了提高任課教師對專業(yè)的整體認識,優(yōu)化教學內(nèi)容,我們就課程體系的確立、教學計劃的確定和合作教學環(huán)節(jié)的創(chuàng)立方面做了大量的工作,申請了一系列的課題,籌建專業(yè)教學網(wǎng)站,豐富了教學案例,學生的學習內(nèi)容具有較強的連貫性,學習興趣提高了,效果明顯提高,任課教師的付出得到認可。接下來的工作就是進一步完善教學案例,研究《項目實踐Ⅰ》和《項目實踐Ⅱ》的具體實施計劃。
參考文獻:
[1] 陳登坤. 中國軟件產(chǎn)業(yè)自主創(chuàng)新及人才需求趨勢[J]. 中國教育