軟件工程課程雙語教學(xué)的研究與探索_第1頁
軟件工程課程雙語教學(xué)的研究與探索_第2頁
軟件工程課程雙語教學(xué)的研究與探索_第3頁
軟件工程課程雙語教學(xué)的研究與探索_第4頁
軟件工程課程雙語教學(xué)的研究與探索_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、“軟件工程”課程雙語教學(xué)的研究與探索 摘要:本文針對軟件工程課程本身的特點,在對軟件工程雙語教學(xué)的必要性可行性分析的基礎(chǔ)上,分別從教學(xué)模式教材選擇備課和教學(xué)方法等方面進(jìn)行軟件工程雙語教學(xué)的研究和實踐,教學(xué)效果良好。<br>關(guān)鍵詞:雙語教學(xué);軟件工程;教學(xué)模式;教學(xué)效果<br><br>軟件工程作為高等學(xué)校計算機專業(yè)的一門核心課程,是指導(dǎo)學(xué)生進(jìn)行計算機軟件系統(tǒng)開發(fā)和維護(hù)的交叉性的新型學(xué)科,該學(xué)科的實踐性非常強,不僅要求學(xué)生具有良好的程序開發(fā)能力,而且要具備軟件項目的整體管理概念,以及良好團(tuán)隊合作精神,而且,軟件工程在計算機科學(xué)領(lǐng)域發(fā)展速度很快,這就給教學(xué)工作帶來

2、了一定的難度,如何提高教學(xué)質(zhì)量培養(yǎng)適合社會需求的復(fù)合型軟件開發(fā)人才成為該課程教學(xué)改革的關(guān)鍵1。本文根據(jù)該課程本身的特點,首先對軟件工程雙語教學(xué)的必要性可行性進(jìn)行了充分分析,然后對軟件工程雙語教學(xué)從教學(xué)模式教材選擇備課和教學(xué)方法等方面進(jìn)行了深入的研究和實踐,結(jié)果表明,并取得良好效果。<br>1軟件工程雙語教學(xué)的必要性<br>所謂“雙語教學(xué)”是指教師綜合運用兩種語言(一般為漢語和英語)完成教學(xué)的過程2。軟件工程是一門發(fā)展很快實踐性極強的學(xué)科,同時,它又是一門引進(jìn)學(xué)科,該領(lǐng)域中的很多新知識新技術(shù)都源自歐美發(fā)達(dá)國家,對這些新知識新技術(shù)的表述以及大量的學(xué)術(shù)論文都是用英文來撰寫的,

3、因此開展雙語教學(xué)將會為學(xué)生搭建起一個良好的學(xué)習(xí)平臺,學(xué)生不僅能夠使得學(xué)生掌握最新的軟件理論和技術(shù),而且能夠訓(xùn)練學(xué)生較強的外語應(yīng)用能力, 對于培養(yǎng)計算機專業(yè)學(xué)生在國際化環(huán)境中的工作、外語應(yīng)用、對最新技術(shù)的掌握及應(yīng)用以及對國際規(guī)范和標(biāo)準(zhǔn)的理解應(yīng)用等能力都有很大的幫助3。當(dāng)前,在經(jīng)濟(jì)全球化的大環(huán)境中,國外優(yōu)秀的軟件工程教材層出不窮,這也為軟件工程雙語教學(xué)中優(yōu)秀原版教材的選擇提供了很大的余地,如果這種最新原版英文教材在軟件工程教學(xué)中使用,既加快了成熟的軟件工程理論和軟件新技術(shù)在國內(nèi)的傳播和推廣,又縮短了學(xué)生們對新理論和技術(shù)的吸收消化周期4。因此在軟件工程教學(xué)中實施雙語教學(xué)是必要的。<br>

4、2軟件工程雙語教學(xué)的可行性分析<br>軟件工程雙語教學(xué)雖然具有重要的現(xiàn)實意義,但是它必須和具體的實際情況相結(jié)合,結(jié)合我院的實際情況,對軟件工程雙語教學(xué)從以下3個方面進(jìn)行可行性分析。<br>2.1師資<br>合格的雙語教學(xué)師資隊伍是取得雙語教學(xué)成功的關(guān)鍵。雙語教學(xué)作為一種現(xiàn)代化教學(xué)手段,不但給教師提供一個提高自身英語綜合運用能力的平臺,而且對教師的素質(zhì)也提出了更高的要求。今年來,隨著學(xué)院教師隊伍的壯大,軟件工程作為一門學(xué)院的重點建設(shè)課程,該課程的教學(xué)梯隊也不斷趨于完善,該教學(xué)梯隊主要由一支專業(yè)技術(shù)過硬英語功底扎實和教學(xué)與軟件開發(fā)經(jīng)驗豐富的具有碩士以上學(xué)位的中、

5、青年教師組成,教學(xué)實踐表明,他們完全有能力完成軟件工程雙語教學(xué)的任務(wù)。<br>2.2教材<br>采用優(yōu)秀的原版教材是雙語教學(xué)的一個基本要求4,然而考慮到語言上的差異、課程內(nèi)容和體系上的不一致以及學(xué)生從用母語學(xué)習(xí)到用英語學(xué)習(xí)轉(zhuǎn)化過程中的適應(yīng)能力,我們在選擇教材時,并不是拿來就用,而是通過多年的教學(xué)實踐和大量的調(diào)研工作,對教材內(nèi)容做了適當(dāng)?shù)倪x取和刪減,并為學(xué)生選配了相應(yīng)的內(nèi)容較詳細(xì)的中文參考書,以便于學(xué)生在學(xué)習(xí)中遇到困難時能夠有所幫助。<br>2.3學(xué)生的具體情況<br>根據(jù)軟件工程課程自身的特點,結(jié)合我院學(xué)生的實際情況,我們不僅對軟件工程教學(xué)大綱進(jìn)

6、行了適當(dāng)?shù)男薷?而且對該課程的的教學(xué)計劃進(jìn)行了調(diào)整,把軟件工程課程安排在大三后半學(xué)期開設(shè),這樣,經(jīng)過兩年半的英語學(xué)習(xí),學(xué)生已經(jīng)具備了一定得英語基礎(chǔ)和扎實的專業(yè)知識,這就為軟件工程雙語教學(xué)創(chuàng)造了良好的實施條件。<br>通過上述3個方面的分析可知,在我院開展軟件工程雙語教學(xué)是可行的。<br>3軟件工程雙語教學(xué)的實踐<br>雙語教學(xué)作為一種現(xiàn)代化的教學(xué)模式,結(jié)合軟件工程的課程特點,通過大量調(diào)研和多年的軟件工程雙語教學(xué)實踐,我們在軟件工程雙語教學(xué)方面取得了很大的進(jìn)步,教學(xué)效果良好。<br>3.1教學(xué)模式<br>目前,我國高校雙語教學(xué)大體可分為

7、3種模式:(1)沉浸式雙語教學(xué):教師使用英文原版教材,完全用英語授課,僅用漢語作輔助說明。(2)保持式雙語教學(xué):該教學(xué)模式要求教師用中英文相結(jié)合授課,并盡量使用原版教科書里準(zhǔn)確又精煉的英文,讓學(xué)生學(xué)習(xí)和掌握正確的英語表達(dá)方法。(3)過渡性雙語教學(xué):教師采用中文授課,學(xué)生閱讀原版英文教材。根據(jù)我院學(xué)生英語的實際水平和語言教學(xué)的特點,在軟件工程雙語教學(xué)中,我們采用第2種雙語教學(xué)模式進(jìn)行授課,在開始幾周的教學(xué)中,從簡單入手,用中英文穿插的板書,以中文為主講解,英語教學(xué)為輔,循序漸進(jìn),在后續(xù)的教學(xué)中逐漸加大英文教學(xué)的比重,給學(xué)生一個適應(yīng)的過程。<br>3.2教材選擇<br>軟件

