陳立巖 楊豐 譚龍
摘 要:以培養(yǎng)軟件工程師為目標(biāo),構(gòu)建工程應(yīng)用型人才培養(yǎng)體系,闡述了學(xué)生工程實(shí)踐能力培養(yǎng)的實(shí)施方案,其中包括構(gòu)建科學(xué)的課程體系、科學(xué)的教學(xué)團(tuán)隊(duì)、科學(xué)的組織教學(xué)、采用專業(yè)導(dǎo)師制、有效的評(píng)價(jià)體系等一系列教學(xué)改革,以期培養(yǎng)出現(xiàn)代企業(yè)需求的人才。
關(guān)鍵詞:軟件工程師;培養(yǎng)體系;應(yīng)用型人才
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1002-4107(2018)04-0011-02
近年來,我國(guó)互聯(lián)網(wǎng)發(fā)展很快,尤其進(jìn)入“互聯(lián)網(wǎng)+”時(shí)代后,亟須大量高素質(zhì)的從事軟件開發(fā)與維護(hù)的專業(yè)人才。目前,相關(guān)從業(yè)人員400多萬,每年還在以80萬人的需求遞增。雖然中國(guó)高等教育蓬勃發(fā)展培養(yǎng)了大量IT相關(guān)的專業(yè)畢業(yè)生,但這些畢業(yè)生大多實(shí)踐經(jīng)驗(yàn)不足,不適應(yīng)企業(yè)的工作,從而產(chǎn)生高校培養(yǎng)技術(shù)滯后與企業(yè)先進(jìn)的技術(shù)需求相矛盾,導(dǎo)致這種矛盾的原因:一方面是大多數(shù)高校仍按照傳統(tǒng)的教學(xué)計(jì)劃設(shè)計(jì)課程,所講授的內(nèi)容跟不上軟件技術(shù)的發(fā)展,知識(shí)與軟件開發(fā)實(shí)踐脫節(jié)、實(shí)踐環(huán)節(jié)組織薄弱等。另一方面,學(xué)生缺乏社會(huì)活動(dòng)體驗(yàn)和軟件實(shí)際開發(fā)經(jīng)驗(yàn),很難理解軟件工程課程中的概念、原理。他們普遍感到該課程的學(xué)習(xí)枯燥無味,課程結(jié)束后通常感覺沒學(xué)到東西。因此,如何設(shè)計(jì)先進(jìn)的教學(xué)內(nèi)容、合理組織實(shí)踐教學(xué),構(gòu)建更合理的軟件工程教學(xué)框架,是軟件工程教學(xué)改革的重點(diǎn)[1-2]。
軟件工程專業(yè)的特點(diǎn)是實(shí)踐性突出、應(yīng)用性強(qiáng),以培養(yǎng)“系統(tǒng)分析與設(shè)計(jì)工程師、軟件開發(fā)類工程師、系統(tǒng)測(cè)試和軟件維護(hù)員”等人才為目標(biāo),課程群設(shè)置為“基礎(chǔ)教育”“專業(yè)基礎(chǔ)”“校內(nèi)基地實(shí)訓(xùn)”和“校外實(shí)習(xí)”等[3]。抓好基礎(chǔ)是關(guān)鍵,為加強(qiáng)學(xué)生動(dòng)手能力,黑龍江大學(xué)軟件學(xué)院在教改中增加了軟件工程實(shí)踐類課程,在課程中增加教師的配備,指導(dǎo)學(xué)生上機(jī),學(xué)生學(xué)懂了做會(huì)了,就會(huì)有成就感,從而產(chǎn)生興趣。
目前,很多高校軟件工程教育者、學(xué)術(shù)界研究者及軟件產(chǎn)業(yè)界的工程技術(shù)人員從不同角度對(duì)課程設(shè)計(jì)和教學(xué)實(shí)施進(jìn)行了積極思考和探索,并取得了一定的進(jìn)展,例如,在教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)主導(dǎo)下,清華大學(xué)、浙江大學(xué)、南京大學(xué)等國(guó)內(nèi)名校計(jì)算機(jī)部門的專家組成課題組,共同研究提出了軟件工程課程教學(xué)實(shí)施方案的總體框架,分別從課程實(shí)驗(yàn)與綜合實(shí)訓(xùn)兩個(gè)方面設(shè)計(jì)實(shí)踐教學(xué)方案,并推廣學(xué)習(xí)南京大學(xué)的教學(xué)經(jīng)驗(yàn)。近年來,筆者在教學(xué)中,根據(jù)學(xué)生的特點(diǎn),開展了一系列教學(xué)探索。
一、教學(xué)中存在的問題
(一)軟件工程教育師資力量不足
目前,很多國(guó)內(nèi)高校中承擔(dān)軟件工程類課程的教師普遍為年輕教師,他們大多數(shù)經(jīng)歷了計(jì)算機(jī)專業(yè)從本科→碩士→博士的過程,這部分教師一直從事理論研究工作,缺少軟件開發(fā)的經(jīng)驗(yàn),造成教師上課偏重于理論知識(shí)和方法的教授,缺少與產(chǎn)業(yè)界密切聯(lián)系的實(shí)例,對(duì)于同樣沒有實(shí)踐經(jīng)歷的學(xué)生來說,這就使得軟件工程課程聽起來晦澀難懂,空洞乏味。
師資力量不足的另一個(gè)表現(xiàn)就是大班授課。除了實(shí)驗(yàn)班、特長(zhǎng)班以外,多數(shù)學(xué)校由于師資緊張,也由于學(xué)校經(jīng)費(fèi)有限,均實(shí)行大班授課,例如,由2~3個(gè)自然班組成一個(gè)教學(xué)班,配備一個(gè)主講教師。教師沒有更多精力帶領(lǐng)學(xué)生開展有針對(duì)性的實(shí)踐訓(xùn)練和指導(dǎo),傾向于課堂理論教學(xué),客觀上削弱了學(xué)生軟件工程學(xué)習(xí)體驗(yàn)和學(xué)習(xí)積極性,很難取得好的教學(xué)效果。
(二)軟件工程實(shí)踐教學(xué)環(huán)節(jié)有待提高
現(xiàn)有的軟件工程實(shí)踐教學(xué)素材多數(shù)是任課教師自己設(shè)計(jì),或者從互聯(lián)網(wǎng)下載,通常缺乏系統(tǒng)設(shè)計(jì),或分析設(shè)計(jì)材料不夠貼近學(xué)生,或者各種素材之間聯(lián)系比較松散,使得教師和學(xué)生們?cè)谲浖こ虒?shí)踐環(huán)節(jié)沒有明確統(tǒng)一的指導(dǎo)框架,不利于學(xué)生實(shí)踐環(huán)節(jié)的培養(yǎng)。
在軟件工程教學(xué)安排中,軟件工程課程有課程實(shí)驗(yàn),但這僅是結(jié)合學(xué)習(xí)的內(nèi)容寫文檔,沒有真正地完成一個(gè)項(xiàng)目,學(xué)生實(shí)踐機(jī)會(huì)不是很多,更沒有綜合性的實(shí)踐活動(dòng),這樣導(dǎo)致學(xué)生可能到大四畢業(yè)設(shè)計(jì)前都沒有接觸過完整的項(xiàng)目,使得學(xué)生畢業(yè)設(shè)計(jì)完成起來很有困難。
二、軟件工程教育的幾點(diǎn)對(duì)策
(一)構(gòu)建科學(xué)的課程體系
在2014版的教學(xué)計(jì)劃中,黑龍江大學(xué)軟件學(xué)院對(duì)軟件工程相關(guān)課程做了重大調(diào)整,將大二原來的兩門課(軟件工程概論和uml與面向?qū)ο蠓治龊驮O(shè)計(jì))變成一門課,之后又增加一門課程——軟件工程綜合設(shè)計(jì),增加了實(shí)踐環(huán)節(jié)以提高學(xué)生的項(xiàng)目開發(fā)能力,并且在大三開設(shè)的軟件系統(tǒng)分析與設(shè)計(jì)課程之后又增加了軟件工程綜合實(shí)踐。這兩門課都是在實(shí)驗(yàn)室進(jìn)行的上機(jī)課,不但要求學(xué)生對(duì)項(xiàng)目有分析設(shè)計(jì)的能力,而且也要完成編碼,這樣就彌補(bǔ)了大二、大三沒有實(shí)踐類課程的不足,學(xué)生能夠主動(dòng)運(yùn)用計(jì)算機(jī)語言和學(xué)過的其他知識(shí)比如數(shù)據(jù)庫(kù)、計(jì)算機(jī)網(wǎng)絡(luò)等完成一個(gè)相對(duì)完整的小項(xiàng)目。學(xué)生不僅有成就感,而且對(duì)今后的畢業(yè)設(shè)計(jì)及工作帶來很大幫助。
(二)構(gòu)建科學(xué)的教學(xué)團(tuán)隊(duì)
整個(gè)軟件工程學(xué)科建設(shè)已形成了基本成熟的教學(xué)梯隊(duì),包括軟件工程概論、軟件系統(tǒng)分析與設(shè)計(jì),軟件測(cè)試、軟件工程管理,由于軟件發(fā)展的需要,教師也需要不斷學(xué)習(xí),以黑龍江大學(xué)為例,我們?cè)趯?shí)踐中摸索出一種團(tuán)隊(duì)教學(xué)模式。定期組織軟件工程教學(xué)研討會(huì),按照所講授的課程分成4個(gè)教學(xué)小組,團(tuán)隊(duì)集體備課,定期商討每門課選定的知識(shí)點(diǎn)以及講授順序,這樣,既能將軟件工程理論全程覆蓋,又避免了課程之間的重復(fù)講授,并且在研討會(huì)上我們互相學(xué)習(xí),共同商量制定各種教學(xué)材料。尤其是教學(xué)樣例和實(shí)驗(yàn)講義部分,我們摸索出一種符合社會(huì)需求,適合學(xué)生接受程度的教學(xué)模式。
(三)科學(xué)地組織教學(xué)
欲修的課程較多強(qiáng)調(diào)編程,較少關(guān)注設(shè)計(jì),導(dǎo)致一種慣性思維——跳過設(shè)計(jì)直接編程。比如,C++、java語言,授課時(shí)更多的是講解如何編寫一個(gè)類型、類間的繼承、重寫、多態(tài)等編寫規(guī)則及各種不同異常、多線程等在程序上的運(yùn)用,而較少用標(biāo)準(zhǔn)制圖的方式描述類型的設(shè)計(jì)以及類型間的邏輯關(guān)聯(lián)。所以在軟件工程課堂教學(xué)中,增加貼近學(xué)生生活的案例,通過制圖過程,學(xué)生對(duì)一個(gè)項(xiàng)目有完整的認(rèn)識(shí),增加他們開發(fā)的信心,通過練習(xí)題的形式,要求學(xué)生重繪指定的圖紙,以加深記憶。另外,也通過一定的討論,重新審視整個(gè)圖紙的邏輯關(guān)系,加深記憶。
畢竟紙上談兵,不會(huì)給學(xué)生一種成就感,所以在軟件工程的上機(jī)實(shí)踐環(huán)節(jié),分組選題,完成所選題目的分析設(shè)計(jì)以及編碼過程,這樣就促使學(xué)生主動(dòng)學(xué)習(xí),參照已有的案例畫需求設(shè)計(jì)階段的相關(guān)圖形,在學(xué)生認(rèn)真分析和設(shè)計(jì)過程中再進(jìn)行編碼,這減少了編碼的返工次數(shù),提高成功率。在實(shí)踐環(huán)節(jié),為了更好地發(fā)揮指導(dǎo)作用,加大教師的投入顯得特別重要,按照每組2人,每11~12個(gè)組分配一個(gè)教師,這樣教師能了解每個(gè)學(xué)生的情況,而且也避免了因大班授課指導(dǎo)不過來的問題,事實(shí)也證明,在指導(dǎo)學(xué)生完成大實(shí)驗(yàn)上,教師起到很大的作用。
(四)采用專業(yè)導(dǎo)師制
為了加強(qiáng)對(duì)軟件工程專業(yè)學(xué)生的專業(yè)學(xué)習(xí)和項(xiàng)目研發(fā)的指導(dǎo),提高學(xué)生的工程實(shí)踐能力,根據(jù)學(xué)生的數(shù)量,教師可將學(xué)生分為每20名學(xué)生為一組,選派一名導(dǎo)師負(fù)責(zé)學(xué)生在校全過程的指導(dǎo),聘請(qǐng)有良好職業(yè)道德,工作責(zé)任心強(qiáng),并作為主要負(fù)責(zé)人參與過至少一項(xiàng)省級(jí)以上的科研項(xiàng)目,最好有帶學(xué)生參加軟件開發(fā)類競(jìng)賽經(jīng)歷的教師擔(dān)任專業(yè)導(dǎo)師。
專業(yè)導(dǎo)師針對(duì)新生,指導(dǎo)其掌握大學(xué)的學(xué)習(xí)規(guī)律和學(xué)習(xí)方法,端正學(xué)習(xí)態(tài)度,樹立良好的學(xué)風(fēng),了解學(xué)生的學(xué)習(xí)情況并對(duì)專業(yè)學(xué)習(xí)和動(dòng)手能力培養(yǎng)進(jìn)行指導(dǎo);針對(duì)高年級(jí)的學(xué)生,原則上要求學(xué)生進(jìn)入導(dǎo)師的研發(fā)團(tuán)隊(duì),參與導(dǎo)師的項(xiàng)目研發(fā)或各類競(jìng)賽項(xiàng)目。導(dǎo)師經(jīng)常性地到創(chuàng)新實(shí)踐基地指導(dǎo)學(xué)生,培養(yǎng)學(xué)生的工程實(shí)踐能力、團(tuán)隊(duì)合作意識(shí)和敬業(yè)精神;加強(qiáng)就業(yè)指導(dǎo),協(xié)助學(xué)生完成職業(yè)設(shè)計(jì)和職業(yè)規(guī)劃,充分利用現(xiàn)有資源,向用人單位推薦畢業(yè)生[4]。
(五)有效的評(píng)價(jià)體系
對(duì)于軟件工程這種技術(shù)性較強(qiáng)課程的考核主要分為學(xué)生評(píng)價(jià)與教師評(píng)價(jià)兩個(gè)方面。學(xué)生分成若干項(xiàng)目組,在教師指導(dǎo)下進(jìn)行項(xiàng)目的構(gòu)思和設(shè)計(jì),然后由各組獨(dú)立進(jìn)行項(xiàng)目的研發(fā)和實(shí)現(xiàn),最后是教師評(píng)價(jià)。教師評(píng)價(jià)主要通過軟件分析、設(shè)計(jì)報(bào)告,軟件產(chǎn)品演示、程序思路的講解等,該環(huán)節(jié)打分占80%,學(xué)生采用互評(píng)打分,項(xiàng)目結(jié)束時(shí),各組由教師抽簽決定選一個(gè)學(xué)生用PPT對(duì)項(xiàng)目的整個(gè)過程進(jìn)行講解,分享觀點(diǎn)和心得,其他各組給分,占總分的20%,為避免部分學(xué)生在團(tuán)隊(duì)內(nèi)部混學(xué)分的現(xiàn)象,教師要標(biāo)記各組中表現(xiàn)較差的學(xué)生,并且在最后打分時(shí)是由教師給分,其他學(xué)生將兩次分?jǐn)?shù)的總和作為該組成績(jī),團(tuán)隊(duì)成員討論,按照每個(gè)成員的貢獻(xiàn)大小排出次序,這組最高分的學(xué)生成績(jī)是這組的打分成績(jī),其他學(xué)生成績(jī)依次降低,分差不低于3分,這樣好學(xué)生就不會(huì)聚堆,好學(xué)生為體現(xiàn)他們的個(gè)人能力,就要帶頭選題成組,促進(jìn)了學(xué)生們學(xué)習(xí)的積極性。以項(xiàng)目為基礎(chǔ)對(duì)學(xué)生進(jìn)行專業(yè)實(shí)踐能力和實(shí)際開發(fā)能力的培養(yǎng),讓學(xué)生參與到實(shí)際軟件項(xiàng)目的制作開發(fā)中,這樣才能使學(xué)生畢業(yè)后進(jìn)入企業(yè)很快成為合格的專業(yè)技術(shù)人才。
黑龍江大學(xué)軟件學(xué)院經(jīng)過兩年的教學(xué)改革,專業(yè)培養(yǎng)目標(biāo)和畢業(yè)定位漸趨于合理,工程型師資隊(duì)伍的力量顯著增強(qiáng),校內(nèi)外實(shí)踐環(huán)節(jié)也有明顯的改善,學(xué)生的學(xué)習(xí)興趣和求知欲望普遍高漲,學(xué)生的動(dòng)手能力增強(qiáng)。軟件工程專業(yè)已成為學(xué)校理科就業(yè)率最高的專業(yè)之一,近幾年畢業(yè)生的就業(yè)率在85%以上,畢業(yè)生的就業(yè)質(zhì)量越來越高。
參考文獻(xiàn):
[1]楊愛民,鄧芳,高飛. 軟件工程專業(yè)人才培養(yǎng)模式的研究與探討[J].計(jì)算機(jī)教育,2016,(3).
[2]樸勇,周勇,陳鑫等. 軟件工程教學(xué)中關(guān)于抽象思維和形象思維能力培養(yǎng)的思考[J].計(jì)算機(jī)教育,2015,(17).
[3]陳智勇,文益民,鄧珍榮等.以培養(yǎng)軟件工程師為目標(biāo)的計(jì)算機(jī)科學(xué)與技術(shù)本科人才培養(yǎng)體系[J].計(jì)算機(jī)教育,2015,(9).
[4]張德江. 應(yīng)用型人才培養(yǎng)的定位問題及模式探析[J].中國(guó)高等教育,2011,(18).