林曉宇 鐘一文
摘要:探索一種新的課堂教學(xué)方式改革,把軟件工程實(shí)訓(xùn)的成功教學(xué)方法應(yīng)用在普通的課堂教學(xué)上。根據(jù)本校教學(xué)實(shí)情,選取《iPhone應(yīng)用開發(fā)》作為實(shí)訓(xùn)式課堂教學(xué)改革的試點(diǎn)。從授課方式、教材、考試等幾方面入手,以實(shí)訓(xùn)項(xiàng)目帶入知識(shí)點(diǎn),讓學(xué)生在完成項(xiàng)目的同時(shí)掌握知識(shí)。
關(guān)鍵詞:軟件工程;實(shí)訓(xùn);課堂教學(xué)
中圖分類號:G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1009-3044(2015)34-0128-03
Abstract: A new way of class teaching method is explored. The effective method of software engineering training is applied to regular class. According to school teaching condition, the course iPhone application development is selected to this reform. To enable students to complete the project while grasp knowledge, teaching method, teaching materials and examination methods are reformed.
Key words: software engineer; training; class teaching
面對國家產(chǎn)業(yè)發(fā)展的戰(zhàn)略重點(diǎn)和激烈的人才競爭,更加面向市場需求,改革軟件人才培養(yǎng)模式,加大軟件人才培養(yǎng)力度,已經(jīng)成為當(dāng)前高等教育改革與發(fā)展的一項(xiàng)重要和緊迫任務(wù)。為此,2001年,教育部決定分批擇優(yōu)扶持37所高水平大學(xué),支持其試辦示范性軟件學(xué)院,從本科、研究生教育入手,加速教學(xué)內(nèi)容、課程體系、教學(xué)方法和管理體制與運(yùn)行機(jī)制的改革和創(chuàng)新,以盡快滿足國家軟件產(chǎn)業(yè)發(fā)展對高素質(zhì)軟件人才的迫切需求。我校(福建農(nóng)林大學(xué))自2006年起,也在計(jì)算機(jī)與信息學(xué)院中開設(shè)了軟件工程專業(yè)[1]。
面對學(xué)費(fèi)高于普通專業(yè)的情境,各高校面臨的最主要問題是如何更好地培養(yǎng)人才,辦出特色。而其中,軟件工程專業(yè)實(shí)訓(xùn)是各高校普遍采用的一種教學(xué)方法,如著名大學(xué)中的大連理工大學(xué)[2]、中山大學(xué)[3]等,普通院校中的襄樊學(xué)院[4]、上海應(yīng)用技術(shù)學(xué)院[5]等。多所高校形成的共識(shí)是:實(shí)訓(xùn)能夠讓學(xué)生盡快地掌握實(shí)際工作技能,滿足就業(yè)的基本需要,縮短學(xué)校教育和社會(huì)需要的差距,是目前解決學(xué)生就業(yè)過程中實(shí)踐經(jīng)驗(yàn)不足的有效方法[6]。
而對于課程的實(shí)踐教學(xué),各高校也做了很多的探索。湖南工業(yè)大學(xué)構(gòu)建一個(gè)開放式、模塊化的軟件工程實(shí)踐教學(xué)平臺(tái)[7]; 北京理工大學(xué)的軟件工程專業(yè)通過將實(shí)踐類課程劃分為基本技能訓(xùn)練、基礎(chǔ)理論訓(xùn)練、專業(yè)技能訓(xùn)練、工程訓(xùn)練和綜合訓(xùn)練等5個(gè)層次,使實(shí)踐類課程涉及理論由淺入深,程序規(guī)模由小到大,開發(fā)隊(duì)伍由個(gè)體到團(tuán)隊(duì)。實(shí)踐類課程大量開設(shè)了設(shè)計(jì)性和綜合性實(shí)驗(yàn),使理論課程與實(shí)踐課程互為支撐、互為補(bǔ)充,為培養(yǎng)學(xué)生創(chuàng)新性思維能力和自主學(xué)習(xí)能力打好基礎(chǔ)。使專業(yè)課程形成一個(gè)完整的有機(jī)整體,取得了良好的教學(xué)實(shí)效[8]。上海大學(xué)則以學(xué)生的知識(shí)和能力為基礎(chǔ),將軟件工程實(shí)踐分為專項(xiàng)任務(wù)實(shí)驗(yàn)和項(xiàng)目開發(fā)實(shí)踐兩個(gè)階段。專項(xiàng)任務(wù)實(shí)驗(yàn)針對軟件開發(fā)方法的主要知識(shí)點(diǎn),以鞏固軟件工程理論知識(shí)為目的;項(xiàng)目開發(fā)實(shí)踐以小組形式進(jìn)行實(shí)際軟件項(xiàng)目的開發(fā),培養(yǎng)學(xué)生的軟件工程方法綜合運(yùn)用能力和基本的軟件開發(fā)實(shí)踐能力[9]。
總的來說,各高校在課程實(shí)驗(yàn)和專業(yè)實(shí)訓(xùn)都作了積極的探索,然而課程實(shí)驗(yàn)和實(shí)訓(xùn)仍然是截然分開的2個(gè)教學(xué)環(huán)節(jié)。雖然在課程教學(xué)所配置的實(shí)驗(yàn)學(xué)時(shí)引入了項(xiàng)目的概念,但仍然擺脫不了項(xiàng)目虛擬、教學(xué)方式單一、教員本?;姆h。要讓學(xué)生感覺從參加一個(gè)實(shí)驗(yàn)轉(zhuǎn)變?yōu)閺氖萝浖?xiàng)目開發(fā),必須依賴真正的軟件項(xiàng)目、邀請一線開發(fā)人員作者和以教為引、以練為主的教學(xué)方式。
而“課堂實(shí)訓(xùn)式”正是突破這一樊籬的一個(gè)非常好的方法。實(shí)訓(xùn)教學(xué)原是中等職業(yè)教育中采用的現(xiàn)場教學(xué)法。也有人把這種教學(xué)方法用于一些操作性很強(qiáng)的培訓(xùn)[10]。但是,對于大學(xué)本科課堂教學(xué),尚未見到有關(guān)應(yīng)用。大學(xué)課程以理論教學(xué)為主,傳統(tǒng)的教學(xué)方式難以改變是最主要的原因。而如今,我校的軟件工程專業(yè)面臨專業(yè)實(shí)訓(xùn)學(xué)時(shí)不能滿足學(xué)生需求這一矛盾時(shí),把課堂變成實(shí)訓(xùn)基地,是一個(gè)可行的探索方法。
1 軟件工程實(shí)訓(xùn)
軟件工程專業(yè)是我校少數(shù)幾個(gè)應(yīng)用型、高學(xué)費(fèi)的本科專業(yè)。軟件工程專業(yè)以計(jì)算機(jī)科學(xué)為基礎(chǔ),但又突出實(shí)際軟件開發(fā)和軟件項(xiàng)目實(shí)施能力的培養(yǎng)。本專業(yè)自2006年在我校開設(shè)以來,就面臨著如何突出特色的難題,特別是要提高與“計(jì)算機(jī)科學(xué)與技術(shù)”專業(yè)的區(qū)分度。近幾年來,我們采取了一系列的富有特色的方法來加強(qiáng)專業(yè)建設(shè),主要有:軟件工程特色課程體系建設(shè)、加強(qiáng)實(shí)踐和實(shí)訓(xùn)教學(xué)、引入最新軟件開發(fā)技術(shù)課程、開展雙語教學(xué)等。
其中專業(yè)實(shí)訓(xùn)的效果突出。軟件工程專業(yè)實(shí)訓(xùn)的主要內(nèi)容是讓學(xué)生在一個(gè)模擬的軟件企業(yè)開發(fā)環(huán)境中,開發(fā)實(shí)際的軟件工程項(xiàng)目。實(shí)訓(xùn)采用引進(jìn)軟件企業(yè)的模式—由軟件企業(yè)或軟件工程師培訓(xùn)機(jī)構(gòu)帶入師資,采用實(shí)際開發(fā)的項(xiàng)目,教授最新主流軟件開發(fā)方法和技術(shù)。在我們的課程體系中,大三的學(xué)生要參加2期,總學(xué)時(shí)長達(dá)9周的專業(yè)實(shí)訓(xùn)。其中3周的短實(shí)訓(xùn)安排在校內(nèi)進(jìn)行,我們把軟件企業(yè)的一線開發(fā)人員請進(jìn)學(xué)校,把他們在實(shí)際開發(fā)過程的技術(shù)和經(jīng)驗(yàn)手把手傳授給學(xué)生。6周(近2年延長到8周)的長實(shí)訓(xùn)安排在企業(yè)進(jìn)行,讓學(xué)生在學(xué)習(xí)開發(fā)技術(shù)的同時(shí),還能提前參與軟件項(xiàng)目管理的過程、體驗(yàn)軟件企業(yè)運(yùn)作流程。經(jīng)過實(shí)訓(xùn),學(xué)生的專業(yè)水平和動(dòng)手得到非常大的提高,學(xué)生對專業(yè)學(xué)習(xí)的熱情也大大提高。經(jīng)過實(shí)訓(xùn)的學(xué)生不論在參加軟件設(shè)計(jì)比賽還是應(yīng)聘實(shí)習(xí)都有很大的優(yōu)勢。專業(yè)實(shí)訓(xùn)收效甚佳的主要原因有:(1)能夠讓學(xué)生學(xué)習(xí)到最新的軟件開發(fā)技術(shù)。(2)授課和考核模式改變,提高學(xué)生的學(xué)習(xí)興趣。(3)提高學(xué)生的動(dòng)手能力。(4)培養(yǎng)了學(xué)生的團(tuán)隊(duì)合作精神(5)能夠讓學(xué)生提前熟悉企業(yè)的管理和開發(fā)模式。
經(jīng)過以上的教學(xué)實(shí)踐,我們認(rèn)為,實(shí)訓(xùn)這種教學(xué)模式與其他課堂教學(xué)形式相比,具有非常大的優(yōu)勢和不可替代的作用。在最近2屆的軟件工程專業(yè)學(xué)生中,由于學(xué)校的支持,我們把第2期實(shí)訓(xùn)從6周延長到8周,受到學(xué)生的歡迎。我們在軟件工程專業(yè)的學(xué)生中進(jìn)行調(diào)查的統(tǒng)計(jì)數(shù)據(jù)也表明,98%學(xué)生希望能夠增加實(shí)訓(xùn)學(xué)時(shí)。因此,如果有更多的實(shí)訓(xùn)課程,不僅有利于提高教學(xué)水平,也會(huì)提高學(xué)生對學(xué)校的教學(xué)安排滿意率。然而受限于課程體系和教學(xué)計(jì)劃,我們很難壓縮其他的課程以換取更多的實(shí)訓(xùn)時(shí)長。
基于以上的教學(xué)背景,我們提出“基于實(shí)訓(xùn)式的課程教學(xué)改革”思路。選取一部分課程作為改革試點(diǎn),以實(shí)訓(xùn)式的教學(xué)方式來取代傳統(tǒng)的教學(xué)方式。
2 實(shí)訓(xùn)式課堂教學(xué)
2.1 課程選擇
所選取的改革課程必須具有以下的特點(diǎn):(1)內(nèi)容包含最新的軟件開發(fā)技術(shù),一方面學(xué)生愛學(xué),另一方面受企業(yè)界歡迎。(2)實(shí)踐性強(qiáng),學(xué)生能夠直接上機(jī)操作演練教授內(nèi)容。(3)有必要的軟件和硬件條件。(4)選修課,作為改革課程,可先在一部分學(xué)生中試行,實(shí)行小班上課,提高教學(xué)效果?;谝陨峡紤],我們認(rèn)為《iPhone應(yīng)用開發(fā)》是一門適合于實(shí)施實(shí)訓(xùn)式課程教學(xué)改革的課程。原因有:(1)基于Apple公司的iOS平臺(tái)的iPhone\iPad等全球迅速普及,并且具有很高的市場占有率,而大部分的高校由于缺乏硬件條件沒有開設(shè)相應(yīng)課程,所以iOS開發(fā)人員在人力市場上非常緊缺。(2) 作為一門程序開發(fā)類課程,這門課程實(shí)踐性強(qiáng),學(xué)生可以通過編寫代碼,讓程序運(yùn)行在自己的手機(jī)上。(3)學(xué)院已經(jīng)建立一個(gè)“Mac平臺(tái)實(shí)驗(yàn)室”,擁有iMac一體機(jī)40臺(tái),配有Mac OS X操作系統(tǒng)和相應(yīng)的軟件開發(fā)環(huán)境Xcode。(4)該課程作為選修課,曾經(jīng)在軟件工程專業(yè)10級學(xué)生中開設(shè)過。
2.2 教學(xué)改革總體框架
根據(jù)實(shí)訓(xùn)的特點(diǎn),本課題擬在
2.3 教改實(shí)施與成效
1)授課方式改革
與傳統(tǒng)的“理論+上機(jī)”的模式不同。本課題以軟件項(xiàng)目為主導(dǎo),以開發(fā)促學(xué)習(xí)。通過對軟件項(xiàng)目的分析,導(dǎo)入所需的知識(shí)點(diǎn),學(xué)生通過自主學(xué)習(xí)獲取所需要的知識(shí),完成項(xiàng)目的開發(fā)。取消紙質(zhì)教材,以實(shí)際的軟件項(xiàng)目作為“教材”。以實(shí)際軟件項(xiàng)目的演示和分析作為學(xué)生學(xué)習(xí)的依照。實(shí)訓(xùn)教學(xué)過程采用分組、每生一機(jī)、每組一服務(wù)器的實(shí)戰(zhàn)模式。機(jī)房的布置格局與企業(yè)的開發(fā)環(huán)境相同。每個(gè)小組可以有四到六個(gè)成員,并與其他小組做分隔,每個(gè)學(xué)生配Mac機(jī)一臺(tái)。上課和實(shí)際動(dòng)手同時(shí)進(jìn)行,遇到問題可以馬上操作,組內(nèi)討論也非常方便。對于已經(jīng)厭倦上課聽講下課忘記模式的學(xué)生而言,新鮮的教學(xué)模式能夠成倍提高學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生熱情。由于上課時(shí)可以直接操作,所以學(xué)生學(xué)習(xí)的效果也提高數(shù)倍。教師在平時(shí)上課時(shí)苦口婆心重復(fù)多次講授知識(shí)點(diǎn),遠(yuǎn)不如在實(shí)訓(xùn)時(shí)演示一遍,學(xué)生馬上練習(xí)一次的效果。
2)引入真實(shí)軟件項(xiàng)目、實(shí)施項(xiàng)目式管理
真實(shí)的、已經(jīng)上線的軟件項(xiàng)目更能激發(fā)學(xué)生的學(xué)生熱情。按項(xiàng)目在組內(nèi)進(jìn)行角色分工,更能培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力。采用分組教學(xué),在課程實(shí)訓(xùn)中,設(shè)置從簡到難的幾個(gè)項(xiàng)目。每個(gè)項(xiàng)目由小組成員共同完成,所以小組成員之間必須恰當(dāng)分工才可能完成任務(wù)。每個(gè)項(xiàng)目的實(shí)施都按照軟件開發(fā)的模式,配置項(xiàng)目經(jīng)理、UI設(shè)計(jì)、軟件設(shè)計(jì)、軟件測試等相關(guān)職位。教師通過恰當(dāng)?shù)脑O(shè)置一些競爭機(jī)制,讓小組之間形成一定的競爭,進(jìn)一步增強(qiáng)小組內(nèi)部的協(xié)作精神。幾乎所有參加學(xué)生的學(xué)生在寫實(shí)訓(xùn)心得體會(huì)時(shí)都認(rèn)為認(rèn)識(shí)到團(tuán)隊(duì)協(xié)作的重要性,大大提高學(xué)生的團(tuán)隊(duì)合作精神。
3)外聘企業(yè)教員
軟件企業(yè)一線的開發(fā)人員具有比大學(xué)教師更豐富的開發(fā)經(jīng)驗(yàn)和實(shí)戰(zhàn)技巧,把一線開發(fā)人員請進(jìn)課堂,通過現(xiàn)身說法和手把手的演示,能夠讓學(xué)生更快地掌握開發(fā)技能。
4)考試方式改革
卷面理論考試并不能考察學(xué)生實(shí)際的開發(fā)能力。只有通過對軟件開發(fā)過程的考核才能評判學(xué)生的動(dòng)手能力。因此,本課題擬取消卷面考試,通過對開發(fā)過程、軟件項(xiàng)目的運(yùn)行效果以及項(xiàng)目組答辯的形式評定學(xué)生的成績。實(shí)訓(xùn)教學(xué)和課堂教學(xué)另外一個(gè)重要區(qū)別是考核方式的改變。課堂教學(xué)一般注重書面考試的結(jié)果,實(shí)訓(xùn)則主要考核實(shí)際開發(fā)產(chǎn)品的過程和產(chǎn)品質(zhì)量。學(xué)生必須在規(guī)定的時(shí)間內(nèi)開發(fā)出實(shí)際的產(chǎn)品,這對于這些普通動(dòng)手能力弱的學(xué)生是個(gè)較大的挑戰(zhàn)。但是,實(shí)際上大部分學(xué)生都通過興趣的激發(fā)和潛能的挖掘都能夠克服前面一段時(shí)間的壓力逐漸適應(yīng)并勝任開發(fā)工作,甚至有一些很差的學(xué)生,在前期先修課不及格的情況下最后能夠從事軟件開發(fā)。
3 結(jié)束語
本課題提出把軟件工程專業(yè)的
參考文獻(xiàn):
[1] 林曉宇,鐘一文,黃世國,等. 基于Scrum敏捷方法的軟件工程實(shí)踐教學(xué)探索[J]. 電腦知識(shí)與技術(shù),2011,7(19):4762-4763.
[2] 李鳳岐,薛強(qiáng),沈宏書,等. 構(gòu)建四位一體的精英型軟件工程人才實(shí)訓(xùn)模式[J]. 計(jì)算機(jī)教育,2008(19):103-105.
[3] 胡贊,?;赜?,朝紅陽. 開展軟件工程實(shí)訓(xùn),探索研究型大學(xué)工程型人才培養(yǎng)模式[J].中國科教創(chuàng)新導(dǎo)刊,2008(6):130-132.
[4] 袁磊,黃健,寧彬. 軟件工程實(shí)訓(xùn)課程體系研究[J]. 計(jì)算機(jī)教育, 2010(22):138-141.
[5] 王志敏,朱栩. 高校大型軟件工程實(shí)訓(xùn)課程企業(yè)化實(shí)施方案[J]. 計(jì)算機(jī)教育,2012(20):81-83.
[6] 賈曉輝,劉鳳華,郭清宇. 軟件工程專業(yè)實(shí)訓(xùn)基地的建設(shè)與實(shí)踐[J]. 計(jì)算機(jī)教育, 2009(8):116-117.
[7] 張建偉,彭燕,劉強(qiáng). 軟件工程實(shí)踐教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 湖南工業(yè)大學(xué)學(xué)報(bào),2009,23(2):92-95.
[8] 陳朔鷹,李志強(qiáng),李仲君. 軟件工程實(shí)踐類課程體系的建設(shè)和探索[J]. 北京理工大學(xué)學(xué)報(bào),2007,9(S1):85-88.
[9] 曾紅衛(wèi),劉悅,劉煒. 軟件工程實(shí)踐教學(xué)方法探索[J].計(jì)算機(jī)工程與科學(xué), 2011,33(A1):15-18.
[10] 呂彤. 簡析實(shí)訓(xùn)式教學(xué)方法的實(shí)施與原則[J].中國校外教育,2013(30):67.