8、工程技術(shù)發(fā)展迅速,包含內(nèi)容多,選擇教材既要保證教材內(nèi)容的新穎、全面,還要考慮內(nèi)容是否能與實際軟件開發(fā)緊密結(jié)合,對實踐能否起到重要的指導(dǎo)作用。通過大量調(diào)研和實踐,我們選擇高等教育出版社出版Software Engineering: theory and practice(Shari Lawrence主編)教材,該書是國外優(yōu)秀教材,內(nèi)容系統(tǒng)全面,結(jié)合當(dāng)前軟件工程的發(fā)展,介紹了許多新的軟件開發(fā)和管理技術(shù),課后習(xí)題知識點的考查詳盡。另外,我們給學(xué)生配備了清華大學(xué)出版社出版與該教材配套的中文譯本和相應(yīng)的電子書以及教學(xué)課件,便于教師和學(xué)生的學(xué)習(xí)與參考,有助于取得更好的教學(xué)效果。<br>3.3備

9、課<br>雙語教學(xué)效果的好壞,不僅與教師的自身素質(zhì)有關(guān),而且與教師備課的質(zhì)量密切相關(guān)。由于軟件工程教材內(nèi)容多,課時有限,這就要求教師必須能夠準(zhǔn)確把握教材內(nèi)容,制定出合理的授課計劃。把最精華的東西傳授給學(xué)生,培養(yǎng)學(xué)生對該課程的興趣,在雙語教學(xué)中起到事半功倍的作用。有些非重點內(nèi)容教師可以只列提綱,讓學(xué)生課下自習(xí)。通過布置英文書面作業(yè)或者讓學(xué)生閱讀一些英文資料,然后分組用英文口頭報告閱讀結(jié)果,這樣可以培養(yǎng)學(xué)生日后撰寫英文論文的能力。<br>3.4教學(xué)手段<br>在軟件工程雙語教學(xué)過程中,我們采用了循序漸進(jìn)的教學(xué)方式。在授課初期,教學(xué)進(jìn)度要放慢,以中文講授為主,英語

10、教學(xué)為輔,及時總結(jié)歸納專業(yè)詞匯,重點培養(yǎng)學(xué)生閱讀教材內(nèi)容,并結(jié)合中文譯本理解相關(guān)專業(yè)知識。當(dāng)學(xué)生克服了雙語教學(xué)的膽怯心理、英文聽力與閱讀能力加強后,逐漸提高英語講授內(nèi)容的比重,并鼓勵學(xué)生采用英語回答問題和完成作業(yè),這種教學(xué)手段收到了良好的教學(xué)效果。<br>3.5教學(xué)方法<br>教學(xué)方法是整個教學(xué)過程的關(guān)鍵,教學(xué)方法的好壞,直接關(guān)系著教學(xué)目標(biāo)以及教學(xué)任務(wù)能否完成5。我們在軟件工程雙語教學(xué)中采用了多媒體教學(xué)、啟發(fā)式教學(xué)、情景教學(xué)、案例教學(xué)等教學(xué)方法,教學(xué)效果明顯。<br>多媒體教學(xué)<br>由于軟件工程課程內(nèi)容多、難度大且較抽象,專業(yè)知識的英文表達(dá)比同

11、樣信息量的中文表達(dá)所占版面大、費時多,因此軟件工程雙語教學(xué)采用多媒體教學(xué),以增大講課的信息量,提高教學(xué)效率。另外,在多媒體教學(xué)中,適當(dāng)?shù)陌鍟欣谝龑?dǎo)學(xué)生思維,增強師生間的交流,教師可以根據(jù)實際情況在調(diào)整、修改板書的過程中達(dá)到和學(xué)生交流互動的目的。如果完全用投影屏幕替代黑板,就會影響學(xué)生對某些具體問題的理解,并減弱師生間的互動性。我們根據(jù)實際情況在教學(xué)中使多媒體與傳統(tǒng)教學(xué)形式相結(jié)合,在制作多媒體課件時,只把一些不便板書的定義、概念、圖表等內(nèi)容制作進(jìn)去,而對一些重點內(nèi)容、典型例題則留給教師在課堂上以板書方式去講解發(fā)揮。同時,課堂上經(jīng)常采用“提問-回答”的交互式方式,鼓勵學(xué)生提出問題和討論問題,

12、引導(dǎo)學(xué)生進(jìn)行一些深層次的思考,增加了教學(xué)的靈活性6。啟發(fā)式教學(xué)<br>啟發(fā)式教學(xué)是一切教學(xué)方法的靈魂,如何把啟發(fā)式教學(xué)的指導(dǎo)思想融入到講授中去是關(guān)鍵。在軟件工程雙語教學(xué)中,我們采用啟發(fā)式教學(xué),從學(xué)生的知識基礎(chǔ)、心理特點和接受能力出發(fā),結(jié)合學(xué)生的具體情況,有目的、有計劃地提出一些問題,帶領(lǐng)學(xué)生分析問題、探索解決問題的途徑。通過教與學(xué)的互動作用,充分調(diào)動了學(xué)生的學(xué)習(xí)主動性、創(chuàng)造性。<br>情景教學(xué)<br>“情景教學(xué)”以其生動、直觀的特點,成為教學(xué)設(shè)計的最重要內(nèi)容之一,在軟件工程雙語教學(xué)中,我們創(chuàng)設(shè)真實的問題情景或?qū)W習(xí)環(huán)境,使學(xué)生“身臨其境”,以誘發(fā)他們主動進(jìn)行探

13、索與解決問題的活動,例如,在講解系統(tǒng)的需求分析時,我們構(gòu)建了“學(xué)生選課系統(tǒng)”的場景,并配以聲音和動畫,使學(xué)生很容易根據(jù)情景獲取系統(tǒng)需求。通過該方法的實踐,培養(yǎng)了學(xué)生的興趣,啟迪了學(xué)生的思維,發(fā)展了學(xué)生的想象力,開發(fā)了學(xué)生的智力,發(fā)揮了傳統(tǒng)教學(xué)方法所沒有的優(yōu)勢。<br>案例教學(xué)<br>案例教學(xué)因其先進(jìn)的理念,鮮活的教學(xué)方法及最具針對性的特點,成為現(xiàn)代教學(xué)中一種不可替代的重要教學(xué)方法。軟件工程是一門實踐性極強的課程,軟件開發(fā)的典型案例是幫助學(xué)生掌握軟件工程方法、進(jìn)行軟件開發(fā)的最好范例。在軟件工程雙語教學(xué)中,我們通過企事業(yè)單位中的實際項目或從中抽取出的模擬項目,為學(xué)生創(chuàng)造一個

14、仿真環(huán)境,使其在課堂上就能接觸到實際的問題和環(huán)境,從而學(xué)會在復(fù)雜條件下,利用所學(xué)理論解決實際問題,該方法的采用收到了良好的教學(xué)效果。<br>4結(jié)語<br>改革傳統(tǒng)教學(xué),探索新的教學(xué)方法是目前大多數(shù)學(xué)校教學(xué)改革的重點。通過軟件工程雙語教學(xué)的多年實踐,我們雖然取得了一定的成績,但是還存在很多不足:教師口語不標(biāo)準(zhǔn)、教學(xué)方法有待完善等,這就需要我們從事軟件工程雙語教學(xué)的教師進(jìn)行深入研究、探討,相互交流經(jīng)驗和教訓(xùn),不斷探索和嘗試,調(diào)整教學(xué)方法,不斷提高我們雙語教學(xué)的效果和質(zhì)量。<br>參考文獻(xiàn):<br>1 潘婭. 軟件工程教學(xué)方法探索J. 西南科技大學(xué)高教

