趙軍霞,焦 鉻,張 劍
(衡陽(yáng)師范學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖南 衡陽(yáng) 421002)
新技術(shù)、新產(chǎn)業(yè)以及新經(jīng)濟(jì)發(fā)展需要大量的新型工科人才作支柱,因此在新工科背景下培養(yǎng)的科技人才必須有能力主動(dòng)適應(yīng)社會(huì)的發(fā)展變化。2016年提出新工科之后,2017年相繼形成了新工科的“三部曲”,即2月達(dá)成“復(fù)旦共識(shí)”[1],4月提出天大行動(dòng)[2],6月發(fā)布北京指南[3]。新工科的“新”主要體現(xiàn)在工程教育的新理念、學(xué)科專(zhuān)業(yè)的新結(jié)構(gòu)、人才培養(yǎng)的新模式、教育教學(xué)的新質(zhì)量和分類(lèi)發(fā)展的新體系[4]。從5個(gè)“新”可以看出新工科是為迎接第四次工業(yè)革命做好人才儲(chǔ)備,培養(yǎng)能適應(yīng)新技術(shù)、新產(chǎn)品、新業(yè)態(tài)和新模式的新工科人才,這就需要高校面向未來(lái)布局新工科建設(shè)。軟件工程專(zhuān)業(yè)作為新興工科專(zhuān)業(yè),也具有被納入新工科的建設(shè)范疇。
高校軟件工程課程教學(xué)中特別注重理論知識(shí)的講授,而忽略實(shí)踐教學(xué)環(huán)節(jié),導(dǎo)致學(xué)生動(dòng)手實(shí)踐能力普遍不足。當(dāng)務(wù)之急,高校實(shí)行新工科建設(shè)的主要內(nèi)容之一是培養(yǎng)出大量實(shí)踐能力強(qiáng)的新工科人才。新工科建設(shè)給軟件工程課程實(shí)踐教學(xué)提出了明確和清晰的要求,即從新工科人才培養(yǎng)的角度出發(fā),為提升學(xué)生的工程實(shí)踐和創(chuàng)新能力、提高工程素養(yǎng)作出貢獻(xiàn)[5]。
當(dāng)前,高校軟件工程實(shí)踐教學(xué)主要采用團(tuán)隊(duì)協(xié)作的方式,任課老師作為指導(dǎo)老師,教學(xué)流程如下:由學(xué)生自由組隊(duì);任課老師提供實(shí)踐課程所須做的系統(tǒng)或者小游戲的題目,由學(xué)生任意選擇一個(gè);學(xué)生根據(jù)老師給定的任務(wù)和要求開(kāi)始分組進(jìn)行軟件開(kāi)發(fā)實(shí)踐;最后由老師評(píng)分。整個(gè)流程如圖1所示。
從上述可以看出當(dāng)前軟件工程實(shí)踐教學(xué)存在以下不足。
(1)參與軟件開(kāi)發(fā)人員的局限性。參與對(duì)象只有學(xué)生和老師,導(dǎo)致在整個(gè)實(shí)踐過(guò)程中老師的指導(dǎo)起關(guān)鍵作用,但是畢竟是大班教學(xué),任課教師的精力有限,無(wú)法做到密切關(guān)注每個(gè)團(tuán)隊(duì),因此效果不理想。
(2)實(shí)踐教學(xué)內(nèi)容不夠新穎,不具有創(chuàng)新性,很難做到與時(shí)俱進(jìn)。一方面課內(nèi)的實(shí)驗(yàn)課程指導(dǎo)書(shū)一般都是任課教師根據(jù)已有的教學(xué)大綱和教學(xué)內(nèi)容親自編寫(xiě)的,這樣的指導(dǎo)書(shū)局限性很大,創(chuàng)新不足,沒(méi)有與時(shí)俱進(jìn),不能充分培養(yǎng)學(xué)生的實(shí)踐能力,也不能激發(fā)學(xué)生主動(dòng)學(xué)習(xí)的積極性,更不能激發(fā)學(xué)生的創(chuàng)造性;另一方面,對(duì)于后期的課外大型實(shí)踐課,要完成實(shí)踐要求學(xué)生綜合運(yùn)用多門(mén)課程的知識(shí),這對(duì)很多基礎(chǔ)薄弱的學(xué)生來(lái)說(shuō)基本上是達(dá)不到的。
圖1 傳統(tǒng)軟件工程實(shí)踐教學(xué)流程及不足
(3)獲取資源的渠道單一有限。大多數(shù)學(xué)生是從任課教師那里獲得實(shí)踐資料,從其他渠道獲得有關(guān)的資料非常困難。
(4)注重編程,忽略文檔編寫(xiě)的環(huán)節(jié)。學(xué)生的課程實(shí)踐更多關(guān)心的是編程,是否通過(guò)編程可以將一個(gè)軟件或者一個(gè)系統(tǒng)開(kāi)發(fā)出來(lái),而忽略了在軟件開(kāi)發(fā)各個(gè)階段的文檔編寫(xiě)。很多學(xué)生認(rèn)為“軟件=程序”,這種觀(guān)點(diǎn)是錯(cuò)誤的。完整的定義是“軟件=程序+數(shù)據(jù)+文檔”。所以不能忽視文檔編寫(xiě)的重要性,因其對(duì)后期的維護(hù)有至關(guān)重要的作用。
(5)整個(gè)過(guò)程下來(lái)并未起到團(tuán)隊(duì)合作的作用。學(xué)生之間雖然是自由組成團(tuán)隊(duì),可是成員之間缺少溝通。每個(gè)人只負(fù)責(zé)自己的任務(wù),并且也是根據(jù)自己的理解完成負(fù)責(zé)的任務(wù),這樣就會(huì)出現(xiàn)軟件開(kāi)發(fā)過(guò)程前后不一致,編程與文檔之間出現(xiàn)脫節(jié)。每個(gè)人的能力并未得到鍛煉,不具有團(tuán)隊(duì)合作的優(yōu)勢(shì)。
為了解決傳統(tǒng)實(shí)踐教學(xué)的不足,根據(jù)新工科對(duì)軟件人才的需求,我們從軟件工程的培養(yǎng)目標(biāo)、教學(xué)策略、考核方式等方面改進(jìn)傳統(tǒng)的教學(xué)。
由于全球軟件技術(shù)的飛速發(fā)展,軟件產(chǎn)業(yè)已是一項(xiàng)反映國(guó)家綜合國(guó)力的戰(zhàn)略性產(chǎn)業(yè)。計(jì)算機(jī)軟件與我們的日常生活緊密聯(lián)系,如網(wǎng)絡(luò)教學(xué)、移動(dòng)辦公等,此專(zhuān)業(yè)的發(fā)展前景很廣,企業(yè)對(duì)軟件專(zhuān)業(yè)的人才需求量大,且逐年上升。良好的綜合素質(zhì)以及扎實(shí)的專(zhuān)業(yè)知識(shí)是企業(yè)引進(jìn)人才的前提。因此,在制定軟件工程專(zhuān)業(yè)的培養(yǎng)目標(biāo)時(shí),要考慮企業(yè)的實(shí)際需求,密切關(guān)注新工科軟件工程人才的專(zhuān)業(yè)能力培養(yǎng),提升新工科軟件工程人才的應(yīng)用實(shí)踐能力,還要重視新工科軟件人才的綜合素質(zhì)培養(yǎng)。
人才培養(yǎng)目標(biāo)應(yīng)該聯(lián)系實(shí)際,真正做到利于學(xué)生就業(yè),而不僅僅是對(duì)理論知識(shí)的追求,要理論聯(lián)系實(shí)踐。將人才培養(yǎng)目標(biāo)明確規(guī)定為培養(yǎng)知識(shí)、實(shí)踐、創(chuàng)新、創(chuàng)業(yè)綜合兼顧的高素質(zhì)人才,充分利用學(xué)校與企業(yè)、科研單位等多種不同教學(xué)環(huán)境和教學(xué)資源以及在人才培養(yǎng)方面的各自?xún)?yōu)勢(shì),將課堂傳授知識(shí)為主的學(xué)校教育與直接獲取實(shí)際經(jīng)驗(yàn)、實(shí)踐能力為主的生產(chǎn)科研實(shí)踐有機(jī)結(jié)合[6]。無(wú)論是培養(yǎng)目標(biāo)的制訂,還是課堂授課,都要做到面向?qū)W生,因材施教。學(xué)生應(yīng)是人才培養(yǎng)的主體,要將“學(xué)生是由老師教出來(lái)”的觀(guān)念轉(zhuǎn)變?yōu)椤皩W(xué)生是在老師的指導(dǎo)下自己通過(guò)實(shí)踐,自學(xué)成才”?,F(xiàn)階段企業(yè)選拔人才對(duì)本科生的要求是具備專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)實(shí)踐能力、自主學(xué)習(xí)的潛力、團(tuán)隊(duì)合作的能力等綜合素養(yǎng)。所以新工科下的軟件工程專(zhuān)業(yè)的培養(yǎng)目標(biāo)除了要有過(guò)硬的專(zhuān)業(yè)能力,還要有較強(qiáng)的綜合素質(zhì),新工科人才培養(yǎng)需要兼顧專(zhuān)業(yè)教育和通識(shí)教育。在制訂整個(gè)培養(yǎng)目標(biāo)時(shí)需要考慮的因素如圖2所示。
圖2 制訂培養(yǎng)目標(biāo)需要考慮的因素
理論知識(shí)對(duì)實(shí)踐是至關(guān)重要的,因此要想改變課程實(shí)踐的教學(xué)策略,軟件工程的理論課也是一個(gè)需要考慮的問(wèn)題。在具體的改革中,需要做到“有扎實(shí)的理論知識(shí)、做項(xiàng)目鞏固理論知識(shí)、交流會(huì)探討項(xiàng)目問(wèn)題、講座開(kāi)闊眼界、論文作為結(jié)課支撐”。整個(gè)教學(xué)策略改革如圖3所示。
(1)扎實(shí)的理論知識(shí)。目前軟件工程的教材種類(lèi)繁多,內(nèi)容陳舊,不能反映最新的理論知識(shí)。所以任課老師不能任由教材發(fā)揮,而是根據(jù)自身專(zhuān)業(yè)素養(yǎng)將軟件工程的理論知識(shí)進(jìn)行切分,做到有目的的教學(xué)。將現(xiàn)有的教材內(nèi)容切分為軟件工程與軟件過(guò)程、傳統(tǒng)軟件工程、面向?qū)ο蠡A(chǔ)及UML建模語(yǔ)言、軟件項(xiàng)目管理等4塊知識(shí)[7]。這樣有利于精簡(jiǎn)教學(xué)內(nèi)容,舍棄陳舊知識(shí),增加實(shí)踐課時(shí)。
(2)做項(xiàng)目鞏固理論知識(shí)。做項(xiàng)目是鞏固理論知識(shí)最有效的手段,任課老師可以模仿公司作項(xiàng)目的場(chǎng)景。將學(xué)生分組作為項(xiàng)目組,組中成員都有各自的崗位,如項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員、開(kāi)發(fā)工程師、測(cè)試工程師、文檔人員等不同的角色,采取項(xiàng)目組長(zhǎng)負(fù)責(zé)制度。項(xiàng)目選題由學(xué)生定或老師給出參考題目,之后由項(xiàng)目負(fù)責(zé)人帶領(lǐng)團(tuán)隊(duì)做項(xiàng)目。確保每位學(xué)生對(duì)項(xiàng)目理解透徹,并且都動(dòng)手實(shí)踐。
(3)交流會(huì)探討項(xiàng)目問(wèn)題。全班所有項(xiàng)目的人員坐在一起開(kāi)交流會(huì)。每個(gè)小組上交項(xiàng)目開(kāi)發(fā)的總結(jié)報(bào)告。然后每組進(jìn)行演示與答辯,在此過(guò)程中由其他組提問(wèn)并且打分,交流做項(xiàng)目心得,最后老師總結(jié),選出優(yōu)秀項(xiàng)目進(jìn)行表?yè)P(yáng)和嘉獎(jiǎng)。
(4)講座開(kāi)闊眼界。為了補(bǔ)充教材內(nèi)容的缺陷,引入講座。邀請(qǐng)既有深厚軟件工程理論素養(yǎng),又有豐富的軟件開(kāi)發(fā)實(shí)踐的專(zhuān)家學(xué)者進(jìn)行講座。
圖3 教學(xué)策略改革
(5)提交論文。每位學(xué)生寫(xiě)一篇關(guān)于軟件開(kāi)發(fā)的論文,在論文中要體現(xiàn)學(xué)生對(duì)軟件開(kāi)發(fā)過(guò)程及方法的掌握,也可以談?wù)勛黜?xiàng)目期間的心得,目的是提高學(xué)生的研究能力及總結(jié)能力。在寫(xiě)論文期間學(xué)生勢(shì)必會(huì)大量查閱資料,這樣不僅可以開(kāi)拓學(xué)生的眼界,并且可以掌握寫(xiě)論文的基本方法,為下一步撰寫(xiě)畢業(yè)論文及早積攢經(jīng)驗(yàn)。
每個(gè)人都希望自己所做的工作能夠得到評(píng)價(jià),同樣的學(xué)習(xí)也需要評(píng)價(jià),對(duì)學(xué)生學(xué)習(xí)成果的考核就是對(duì)學(xué)生學(xué)習(xí)評(píng)價(jià)的方式之一。通過(guò)考核可以有效地發(fā)現(xiàn)學(xué)生理論知識(shí)掌握的不足,以及操作技能和實(shí)踐能力的不足??己藭?huì)使學(xué)生對(duì)所學(xué)知識(shí)或者實(shí)踐引起重視,從而集中精力提高理論課的成績(jī)或者是專(zhuān)業(yè)技能。我們從學(xué)生本身的多樣性出發(fā)制定多種考核方式。
就軟件工程這門(mén)課來(lái)說(shuō),涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等多學(xué)科,研究的范圍廣。不同的學(xué)生教育背景不同,多年來(lái)學(xué)習(xí)知識(shí)的廣度和深度都不是不同的,包括所學(xué)知識(shí)的多少、獲得知識(shí)的渠道、投入的時(shí)間以及每個(gè)人的領(lǐng)悟能力等。因此面對(duì)不同的問(wèn)題每個(gè)學(xué)生的考慮思路、解決方法等都不同,因此只按照一種考核方式未免單一,缺乏合理性,故考核方式應(yīng)做到多樣化、人性化、科學(xué)化。整個(gè)課程的考核比例如圖4所示。課程設(shè)計(jì)是工程教育中最重要的實(shí)踐教學(xué)內(nèi)容,可以將課程設(shè)計(jì)的考核分為文檔編寫(xiě)、演示、答辯3種。
圖4 整個(gè)課程的考核標(biāo)準(zhǔn)
(1)文檔編寫(xiě)的目的是讓學(xué)生了解開(kāi)發(fā)一款軟件并不僅僅是編程,讓學(xué)生知道文檔編寫(xiě)的重要性,并且文檔編寫(xiě)對(duì)寫(xiě)畢業(yè)論文起到一個(gè)練習(xí)的作用。由于軟件開(kāi)發(fā)是分階段進(jìn)行的,需要編寫(xiě)的文檔有可行性研究報(bào)告、需求分析說(shuō)明說(shuō)書(shū)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)、編碼和測(cè)試報(bào)告等。整個(gè)小組首先進(jìn)行討論,每一個(gè)文檔由小組內(nèi)某一位同學(xué)負(fù)責(zé)編寫(xiě)并報(bào)告,這樣可對(duì)某一位學(xué)生具體地進(jìn)行考核。
(2)演示這一環(huán)節(jié)能做到考核每一個(gè)人,由小組內(nèi)的每個(gè)人負(fù)責(zé)軟件的一小部分實(shí)現(xiàn),之后進(jìn)行演示,然后進(jìn)行考核。最后小組討論將整個(gè)軟件集成,達(dá)到整體的演示。
(3)答辯是對(duì)整個(gè)小組進(jìn)行考核。在這里可以有代表地選擇每個(gè)組的組長(zhǎng)或者邀請(qǐng)教師作為評(píng)委,然后整個(gè)組進(jìn)行答辯。以提問(wèn)的方式考核小組的每一位成員,使整個(gè)小組的每一位學(xué)生都能夠理解并答辯。
課程設(shè)計(jì)最后的成績(jī)?cè)u(píng)定由這3方面加權(quán)得到,這樣就做到了對(duì)每個(gè)學(xué)生動(dòng)手能力的真正監(jiān)督,如果有某位學(xué)生不懂,那就讓所在組的其他成員對(duì)其進(jìn)行幫助。
隨著軟件產(chǎn)業(yè)的日新月異和經(jīng)濟(jì)社會(huì)的發(fā)展,軟件工程課程對(duì)應(yīng)的課程實(shí)踐教學(xué)在培養(yǎng)體系和培養(yǎng)方案上要緊跟社會(huì)發(fā)展的步伐,所以對(duì)目前課程實(shí)踐教學(xué)必須改革。在新工科建設(shè)背景下,我們對(duì)軟件工程的課程實(shí)踐教學(xué)進(jìn)行了一系列探索,這些措施已在衡陽(yáng)師范學(xué)院的軟件工程專(zhuān)業(yè)開(kāi)展了教學(xué)實(shí)踐,取得了較好的效果,在今后的教學(xué)過(guò)程中將持續(xù)改進(jìn),進(jìn)一步提升軟件工程專(zhuān)業(yè)人才培養(yǎng)水平,為社會(huì)培養(yǎng)更多高素質(zhì)人才。