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