15、研究,2006(2):28-30.<br>2 陳振東. 非英語專業(yè)實行雙語教學(xué)的問題與對策J. 廣西民族大學(xué)學(xué)報,2007(1):200-202.<br>3 李燦. 對我國高校實施雙語教學(xué)的幾個相關(guān)問題探討J. 摘要:本文從“操作系統(tǒng)原理”課程的教學(xué)內(nèi)容、教學(xué)方法和教學(xué)實踐三方面,介紹了這門課程的改革,以適應(yīng)人才培養(yǎng)的目標(biāo)。<br>關(guān)鍵詞<br>本文來自:計算機畢業(yè)網(wǎng) :操作系統(tǒng)原理;教學(xué)改革;啟發(fā)示教學(xué)<br><br>1引言<br><br>“操作系統(tǒng)原理”這門課難學(xué)、難懂、概念抽象、感性認(rèn)識差,教

16、師在教學(xué)中使用傳統(tǒng)的教學(xué)方法和教學(xué)手段很難實現(xiàn)教學(xué)目標(biāo)。如何改革“操作系統(tǒng)原理”課程教學(xué),以提高其教學(xué)效果和教學(xué)效率,跟上計算機技術(shù)的發(fā)展,這是我們當(dāng)前亟需解決的問題。<br><br>2教學(xué)內(nèi)容的改革<br><br>“操作系統(tǒng)原理”課程內(nèi)容改革必須兼顧基礎(chǔ)性和前瞻性,同時體現(xiàn)趣味性以激發(fā)高職學(xué)生的學(xué)習(xí)興趣。<br>首先,在講授操作系統(tǒng)原理的具體方法和技術(shù)細(xì)節(jié)時,加入對技術(shù)發(fā)展歷史和當(dāng)前新技術(shù)發(fā)展潮流的解釋,既開拓學(xué)生的專業(yè)視野,又對專業(yè)歷史有深入的了解,以此激發(fā)學(xué)生的學(xué)習(xí)興趣和專業(yè)使命感。其次,在詳細(xì)剖析操作系統(tǒng)的五個核心原理時,注重

17、剖析算法設(shè)計思想和優(yōu)化方法的差別,強調(diào)激發(fā)學(xué)生的主動思考能力。而且,整個教案的內(nèi)容組織注重引導(dǎo)學(xué)生探討各種知識的內(nèi)在聯(lián)系和技術(shù)的引入背景,注重知識的理解,而非簡單記憶?;谶@樣一條明確主線,學(xué)生的學(xué)習(xí)更具方向性和目的性,學(xué)習(xí)效果明顯提高。最后,要注重選用真實操作系統(tǒng)作為學(xué)習(xí)的案例。通過對真實案例的剖析以提高學(xué)生的感性認(rèn)識。例如,將目前流行的Windows XP系統(tǒng)和Red Hat Linux 9.0系統(tǒng)進(jìn)行對比,無論是進(jìn)程管理還是文件系統(tǒng)中EXT3、FAT32和NTFS的對比,都以這兩個系統(tǒng)為實驗的基礎(chǔ)。<br><br>3教學(xué)方法的改革<br><br&

18、gt;對于操作系統(tǒng)原理這門難學(xué)、難懂的課,我們采用的是形象化的教學(xué)方法與啟發(fā)式的教學(xué)方法相結(jié)合、突出對目前流行操作系統(tǒng)中問題解決的兩個方面。<br>3.1采用形象化與啟發(fā)式相結(jié)合的教學(xué)<br>形象化教學(xué)是教師將抽象的原理與現(xiàn)實生活中的具體的事件相聯(lián)系,使課程內(nèi)容變得生動而簡潔,從而取得良好的效果。<br>例如,在操作系統(tǒng)原理中,中斷機制是非常重要的,它用于協(xié)調(diào)系統(tǒng)對各種外部事件的響應(yīng)和處理,并且是實現(xiàn)多任務(wù)的必要條件。在教學(xué)時可以打這樣的比方:小王和小陳在下象棋,眼看小王就快招架不住了,正當(dāng)此緊要關(guān)頭,小陳的女友來了,非要小陳陪她上街買衣服不可,于是小陳不得

19、不同小王商量,先把棋盤封了,待買完衣服后繼續(xù)戰(zhàn)斗。掌燈時分,小陳帶著滿臉疲憊回到了棋盤前,結(jié)果小王不費吹灰之力便反敗為勝。這就是整個中斷過程。然后,筆者對這個中斷過程進(jìn)行分析,中斷請求(小陳的女友要他逛街),中斷響應(yīng) (小陳準(zhǔn)備放下棋局陪女友逛街),現(xiàn)場保護(hù) (先把棋盤封了),中斷處理(小陳陪女友逛街買衣服),恢復(fù)現(xiàn)場 (把棋盤解封),中斷返回 (繼續(xù)戰(zhàn)斗)。如果小陳把棋移到密室中下,不讓他的女友打擾,這就叫“中斷屏蔽”。<br>啟發(fā)式教學(xué)法是教師啟發(fā)學(xué)生積極思維,使他們主動掌握知識的一種教學(xué)方法。教師一方面要深刻理解“操作系統(tǒng)原理”課程的基本理論,另一方面要了解計算機科學(xué)的最新發(fā)

20、展和應(yīng)用情況。同時,教師應(yīng)該注重知識的邏輯組織形式,采用多種多樣的形式將枯燥的理論知識與靈活的實際應(yīng)用相結(jié)合,使教師和學(xué)生之間形成流暢的信息流動,從而最大限度地調(diào)動學(xué)生的主動性,營造出積極、和諧的課堂教學(xué)氣氛。例如,在教學(xué)過程中,教師可以不失時機地設(shè)置一些問題,將流行操作系統(tǒng)中的問題和現(xiàn)象與課本上的理論知識結(jié)合,引導(dǎo)學(xué)生進(jìn)行積極思考,而實現(xiàn)觀點的撞擊。并且鼓勵學(xué)生提問,根據(jù)學(xué)生反饋的信息和問題,與學(xué)生探討問題的解決,而非直接給出答案。<br>3.2突出對目前流行操作系統(tǒng)中問題的解決<br>教師在講授操作系統(tǒng)原理時,要注意理論知識的實現(xiàn)環(huán)節(jié),使學(xué)生的感性認(rèn)識和理性認(rèn)識結(jié)合

21、起來,以激發(fā)學(xué)生學(xué)習(xí)的積極性和主動性。<br>目前流行的操作系統(tǒng)以Windows與Linux為主流,教師在授課過程中,從應(yīng)用的角度介紹Windows操作系統(tǒng)的原理與實踐,包括:Windows操作系統(tǒng)簡介、Windows XP的安裝、資源管理、磁盤管理、用戶與安全管理、輔助工具的使用及系統(tǒng)的管理和維護(hù)等。通過這些內(nèi)容的學(xué)習(xí),可以提高學(xué)生對操作系統(tǒng)原理的理解與實際中的使用能力。例如,在講解文件系統(tǒng)時,筆者把Windows XP支持的FAT32和NTFS文件系統(tǒng)進(jìn)行了比較,F(xiàn)AT32長于與Windows 9x的兼容性,NTFS長于系統(tǒng)安全性,如何將FAT32轉(zhuǎn)換成NTFS格式,最終引導(dǎo)學(xué)

22、生在滿足應(yīng)用的前提下,思考怎樣設(shè)置文件系統(tǒng)才能充分發(fā)揮Windows的特性,突出了實際的應(yīng)用能力。<br><br>4教學(xué)實踐環(huán)節(jié)的改革<br><br>目前,高職院校的教師普遍感覺學(xué)生在課堂上聽不懂,造成這種情況的主要原因是教師按理論研究型的人才而非實踐應(yīng)用型人才的培養(yǎng)標(biāo)準(zhǔn)在要求學(xué)生,沒有考慮到高職學(xué)生的智力類型、興趣特點和能力結(jié)構(gòu),違反了“因材施教”的教育原則。<br>因此,做好教學(xué)實踐是十分重要的環(huán)節(jié)。通過教學(xué)實踐,學(xué)生可以在實際操作中查看和修改操作系統(tǒng)的屬性與狀態(tài),增強動手操作的能力;學(xué)生可以把理論知識與實踐相結(jié)合,在實際工作中得

