李明雨 林平榮
【摘要】本文基于軟件工程課程群建設(shè),通過使用多線程教學(xué)模式,完成對課程教學(xué)時(shí)數(shù)的優(yōu)化。在該優(yōu)化學(xué)時(shí)的基礎(chǔ)上,對“軟件工程”專業(yè)課程群的教學(xué)方法做了深入的研究。本文有助于專業(yè)課程教學(xué)大綱的編寫,也有助于每門課程教學(xué)進(jìn)度表的安排。
【關(guān)鍵詞】軟件工程 教學(xué)方法 課程群
在“軟件工程”專業(yè)課程群建設(shè)中,有些課程的教學(xué)內(nèi)容出現(xiàn)重復(fù)不僅是不可避免的,而且根據(jù)某些教學(xué)規(guī)律的要求來說是必要的。比如:在計(jì)算機(jī)導(dǎo)論這門課程中講過一些有關(guān)計(jì)算機(jī)原理、操作系統(tǒng)和數(shù)據(jù)庫等方面的知識,在日后的相關(guān)課程中還要講到,從教學(xué)規(guī)律上來講,這樣做是必要的。但是,從課程群觀念上來講,就需要我們從教學(xué)方法上對這些在不同課程中的重復(fù)知識點(diǎn)上做到各有側(cè)重,以盡可能的減少教學(xué)資源的浪費(fèi)。
1軟件工程課程群課程內(nèi)容分析
考慮課程之間的關(guān)系和內(nèi)在聯(lián)系,尤其是對重復(fù)系數(shù)較大的章節(jié)要減少對重復(fù)內(nèi)容的講述,例如:在“計(jì)算機(jī)科學(xué)導(dǎo)論”中對數(shù)據(jù)處理的各個(gè)階段、實(shí)體之間的對應(yīng)關(guān)系、數(shù)據(jù)庫的體系結(jié)構(gòu)等知識點(diǎn)描述的較為詳細(xì),所以在后繼的“數(shù)據(jù)庫原理”課程中就可以不做重點(diǎn),將課時(shí)調(diào)整給實(shí)用性較高那些知識點(diǎn),以保證獲得更好的教學(xué)質(zhì)量。
在“軟件工程”課程中,有許多和其他課程交叉的內(nèi)容。例如:“軟件工程”的總體思想和“信息系統(tǒng)分析與設(shè)計(jì)”課程較為類似;“軟件工程”中的統(tǒng)一建模語言與“UML基礎(chǔ)與ROSE建?!闭n程也有重復(fù)之處;“軟件工程”中的軟件測試部分的內(nèi)容在“軟件測試”課程中也有詳細(xì)的論述。
2以“軟件工程”課程為核心的課程簇教學(xué)方法
首先,對課程簇定義如下:在課程群中,教學(xué)內(nèi)容緊密相關(guān)又互相交叉,開課時(shí)間又十分接近的一組課程稱為課程簇。
課程內(nèi)容的重復(fù),在許多學(xué)科都是存在的。軟件工程專業(yè)以“軟件工程”課程為核心的課程簇所依賴的知識框架是以網(wǎng)狀結(jié)構(gòu)而相互關(guān)聯(lián)的,如圖1所示:
分析上面的課程,應(yīng)當(dāng)重視交叉知識點(diǎn)的整理,可以考慮以“軟件工程”課程為核心,以軟件開發(fā)過程為主線的課程簇教學(xué)方法。
2.1并發(fā)開課、多線程教學(xué)模式
同一課程簇的課程盡量安排在同一個(gè)學(xué)期開課,課程簇中的各門課程的基本理論部分還是要在各自的教學(xué)結(jié)構(gòu)中講解,在講到相互重疊的知識點(diǎn)時(shí),應(yīng)該以包涵知識量較多的課程為主要講解科目,包涵知識量較少科目主要是引用其結(jié)論和結(jié)果。這就像程序設(shè)計(jì)中的多線程結(jié)構(gòu)一樣,加快了速度,提高了教學(xué)質(zhì)量,同時(shí)也節(jié)約了大量的教學(xué)資源。例如:“軟件工程”課程中,在系統(tǒng)建模時(shí)用到統(tǒng)一建模語言,就可以使用“UML與ROSE”課程中的結(jié)果?!败浖こ獭闭n程中,在講到軟件測試時(shí),就可以直接使用“軟件測試”中講過的內(nèi)容,以“軟件工程”課程為核心的課程簇的學(xué)期活動圖如圖2所示。如果時(shí)間上能夠保持同步,就可以減少重復(fù)內(nèi)容的講解,節(jié)約教學(xué)資源,提高教學(xué)水平。如果在某些課程簇中各門課程的教學(xué)進(jìn)度確實(shí)很難達(dá)到同步的話,就應(yīng)以哪一科先講到共同的知識點(diǎn)就以哪一科為主的原則。
我們都知道,軟件工程專業(yè)發(fā)展的很快,每年都有許多新的知識點(diǎn)出現(xiàn),要想將這些新知識納入到軟件工程專業(yè)的教學(xué)體系中也絕非易事。首先,每個(gè)學(xué)校的專業(yè)人才培養(yǎng)方案的總學(xué)時(shí)都是固定的,而在總學(xué)時(shí)中,教育部所規(guī)定的必修課的學(xué)時(shí)是不能減少的,這樣留給我們在學(xué)時(shí)上的調(diào)整空間就非常少,如果利用上述的并發(fā)開課、多線程教學(xué)模式,就可以擠出較多的課時(shí)用來增加新的知識點(diǎn)教學(xué)。
2.2小課實(shí)驗(yàn)與大課演示相結(jié)合
“軟件工程”專業(yè)課程群中的各門課程都有較多的實(shí)驗(yàn)內(nèi)容,這些內(nèi)容不僅僅在上小課時(shí)領(lǐng)著學(xué)生動手實(shí)驗(yàn),而且在上大課時(shí)某些內(nèi)容也必須當(dāng)時(shí)就給學(xué)生演示,否則,就不能將問題講的很清楚。那么,哪些實(shí)驗(yàn)在大課上做,哪些實(shí)驗(yàn)在小課上做,一定要科學(xué)劃分。在大課上應(yīng)該只做哪些與基本理論密切相關(guān)的實(shí)驗(yàn),并且,這些實(shí)驗(yàn)內(nèi)容應(yīng)該在電子課件中事先寫好,在講解時(shí),先講解實(shí)驗(yàn)內(nèi)容,然后復(fù)制運(yùn)行就可以了,因?yàn)槿魏我粋€(gè)優(yōu)秀的程序員,也不敢保證自己打入的程序不會發(fā)生錯誤。這樣,不僅能夠保證在演示時(shí)不會出錯,又節(jié)約了上大課時(shí)的寶貴時(shí)間。而在小課上所做的實(shí)驗(yàn)內(nèi)容,在給學(xué)生演示時(shí)則應(yīng)該盡量現(xiàn)場手工輸入,這樣能夠讓學(xué)生看清楚解決問題的每一個(gè)詳細(xì)步驟,即便是在現(xiàn)場輸入時(shí)出現(xiàn)了錯誤,再修改錯誤對于指導(dǎo)學(xué)生調(diào)試程序也是非常有益的。因?yàn)?,學(xué)生不但從中了解到操作中容易出錯的地方,還能夠掌握解決問題的方法。在安排教師的課表時(shí),應(yīng)該將同一個(gè)班級的實(shí)驗(yàn)課和理論課安排讓同一個(gè)老師來講授,這樣可以保證理論課和實(shí)踐課之間的每一個(gè)細(xì)微的環(huán)節(jié)不脫節(jié)。在同一個(gè)課程群中,如果可能的話后繼課程應(yīng)經(jīng)常引用一些前期課程中的知識點(diǎn),使得整個(gè)課程群融為一體。
3加強(qiáng)實(shí)踐教學(xué),提高學(xué)生動手能力
在“軟件工程”專業(yè)課程群中的各門課程,他們的實(shí)踐性都比較強(qiáng),在4個(gè)學(xué)分的課程中我們理論和實(shí)踐的學(xué)時(shí)比例大多是2:2,在上理論課時(shí)與基本理論相關(guān)的例題,我們要求老師要100%講解并演示。在上小課時(shí),要求教師要加強(qiáng)學(xué)生的獨(dú)立操作能力,要增加實(shí)驗(yàn)課中的測試環(huán)節(jié),對于交給學(xué)生的每一項(xiàng)任務(wù),允許學(xué)生互相請教,但是絕對不允許相互抄襲,在可能的情況下,將學(xué)生的個(gè)人信息或者在實(shí)驗(yàn)室的座位號作為任務(wù)的輸入?yún)?shù),這樣每個(gè)學(xué)生對于完成任務(wù)的解決方案也會不同,結(jié)果也會不同,這就避免了學(xué)生的抄襲行為,同時(shí)會使教學(xué)質(zhì)量有所提高。
在“軟件工程”課程的教學(xué)中,我們做到大課與小課相結(jié)合的方式,大課與小課的學(xué)時(shí)比例是2:2。在小課中根據(jù)大課講到的理論知識和內(nèi)容順序,讓學(xué)生組成若干個(gè)開發(fā)小組,每個(gè)小組本學(xué)期內(nèi)完成一個(gè)相互獨(dú)立的設(shè)計(jì)項(xiàng)目。模擬在企業(yè)中開發(fā)軟件的環(huán)境,每個(gè)學(xué)生在開發(fā)團(tuán)隊(duì)中扮演不同的角色,在鍛煉學(xué)生的動手能力的同時(shí),也培養(yǎng)了學(xué)生的協(xié)作能力。
“軟件工程”專業(yè)課程群中的各門課程都有非常緊密的聯(lián)系,例如:從《程序設(shè)計(jì)》到《數(shù)據(jù)結(jié)構(gòu)》,從《數(shù)據(jù)庫原理》到《軟件工程》,它們之間的銜接是非常重要的。所以,我們將“軟件工程”專業(yè)課程群中涉及到得教師分成了幾個(gè)教師群,在教師群中盡量做到老、中、青相結(jié)合,使得在教師群中既有豐富的教學(xué)經(jīng)驗(yàn),又有新鮮的、活躍的新思維。教師群中的成員要相對固定,以確保相關(guān)課程之間的銜接通暢。
4結(jié)語
在當(dāng)今知識爆炸的年代,各種新知識增加的數(shù)量之大,速度之快,是前所未有的,尤以IT行業(yè)為更甚。作為大學(xué)本科教育,要跟上社會的發(fā)展就要在教學(xué)中不斷增加新的知識點(diǎn),而本科教育的總學(xué)時(shí)不增加,這就要求我們改進(jìn)教學(xué)方法,向教學(xué)改革要時(shí)間,通過使用上述的并發(fā)開課、多線程教學(xué)的教學(xué)模式,可以讓學(xué)生在有限的學(xué)時(shí)中學(xué)習(xí)到更多的新知識,以滿足社會發(fā)展的需要。通過使用上述的加強(qiáng)實(shí)踐教學(xué),提高學(xué)生動手能力的教學(xué)方法,就可以使學(xué)生在參加工作后盡快地融入到企業(yè)的軟件開發(fā)團(tuán)隊(duì)之中。
參考文獻(xiàn):
[1]PressmanR.S.SoftwareEngineering:apractionersapproach.Sixedition.McGrawHill,2004.
[2]ShariLawrencePfleeger.SoftwareEngineering:TheoryandPractice.2ndedition.PrenticeHall,2001.
[3]鮑里奇(美).有效教學(xué)方法[M].南京:江蘇教育出版社,2002.12.
[4]鄭金州.教學(xué)方法應(yīng)用指導(dǎo)[M].上海:華東師范大學(xué)出版社,2006.8.
[5]鄭山紅.軟件工程課程群建設(shè)[J].職業(yè)技術(shù)教育,2006,26:23-24.
[6]錢樂秋.軟件工程課程群設(shè)計(jì)[J].計(jì)算機(jī)教育,2007,10:5-7.
[7]范守信.試析高校課程群建設(shè)[J].揚(yáng)州大學(xué)學(xué)報(bào),2003年9月.
[8]曾一.軟件工程課程體系的構(gòu)建及其完善[J].重慶大學(xué)學(xué)報(bào),2002年第8卷第4期.