23、到鍛煉和提高,使學(xué)有所用。筆者特別注重實驗內(nèi)容的選取,緊跟操作系統(tǒng)的發(fā)展,選取合適的操作系統(tǒng)實例,注重與實際運行的各類操作系統(tǒng)結(jié)合。實驗平臺選用目前最為流行的兩大操作系統(tǒng)Red Hat Linux 9.0和Windows XP系統(tǒng),實驗內(nèi)容以驗證性操作為主,并為每個實驗列出大致的步驟和實驗記錄表格。比如,在剛接觸“操作系統(tǒng)原理”這門課時,筆者設(shè)計了操作系統(tǒng)的安裝實驗,內(nèi)容主要以安裝Windows或XP與Red Hat Linux 9.0為主線,并介紹了這兩大操作系統(tǒng)的發(fā)展歷史。在講解文件系統(tǒng)時,相對的實驗操作有:Windows XP的文件加密、磁盤配額、創(chuàng)建緊急修復(fù)磁盤、磁盤清理、備份與恢復(fù)數(shù)

24、據(jù)、CHKDSK維護(hù)文件完整性等操作。<br>學(xué)生通過實驗來了解和實踐課程知識,通過實驗來形成一定的感性認(rèn)識,在此基礎(chǔ)上,教師在課堂教學(xué)環(huán)節(jié)中答疑解惑,系統(tǒng)地提高學(xué)科知識的理論水平。<br><br>5結(jié)束語<br><br>“操作系統(tǒng)原理”作為計算機專業(yè)的核心課程它的教學(xué)工作理應(yīng)得到進(jìn)一步的加強。在此過程中,我們應(yīng)根據(jù)高職學(xué)生的實際情況,及時調(diào)整教學(xué)內(nèi)容,加強應(yīng)用與實踐環(huán)節(jié),變單純傳授知識為在傳授知識過程中重視應(yīng)用能力培養(yǎng),大力推進(jìn)素質(zhì)教育,從教學(xué)內(nèi)容、教學(xué)手段、實驗配置等幾個環(huán)節(jié)全面提升教學(xué)工作。 <br><br&g

25、t;參考文獻(xiàn)<br>1 黃廷輝,許倩霞. 操作系統(tǒng)課程建設(shè)的探索J. 桂林電子工業(yè)學(xué)院學(xué)報,2004,24(2).<br>2 湯子瀛等. 計算機操作系統(tǒng)M. 西安電子科技大學(xué)出版社,2001.<br>3 張堯?qū)W,史美林. 微機操作系統(tǒng)教程M. 北京:清華大學(xué)出版社,2000.<br>4 戴學(xué)威. 高等職業(yè)教育課程觀與課程開發(fā)向度研究J. 職業(yè)技術(shù)教育,2003,(7).<br> </p> <p> </p> <p> </p> 摘要:本文針對計算機軟件工程專業(yè)本科生開設(shè)“設(shè)計模式

26、”課程的必要性和可行性進(jìn)行分析,并且對課程的具體內(nèi)容和學(xué)時分配做了詳盡的論述,旨在進(jìn)一步完善本科軟件工程專業(yè)的課程體系,提高畢業(yè)生的就業(yè)競爭力。<br>關(guān)鍵詞:軟件工程;設(shè)計模式;課程體系<br><br>設(shè)計模式/軟件設(shè)計模式(Design Pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)1。GOF的設(shè)計模式可復(fù)用面向?qū)ο筌浖幕A(chǔ)一書將設(shè)計模式提升到了理論的高度,并將之規(guī)范化。隨著計算機軟件工程技術(shù)和面向?qū)ο蠹夹g(shù)的發(fā)展,設(shè)計模式已經(jīng)成為軟件設(shè)計人員必須掌握的思想和技術(shù)??梢哉f只有設(shè)計模式才能真正實現(xiàn)代碼編制的工程化,才能真

27、正實現(xiàn)代碼的重用性和可維護(hù)性。<br>1必要性分析<br>計算機專業(yè)在經(jīng)歷了一輪火熱的發(fā)展后,隨著社會需求的相對減少,以及計算機人才市場的逐漸飽和,計算機專業(yè)的畢業(yè)生在就業(yè)市場上不再那么炙手可熱,就業(yè)的競爭也越來越激烈。<br>計算機專業(yè)培養(yǎng)的本科生畢業(yè)生,大體可以分為兩種類型:一種是計算機相關(guān)理論基礎(chǔ)扎實、研究能力較強、在一定程度上了解某一方向的科學(xué)前沿,具有良好的綜合素質(zhì)的創(chuàng)新型人才,此類型學(xué)生大都選擇繼續(xù)深造或者去一些科研院所進(jìn)行研究工作。另外一種是了解和掌握計算機軟件和硬件開發(fā)設(shè)計的理論基礎(chǔ),具有較強的計算機軟硬件設(shè)計和開發(fā)能力的應(yīng)用型人才,此類型學(xué)

28、生在畢業(yè)后大多選擇就業(yè),去一些國內(nèi)大、中型企業(yè),從事軟件或硬件的開發(fā)設(shè)計或管理工作。計算機專業(yè)的畢業(yè)生在就業(yè)市場上的競爭越來越激烈,如何持續(xù)不斷地提高我們畢業(yè)生的就業(yè)能力,得到用人單位的認(rèn)可,無疑對我們本科教學(xué)的課程體系設(shè)置提出了更高的要求。<br>由于計算機技術(shù)的發(fā)展十分迅速,社會上用人單位對畢業(yè)生的需求也在不斷地變化。畢業(yè)生,尤其是面向各種企業(yè)的應(yīng)用型人才,除了要掌握基本概念、基礎(chǔ)理論外,還應(yīng)該能跟得上計算機技術(shù)發(fā)展的步伐,了解和掌握一些最新的技術(shù),以在就業(yè)的競爭中占得優(yōu)勢。<br>對于軟件工程方向的本科生,除了計算機專業(yè)的基礎(chǔ)課外,還開設(shè)了“軟件工程”、“面向?qū)ο?/p>

29、程序設(shè)計”、“人機界面設(shè)計”和“數(shù)據(jù)庫”等課程。雖然我們針對軟件工程方向的學(xué)生已經(jīng)開設(shè)了“面向?qū)ο蟪绦蛟O(shè)計”這門課,但該門課重點講授面向?qū)ο笤O(shè)計的一些基本概念,比如類、對象、繼承等等,而對于如何將這些基本概念應(yīng)用到設(shè)計過程中,進(jìn)而設(shè)計出具有合理結(jié)構(gòu)的軟件,在教學(xué)中并未充分說明。通過對一些軟件企業(yè)的了解,我們發(fā)現(xiàn)企業(yè)在聘用應(yīng)屆畢業(yè)生后,會專門做關(guān)于設(shè)計模式方面的培訓(xùn),以滿足企業(yè)軟件開發(fā)的需要。如果在我校課程體系中能夠增設(shè)“設(shè)計模式”這樣一門課程,一方面會使課程體系更為完善、更能適應(yīng)當(dāng)前計算機技術(shù)的發(fā)展,另一方面可以培養(yǎng)出具有先進(jìn)設(shè)計思想和能力的學(xué)生,滿足用人單位的需求,從而使得我校的畢業(yè)生在就業(yè)

30、市場上占得先機。因此面向計算機軟件工程專業(yè)的學(xué)生開設(shè)“設(shè)計模式”這樣一門課顯得非常必要。<br>2可行性分析<br>設(shè)計模式主要以面向?qū)ο蟮乃枷雭碇v述在軟件設(shè)計過程中被多次使用、且被實踐證明非常有效的、有助于實現(xiàn)代碼的重用和維護(hù)的一些固定程式,而且設(shè)計模式主要是為軟件工程服務(wù),因此對于開設(shè)該門課程所針對的對象,應(yīng)該滿足以下幾個條件:<br>(1) 學(xué)習(xí)過“面向?qū)ο蟪绦蛟O(shè)計”。通過該門課程的學(xué)習(xí),學(xué)生應(yīng)該掌握面向?qū)ο蟮幕靖拍詈突舅枷?比如類、對象、接口、抽象類、繼承、重載、多態(tài)等等。<br>(2) 熟練掌握一門面向?qū)ο蟮某绦蛟O(shè)計語言。在講述設(shè)計

31、模式時,必然會以具體的例子來說明,而這些例子要用某種語言來實現(xiàn),甚至有些例子直接就是某種面向?qū)ο笤O(shè)計語言的類庫中使用的模式。當(dāng)前比較流行的面向?qū)ο蟪绦蛟O(shè)計語言有Java,C#等。<br>(3) 掌握“軟件工程”對軟件設(shè)計的基本要求,如可靠性、可維護(hù)性、擴展性等等。<br>(4) 能夠熟練使用統(tǒng)一建模語言UML。在講授設(shè)計模式的過程中,會借助于類圖、時序圖等一些設(shè)計圖來表示模式,所以掌握UML圖也是必須的。<br>從以上分析得出,“設(shè)計模式”需要以上4門課程作為先修課程。針對軟件工程專業(yè)的學(xué)生,前3個條件有專門的課程進(jìn)行講授。即:大二下學(xué)期開設(shè)“面向?qū)ο蟪绦蛟O(shè)

32、計”,并使用典型的面向?qū)ο蟪绦蛟O(shè)計語言Java進(jìn)行講授。大三下學(xué)期開設(shè)了“軟件工程”課程。只有第4個條件統(tǒng)一建模語言UML,在當(dāng)前的課程體系中沒有體現(xiàn),由于在“設(shè)計模式”中涉及到的UML內(nèi)容不是特別多,沒有必要將UML單獨作為一門課程開設(shè),而且設(shè)計模式和UML的聯(lián)系比較緊密,因此可以把UML的內(nèi)容和設(shè)計模式合并在一起作為一門課程來講述。<br>由上可見,在當(dāng)前的課程體系下,針對軟件工程專業(yè)的本科生,在大四上學(xué)期增加開設(shè)“設(shè)計模式”這樣一門課是完全可行的。<br>3教學(xué)環(huán)節(jié)設(shè)計<br>計算機學(xué)科是一個實踐性比較強的學(xué)科,“設(shè)計模式”也不例外。因此在“設(shè)計模式”

33、的教學(xué)中應(yīng)該以理論和實踐相結(jié)合的方式進(jìn)行,整個“設(shè)計模式”課程的教學(xué)過程分為理論教學(xué)和實踐教學(xué)兩個環(huán)節(jié),并且根據(jù)具體的教學(xué)內(nèi)容確定總的教學(xué)時數(shù)為32學(xué)時,其中理論環(huán)節(jié)24學(xué)時,實踐環(huán)節(jié)8學(xué)時。<br>3.1理論教學(xué)環(huán)節(jié)設(shè)計<br>“設(shè)計模式”的理論教學(xué)內(nèi)容包括UML的基本內(nèi)容和GOF提出的23種基本設(shè)計模式,另外補充講解一些屬于23種基本設(shè)計模式以外,但在實際開發(fā)過程中常用的模式,比如模型-視圖-控制器(MVC)模式等。23種基本設(shè)計模式又可分為創(chuàng)建模式、結(jié)構(gòu)模式和行為模式三大類2。在對這23種模式的講解過程中,對于一些看上去相似但實質(zhì)上不同的模式應(yīng)該清楚地說明幾種模式

34、之間的區(qū)別,以及各種模式各自適用的場合。具體的內(nèi)容和學(xué)時分配如下:<br>(1) 統(tǒng)一建模語言UML(6學(xué)時)。這部分的主要內(nèi)容包括UML中涉及到的一些基本概念,如類、實例、多態(tài)、繼承、泛化、依賴等等,以及UML中的一些圖形表示的畫法。UML中的圖總體上可以分為兩類:結(jié)構(gòu)圖和行為圖。結(jié)構(gòu)圖主要有類圖、對象圖、構(gòu)件圖和實施圖,而行為圖包括用例圖、順序圖、協(xié)作圖、狀態(tài)圖、活動圖。通過這部分內(nèi)容的學(xué)習(xí),應(yīng)該讓學(xué)生掌握面對現(xiàn)實問題時如何對現(xiàn)實世界中的實體進(jìn)行抽象,并且捕捉實體之間的關(guān)系和交互,然后用UML圖表現(xiàn)出來。<br>(2)“設(shè)計模式”的要素和原則(2學(xué)時)。這部分主要講

35、解設(shè)計模式要遵循的幾個基本原則,包括開閉原則、里氏代換原則、依賴倒轉(zhuǎn)原則和迪米特法則等3。<br>(3) 創(chuàng)建模式(3學(xué)時)。創(chuàng)建模式總共有5種,分別為單例模式,抽象工廠模式,建造者模式、工廠方法模式和原型模式。講解時要讓學(xué)生能夠了解抽象工廠和工廠方法模式,建造者模式和抽象工廠模式,原型模式與工廠方法模式之間的區(qū)別。<br>(4) 結(jié)構(gòu)模式(4學(xué)時)。結(jié)構(gòu)模式總共有7種,分別為適配器模式、橋接模式、組合模式、裝飾模式、門面模式、享元模式和代理模式。重點區(qū)別適配器模式和橋接模式、組合模式和裝飾模式、適配器模式和裝飾模式、享元模式與代理模式。<br>(5) 行為

36、模式(7學(xué)時)。行為模式總共有11種,分別為職責(zé)鏈模式、命令模式、解釋器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態(tài)模式、策略模式、模版方法和訪問者模式。重點區(qū)別職責(zé)鏈與命令模式、解釋器和迭代器模式、中介者模式和觀察者模式、狀態(tài)模式和策略模式、策略模式和模板方法模式。<br>(6) 其他非標(biāo)準(zhǔn)模式(2學(xué)時)。除了以上23種基本的設(shè)計模式外,還有一些模式在實際應(yīng)用中經(jīng)常使用到,比如MVC模式。嚴(yán)格地來講MVC不屬于設(shè)計模式,而屬于框架模式,但由于在軟件開發(fā)過程中經(jīng)常應(yīng)用到,所以也應(yīng)該讓學(xué)生掌握。<br> </p> <p> <p&

37、gt;3.2實踐教學(xué)環(huán)節(jié)設(shè)計<br>實踐環(huán)節(jié)主要是為了讓學(xué)生鞏固和應(yīng)用理論教學(xué)環(huán)節(jié)中所學(xué)到的知識。這一環(huán)節(jié)分為4個單元,每個單元2學(xué)時,總共8個學(xué)時。每個單元出一個題目讓學(xué)生使用一種設(shè)計模式來設(shè)計,然后用UML圖表現(xiàn)出來,最后編寫程序?qū)崿F(xiàn),為培養(yǎng)學(xué)生的創(chuàng)新能力,全部為設(shè)計型實驗。其中實驗13分別讓學(xué)生使用創(chuàng)建模式、結(jié)構(gòu)模式和行為模式中的一種進(jìn)行設(shè)計和實現(xiàn)。實驗4為綜合實驗,對于給定的題目,綜合運用理論教學(xué)中講過各種模式進(jìn)行設(shè)計,最后編程序解決該問題。<br>“設(shè)計模式”課程的所有教學(xué)內(nèi)容和學(xué)時分配如表1所示。<br><br>4結(jié)語<br&g

38、t;“設(shè)計模式”課程主要是針對軟件工程專業(yè)的本科生,是“面向?qū)ο蟪绦蛟O(shè)計”課程的擴展。教學(xué)目標(biāo)是讓軟件工程專業(yè)的學(xué)生掌握在實際的軟件設(shè)計過程中常用的一些模式,提高學(xué)生的軟件設(shè)計能力,從而提高學(xué)生的就業(yè)競爭力,滿足軟件企業(yè)的需求。另外增加這樣一門課程,使我們當(dāng)前的課程體系更加完善,更能適應(yīng)當(dāng)前計算機人才培養(yǎng)的需求,尤其是面向企業(yè)的應(yīng)用型人才的培養(yǎng)。當(dāng)然具體的效果如何,還需要實踐的檢驗。<br><br>參考文獻(xiàn):<br>1 合作編輯者. 百度百科:設(shè)計模式2009-03-23. 2 Erich Gamma, Richard Helm. 設(shè)計模式可復(fù)用面向?qū)ο筌浖?/p>

39、的基礎(chǔ)M. 馬曉星,譯. 北京:機械工業(yè)出版社,2000.<br>3 閻宏. Java與模式M. 北京:電子工業(yè)出版社,2002.<br>Exploration on Teaching Design Pattern Course<br>ZHANG Li-jun<br>(Dept. of Computer Dcience, Northwestern Polytechnical University, Xian 710072, Chian)<br>Abstract:We analyze the necessity and feasibil

40、ity on teaching design pattern course to Software Engineering students in this paper. And the course content and the distribution of class hours are described in detail, aimed at improving the undergraduate curriculum system for specialty in software engineering and the employment competitiveness of

41、 graduates.<br>Key words:Software Engineering; design pattern; curriculum system<br><br> </p> <p> 1引言<br><br>隨著IT企業(yè)競爭的日益加劇,為了降低成本,企業(yè)都希望能夠招聘到理論基礎(chǔ)扎實,掌握行業(yè)主流技術(shù),具有一定的工程能力,進(jìn)入企業(yè)后經(jīng)過簡單培訓(xùn)就能直接參與到團(tuán)隊工作中的軟件人才。然而,IT技術(shù)更新速度較快,高校教師普遍缺乏參與企業(yè)實際軟件開發(fā)的機會和時間去掌握行業(yè)主流技術(shù),積累工程經(jīng)驗,并將這些技術(shù)及經(jīng)

42、驗傳授給學(xué)生,這在一定程度上造成了高校人才培養(yǎng)與實際人才需求脫節(jié)的現(xiàn)象。2006年,國家教育部頒發(fā)了關(guān)于高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)進(jìn)一步明確了高校計算機人才培養(yǎng)的結(jié)構(gòu)層次,指出計算機人才培養(yǎng)也應(yīng)當(dāng)是金字塔結(jié)構(gòu),與社會需求的金字塔結(jié)構(gòu)相匹配,才能提高金字塔各個層次學(xué)生的就業(yè)率,滿足社會需求,降低企業(yè)的再培養(yǎng)成本。這里所說的“金字塔”,即為如圖1所示的一種層次結(jié)構(gòu),“這三種類型的劃分主要是從學(xué)生畢業(yè)后從事工作性質(zhì)的角度產(chǎn)生的”,處于底層的人才是社會需求量最大的。<br><br>圖1 計算機人才層次結(jié)構(gòu)<br><br>

43、;為了能使高等院校的軟件人才培養(yǎng)與社會對人才的要求相一致,幾年來,教育部計算機科學(xué)與技術(shù)教指委陸續(xù)下發(fā)了一系列指導(dǎo)意見及規(guī)范,明確指出計算機科學(xué)是實踐性極強的學(xué)科,必須培養(yǎng)學(xué)生具有很強的實際動手能力,對高校計算機專業(yè)辦學(xué)提出了一項很重要的建議,即大力加強教學(xué)活動中的實踐環(huán)節(jié)和動手能力的培養(yǎng)。在計算機專業(yè)中工程型及應(yīng)用型人才的培養(yǎng)成為了教學(xué)研究的重點,并已成為我國高等教育關(guān)注的熱點。<br>東軟信息學(xué)院計算機系與實訓(xùn)中心合作,將實訓(xùn)融入軟件相關(guān)專業(yè)的本科教學(xué)計劃之中,構(gòu)建可教學(xué)化實訓(xùn)體系,探索出一條培養(yǎng)應(yīng)用型軟件人才的實踐之路。<br><br>2引入實訓(xùn)體系的

44、思考<br><br>由東軟信息學(xué)院大學(xué)生創(chuàng)業(yè)實訓(xùn)中心創(chuàng)建的可教學(xué)化實訓(xùn)體系,是在企業(yè)實際項目的背景下,將項目分解為若干個相應(yīng)的知識點,采用小班型教學(xué)的模式進(jìn)行授課。從基礎(chǔ)知識的講解到最終項目的完成,邊講邊練,并穿插相應(yīng)的階段考核,形成全方位一體化的實踐訓(xùn)練體系。實訓(xùn)過程中,教師擔(dān)任項目經(jīng)理,學(xué)生轉(zhuǎn)化成“企業(yè)員工”,采用日報制等企業(yè)式管理模式,構(gòu)造虛擬企業(yè)開發(fā)環(huán)境,使學(xué)生在實訓(xùn)過程中既掌握企業(yè)所要求的各項技術(shù)技能,又實現(xiàn)了對開發(fā)流程、管理規(guī)范和團(tuán)隊合作深入了解,實現(xiàn)與企業(yè)需求的無縫鏈接。<br>在大學(xué)生創(chuàng)業(yè)與實訓(xùn)中心目前構(gòu)建的實訓(xùn)體系中,Java項目實訓(xùn)與嵌入

45、式項目實訓(xùn)是兩個比較成熟的實訓(xùn)體系,每個實訓(xùn)體系都分為四個階段,在四個月左右的時間之內(nèi)完成,其內(nèi)容及考核要求如表1所示。<br><br>表1實訓(xùn)安排計劃表<br><br>其中的技術(shù)基礎(chǔ)講解階段是在復(fù)習(xí)以往學(xué)過的基礎(chǔ)理論知識,項目開發(fā)專用技術(shù)講解及練習(xí)階段是通過一個小型項目的開發(fā)來鞏固已學(xué)過的基礎(chǔ)知識,并且使學(xué)生了解項目開發(fā)流程,而實訓(xùn)項目開發(fā)測試階段才是實訓(xùn)的真正核心,最終在實訓(xùn)項目總結(jié)考核階段檢驗學(xué)生實訓(xùn)的成果。<br>按照傳統(tǒng)計算機專業(yè)的實習(xí)教學(xué)安排,課程設(shè)計和畢業(yè)設(shè)計相對獨立,與課堂教學(xué)之間是一種“松耦合”狀態(tài),雖然體系相對嚴(yán)密

46、,但并不能構(gòu)造一個完整的教學(xué)體系,畢業(yè)生在前三年學(xué)過的課程與畢業(yè)前的實習(xí)和畢業(yè)設(shè)計存在著一定程度上的脫節(jié)。而且單純的實訓(xùn)更強調(diào)實踐能力,著重于技術(shù)工具的運用,不利于學(xué)生后續(xù)的發(fā)展。同時,由于學(xué)生在畢業(yè)前才進(jìn)行某個方向的實訓(xùn),只能掌握某一項技術(shù),在一定程度上限制了學(xué)生的專業(yè)拓展和就業(yè)面,因此,只有將實訓(xùn)體系合理融入教學(xué)計劃,才能優(yōu)勢互補,發(fā)揮實訓(xùn)教學(xué)的作用。<br><br>3堅持實踐不斷線的探索<br><br>東軟信息學(xué)院一直秉承“知識的應(yīng)用比知識的擁有更重要”,致力于培養(yǎng)“理論知識夠用,實踐動手能力強”的應(yīng)用型人才。從建院初期,就強調(diào)培養(yǎng)學(xué)生的實

47、踐能力,率先在國內(nèi)提出了“1321”模式,即一個學(xué)年分為三個學(xué)期,其中兩個理論學(xué)期,一個實踐學(xué)期。在引入實訓(xùn)體系之前,安排實踐學(xué)期教學(xué)內(nèi)容的思路是:強化理論學(xué)期課程,并補充理論學(xué)期由于課時限制而無法開設(shè)的課程。因此,三個學(xué)年的實踐學(xué)期分別定義為概念實習(xí)、技能實習(xí)和項目實習(xí),各年度的實踐學(xué)期之間缺乏整體的聯(lián)系,內(nèi)容相對獨立,體系不夠完善。<br>引入實訓(xùn)體系之后,安排實踐學(xué)期內(nèi)容的思路調(diào)整為:以畢業(yè)實訓(xùn)為最終目標(biāo),貫徹“實踐不斷線”,強調(diào)實踐的延續(xù)性及關(guān)聯(lián)性。因此,在理論學(xué)期的課程安排上也為最終的實訓(xùn)為目標(biāo),并補充必要的理論知識,提供給學(xué)生后續(xù)發(fā)展的動力。同時,前兩個學(xué)年的實踐學(xué)期分

48、別進(jìn)行兩個小型項目訓(xùn)練,第三個實踐學(xué)期與最后一學(xué)年上學(xué)期一起進(jìn)行項目實訓(xùn),下學(xué)期進(jìn)行畢業(yè)設(shè)計,整體的安排如圖2所示。<br><br>圖2 工程型軟件人才培養(yǎng)路線圖<br><br>從圖中可以看出,在第一學(xué)年和第二學(xué)年的前兩個理論學(xué)期中,除了在課程設(shè)置上融入了原本在實訓(xùn)第一階段講解的基礎(chǔ)理論知識之外,還添加了多門理論課程,可以為學(xué)生打下足夠的理論基礎(chǔ),有利于今后在企業(yè)中的進(jìn)一步發(fā)展。在第一學(xué)年的實踐學(xué)期(第三學(xué)期),將進(jìn)行嵌入式實訓(xùn)方向中的小項目訓(xùn)練;在第二學(xué)年的實踐學(xué)期(第六學(xué)期),將進(jìn)行Java實訓(xùn)方向中的小項目訓(xùn)練。這樣,所有學(xué)生在低年級就已經(jīng)

49、掌握了將來兩個實訓(xùn)方向所需要的知識基礎(chǔ)和實踐基礎(chǔ),既有利于學(xué)生在高年級的專業(yè)方向選擇,又有利于學(xué)生就業(yè)時選擇就業(yè)方向。從第三學(xué)年開始,學(xué)生可以選擇在Java方向或者嵌入式方向進(jìn)一步通過全面實訓(xùn)提高實踐能力,進(jìn)一步強化專業(yè)知識,在第三學(xué)年的實踐學(xué)期(第九學(xué)期),開始進(jìn)行該方向的實訓(xùn),一直持續(xù)到第四學(xué)年上半學(xué)期(第十學(xué)期),第四學(xué)年最后一學(xué)期進(jìn)行畢業(yè)設(shè)計,使學(xué)生綜合運用三年所學(xué)的理論知識和剛剛結(jié)束的實訓(xùn)中所學(xué)到的知識及實踐技能,在教師的指導(dǎo)下,相對獨立地完成畢業(yè)設(shè)計課題,從而強化學(xué)生的實踐動手能力。<br>進(jìn)行了優(yōu)化安排之后,理論學(xué)期課程與實踐學(xué)期內(nèi)容之間結(jié)合的更加緊密,學(xué)生學(xué)完理論后

50、就進(jìn)行實踐應(yīng)用,有利于對理論知識的進(jìn)一步強化理解,也將掌握得更加牢靠;而且,整個課程體系與實訓(xùn)體系呈現(xiàn)“緊耦合”狀態(tài),實訓(xùn)主線貫穿清晰,層次分明,每門課程的教學(xué)目標(biāo)以及教學(xué)要求也更加具體化;同時,所有的實踐學(xué)期都相輔相成,安排更加合理,也貫徹了“實踐不斷線”的整體思路。<br><br>4 實踐成果及總結(jié)<br><br>目前東軟信息學(xué)院計算機科學(xué)與技術(shù)系08屆學(xué)生已經(jīng)進(jìn)入了實訓(xùn)階段,明年將走向社會,接受市場的檢驗。從目前實訓(xùn)學(xué)生的反饋來看,學(xué)生對實訓(xùn)乃至整個實踐體系都給與了充分的肯定,認(rèn)為在在學(xué)習(xí)期間不僅在理論知識上而且在實踐動手能力上都有了長足的

51、進(jìn)步,特別是畢業(yè)前的實訓(xùn),更增強了他們的就業(yè)核心競爭力,也增加了就業(yè)的自信心,是非常必要也是非常重要的。<br>學(xué)生的體會從一個側(cè)面反映出實訓(xùn)體系的成果,但是還需要聽到用人單位的反饋意見,相信在08年這一批學(xué)生畢業(yè)時,必能顯現(xiàn)出我院培養(yǎng)應(yīng)用型軟件人才的突出能力。同時,我院也將繼續(xù)完善實訓(xùn)方案,繼續(xù)探索一條理論與實踐相結(jié)合的創(chuàng)新之路! <br><br>參考文獻(xiàn)<br>1 教育部高等學(xué)校計算機科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會. 高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行). 高等教育出版社. 2006年.<br> </p&

52、gt; <p> </p> <p> </p> 摘要:學(xué)習(xí)C+語言中函數(shù)參數(shù)傳遞方式的關(guān)鍵是給出函數(shù)調(diào)用過程中內(nèi)存各段內(nèi)容的變化圖示。本文針對C+語言中三種函數(shù)參數(shù)傳遞方式,輔以代碼段內(nèi)容圖示和堆棧段內(nèi)容圖示,從機理上詳細(xì)解釋了函數(shù)參數(shù)的傳遞過程。實踐表明,這種圖示說明的方法在教學(xué)中取得了非常良好的效果。<br>關(guān)鍵詞:函數(shù)調(diào)用;參數(shù)傳遞;代碼段;堆棧段<br><br>1背景<br>“C+程序設(shè)計”是高等學(xué)校計算機專業(yè)或非計算機專業(yè)學(xué)生的必修課。對于非計算機專業(yè)的學(xué)生,C+語言是他們真正學(xué)習(xí)和使用計算機

53、語言進(jìn)行編程的關(guān)鍵入門,對于以后在其專業(yè)應(yīng)用開發(fā)中具有至關(guān)重要的作用。即使以后使用其他編程語言進(jìn)行專業(yè)項目的開發(fā),如VB、C和Java語言,C+語言由于其概念的廣泛性和綜合性,也能夠使得他們很快學(xué)習(xí)并掌握這些編程語言。而對于計算機專業(yè)的學(xué)生來說,“C+程序設(shè)計”是“數(shù)據(jù)結(jié)構(gòu)”、“算法設(shè)計”等核心課程的先修課,同時,“C+程序設(shè)計”中涉及的部分硬件知識也是其學(xué)習(xí)計算機原理的重要基礎(chǔ)。<br>但是,C+作為入門程序語言課程,對于初學(xué)者來說確實難度較大。周立章對自己的教學(xué)實踐進(jìn)行總結(jié),強調(diào)分層教學(xué)、案例教學(xué)和對計算機實驗進(jìn)行改革的思想1;李新霞在C+的前驅(qū)語言C語言的教學(xué)實踐中也表達(dá)了類

54、似的思想2。因此,案例教學(xué)對C+語言來說是必不可少的。<br>對于大多數(shù)學(xué)生來說,C+程序設(shè)計學(xué)習(xí)中存在三個難點:(1)函數(shù)參數(shù)的傳遞;(2)指針變量的使用;(3)虛函數(shù)和多態(tài)性機制。<br>函數(shù)和類作為C+語言中的兩種基本模塊,分別支持C+語言進(jìn)行面向過程的開發(fā)和面向?qū)ο蟮拈_發(fā),而不論是何種開發(fā)方法,函數(shù)都是不可缺少的。一個完整的函數(shù)使用過程包括函數(shù)定義和函數(shù)調(diào)用,有時存在函數(shù)聲明,而函數(shù)調(diào)用過程中,在主調(diào)函數(shù)和被調(diào)函數(shù)之間發(fā)生著數(shù)據(jù)的交互,表現(xiàn)為函數(shù)參數(shù)的傳遞和被調(diào)函數(shù)的返回值。<br>其中,對于函數(shù)參數(shù)傳遞方式及相關(guān)教學(xué)研究,得到了很多關(guān)注。馬新將函數(shù)

55、參數(shù)傳遞方式分為值傳遞方式和地址傳遞方式,并歸納總結(jié)了選用何種方式的條件3;劉志華將函數(shù)參數(shù)傳遞方式分為簡單變量作參數(shù)、指針作參數(shù)、引用作參數(shù)、數(shù)組作參數(shù)和字符串作參數(shù)共五種方式,并對每一種情況進(jìn)行了實例描述4;譚慶將函數(shù)參數(shù)傳遞方式分為傳普通值調(diào)用、傳地址值調(diào)用和引用調(diào)用三種方式,并對其使用方法進(jìn)行了總結(jié)5;王萍、譚浩強和陳志泊在其編寫的相應(yīng)教材中也對C+中函數(shù)參數(shù)傳遞方式給予了重點關(guān)注6-8。<br>本文就函數(shù)參數(shù)的傳遞方式,利用圖示說明的方法進(jìn)行研究,旨在搞清各種函數(shù)參數(shù)傳遞方式的本質(zhì),為函數(shù)的學(xué)習(xí)奠定堅實的基礎(chǔ)。<br>2函數(shù)參數(shù)的傳遞方式<br>C

56、+語言中函數(shù)參數(shù)的傳遞方式分為值傳遞、引用傳遞和指針傳遞。學(xué)生之所以不能正確掌握函數(shù)參數(shù)傳遞的相關(guān)內(nèi)容,主要原因是不能了解函數(shù)參數(shù)傳遞過程中內(nèi)存各段相關(guān)內(nèi)容的變化,而解決這一問題的方法是給出函數(shù)調(diào)用過程中內(nèi)存各段內(nèi)容變化的圖示。<br>2.1內(nèi)存分段<br>程序在執(zhí)行時,內(nèi)存是分段使用的,可分為代碼段(CS, Code Segment)、數(shù)據(jù)段(Data Segment)、附加段(ES, Extra Segment)和堆棧段(SS, Stack Segment),如圖1所示。<br><br>代碼段中存放程序執(zhí)行代碼,數(shù)據(jù)段由靜態(tài)數(shù)據(jù)區(qū)和使用new

57、請求分配數(shù)據(jù)的堆區(qū)組成,堆棧段中存放函數(shù)執(zhí)行過程的各種數(shù)據(jù),主要包括形式參數(shù)、局部變量和主調(diào)函數(shù)斷點地址。主調(diào)函數(shù)斷點地址指的是函數(shù)調(diào)用語句指令后的一條執(zhí)行指令的地址。堆棧中每個函數(shù)的形式參數(shù)、局部變量和主調(diào)函數(shù)斷點地址稱為該函數(shù)的活動記錄。<br>根據(jù)馮諾依曼原理,當(dāng)執(zhí)行程序時,必須將該程序指令代碼加載到內(nèi)存的代碼段,同時將第一條指令代碼的地址存入到PC寄存器,然后,每執(zhí)行一條指令代碼,PC的內(nèi)容自動加1,如此順序執(zhí)行代碼段中的指令。而當(dāng)發(fā)生函數(shù)調(diào)用時,程序的執(zhí)行發(fā)生了流程的轉(zhuǎn)向。當(dāng)流程轉(zhuǎn)向到被調(diào)函數(shù)時,PC中的內(nèi)容更新為被調(diào)函數(shù)第一條指令的地址;而當(dāng)流程重新回到主調(diào)函數(shù)時,PC

58、中的內(nèi)容更新為主調(diào)函數(shù)的斷點地址。函數(shù)調(diào)用過程的代碼段圖示說明,如圖2所示。<br><br>2.2值傳遞<br>采用值傳遞(pass-by-value)方式時,在堆棧段中為被調(diào)函數(shù)的形參列表分配內(nèi)存,主調(diào)函數(shù)的實參列表分別賦給形參列表。因此,內(nèi)存中每個形式參數(shù)和實際參數(shù)都是不同的變量,只是在發(fā)生函數(shù)調(diào)用的時刻,對應(yīng)實參和形參變量的值相同而已。值傳遞方式的特點是被調(diào)函數(shù)對形參的任何操作不會影響主調(diào)函數(shù)的實參的值。<br>以下面程序作圖示說明。<br><br>int swap(int x, int y)<br>&l

59、t;br>int temp;<br>temp = x; x = y; y = temp;<br>cout<<"x="<<x<<",y="<<y<<endl;<br>return temp;<br><br>void main()<br><br>int a = 10, b = 20;<br>swap(a, b);<br>cout<<"a="<<

60、br><br>當(dāng)該程序提交給操作系統(tǒng)執(zhí)行時,首先將程序代碼加載到代碼段,然后根據(jù)PC的內(nèi)容來執(zhí)行指令。由于PC存儲的內(nèi)容為main函數(shù)中第一條指令的地址,故從該地址處開始順序執(zhí)行。此時,執(zhí)行的是main函數(shù),也可以理解為操作系統(tǒng)調(diào)用main函數(shù),操作系統(tǒng)相當(dāng)于主調(diào)函數(shù),main函數(shù)是被調(diào)函數(shù)。因此,堆棧段中為main函數(shù)分配活動記錄:a和b。而當(dāng)執(zhí)行到swap(a,b);語句時,發(fā)生了swap函數(shù)調(diào)用。堆棧段中為swap函數(shù)分配活動記錄: main函數(shù)斷點地址,x、y和temp,并且將a和b的值分別賦給形參x和y。修改PC的內(nèi)容為swap函數(shù)的第一條指令的地址,程序由此重新開

61、始順序執(zhí)行。此時,對x和y的任何修改都不能影響到a和b。當(dāng)swap函數(shù)執(zhí)行結(jié)束后,從堆棧中刪除swap函數(shù)活動記錄,并且修改PC的內(nèi)容為main斷點地址,程序由此繼續(xù)順序執(zhí)行。值傳遞過程的堆棧段圖示說明,如圖3所示。<br><br><br>(a) 函數(shù)調(diào)用前 (b) 函數(shù)調(diào)用中(c) 函數(shù)調(diào)用后<br>圖3值傳遞過程的堆棧段圖示<br>上述程序的執(zhí)行的結(jié)果是:<br><br>x=20,y=10<br>a=10,b=20<br><br>2.3指針傳遞<br>采用指針傳遞(pass-by-pointer)方式時,同樣也需要在堆棧段中為被調(diào)函數(shù)的形參列表分配內(nèi)存。但是,由于形參定義為指針類型,從主調(diào)函數(shù)傳遞過來的是實參列表各變量的地址。因此,指針傳遞方式的特點是被調(diào)函數(shù)對形參做的任何操作也都影響到主調(diào)函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論