国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件外包專業(yè)編譯原理教學(xué)改革與實(shí)踐

2013-12-29 00:00:00鄧立苗陳龍猛
計(jì)算機(jī)教育 2013年17期

摘要:根據(jù)編譯原理課程性質(zhì)和特點(diǎn),針對(duì)軟件外包專業(yè)和學(xué)生特點(diǎn)選取合適的教學(xué)內(nèi)容,介紹案例教學(xué)法、類比教學(xué)法、啟發(fā)式教學(xué)法等多種教學(xué)方法在課程教學(xué)中的應(yīng)用。

關(guān)鍵詞:編譯原理;案例教學(xué);啟發(fā)式教學(xué);類比教學(xué)

0.引言

編譯原理是計(jì)算機(jī)及相關(guān)專業(yè)的一門重要專業(yè)課程,主要介紹編譯程序構(gòu)造的一般原理和基本方法,在計(jì)算機(jī)科學(xué)與課程體系中占據(jù)重要地位,其原理、方法和技術(shù)在語言處理、軟件工程、軟件自動(dòng)化、逆向軟件工程、搜索引擎甚至非編譯系統(tǒng)等諸多技術(shù)領(lǐng)域有著廣泛的應(yīng)用。同時(shí)又是一門理論性特別強(qiáng)的課程,其特點(diǎn)是內(nèi)容多、理論性強(qiáng)、抽象性高、算法復(fù)雜度大、邏輯思維嚴(yán)密,學(xué)生在學(xué)習(xí)過程中對(duì)原理和方法學(xué)習(xí)起來具有一定的難度。學(xué)生普遍反映編譯原理是一門難懂難學(xué)的專業(yè)課程,而且認(rèn)為畢業(yè)後也很少有從事編譯系統(tǒng)研發(fā)的機(jī)會(huì),從而對(duì)該課程學(xué)習(xí)的認(rèn)識(shí)上存在障礙,學(xué)習(xí)興趣和積極性不高,影響了教學(xué)效果。

青島農(nóng)業(yè)大學(xué)理學(xué)與信息科學(xué)學(xué)院軟件外包專業(yè)屬于三本,雖然從2011級(jí)以後是二本招生,但分?jǐn)?shù)居于二本分?jǐn)?shù)線的低端。軟件外包專業(yè)雖然也屬于計(jì)算機(jī)大類,但培養(yǎng)目標(biāo)不同,學(xué)生的基礎(chǔ)相對(duì)差些,在教學(xué)過程中需要根據(jù)教學(xué)對(duì)象的專業(yè)特點(diǎn)、基本素質(zhì)、知識(shí)背景等,對(duì)課程內(nèi)容進(jìn)行有針對(duì)性的組合與調(diào)整,選擇合適的課堂教學(xué)方法,做到因材施教、因需施教。

1.教學(xué)內(nèi)容選取

編譯原理教學(xué)內(nèi)容應(yīng)強(qiáng)調(diào)對(duì)原理和技術(shù)的宏觀理解及全局把握,針對(duì)編譯的各邏輯階段,在教學(xué)內(nèi)容的選擇方面既要考慮學(xué)生的特點(diǎn)和專業(yè)培養(yǎng)目標(biāo),又要保證教學(xué)內(nèi)容的完整性與連貫性,使學(xué)生對(duì)整個(gè)編譯過程及各個(gè)階段的主要方法和原理有全面的學(xué)習(xí)與了解。

軟件外包專業(yè)的學(xué)生基礎(chǔ)比普通本科差,且授課學(xué)時(shí)比計(jì)算機(jī)專業(yè)少,理論課時(shí)僅為32學(xué)時(shí)。因此需要適當(dāng)減少教學(xué)內(nèi)容,通過多舉實(shí)例、加強(qiáng)練習(xí)等手段確保學(xué)生對(duì)課程重點(diǎn)內(nèi)容的掌握,刪減的部分可以安排自學(xué)。

根據(jù)軟件外包專業(yè)的培養(yǎng)目標(biāo)、方案及本專業(yè)學(xué)生特點(diǎn),選用陳火旺等編寫的《程序設(shè)計(jì)語言編譯原理》為教材,選取的教學(xué)內(nèi)容見表1。

2.教學(xué)方法改革

興趣是人們力求認(rèn)識(shí)某種事物或愛好某種活動(dòng)的心理傾向,是推動(dòng)學(xué)生學(xué)習(xí)活動(dòng)的內(nèi)在驅(qū)動(dòng)力。要想讓學(xué)生學(xué)得好,需要不斷地激發(fā)他們的學(xué)習(xí)興趣,從而變被動(dòng)學(xué)習(xí)為主動(dòng)學(xué)習(xí)。在理論教學(xué)過程中,根據(jù)多年積累的教學(xué)經(jīng)驗(yàn),通過靈活采用如下的多種教學(xué)方法,激發(fā)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性,提高教學(xué)效果。

2.1案例教學(xué)法

編譯原理課程很多理論既抽象又繁雜,學(xué)生理解起來比較困難,如果在講授過程中只是單純地進(jìn)行理論和方法的講解,而不輔以實(shí)例,很難激發(fā)學(xué)生學(xué)習(xí)的興趣和熱情,達(dá)到理解掌握的目的。在理論教學(xué)過程中,結(jié)合具體的實(shí)例和案例使抽象的理論形象化和生動(dòng)化,從而激發(fā)學(xué)生的學(xué)習(xí)興趣和熱情。

在引言部分講解編譯過程時(shí),以一句英文(People who walk on the grass are liable to a fine)翻譯成中文的過程為例進(jìn)行講解。

(1)識(shí)別出句子中的每個(gè)單詞:People,who,walk,on,the,grass,ale,liable,to,a,fine。

(2)分析句子的語法結(jié)構(gòu):定語從句。

(3)根據(jù)句子含義進(jìn)行初步翻譯:在草地上行走的人易受罰款。

(4)對(duì)譯文進(jìn)行修飾:易受罰款中“易受”一詞不太準(zhǔn)確,改為“要罰款”。

(5)寫出最後的譯文:在草地上行走要罰款。

然後,將自然語言翻譯的步驟對(duì)應(yīng)到程序設(shè)計(jì)語言的編譯過程5個(gè)階段,對(duì)應(yīng)關(guān)系如圖1所示:

通過以上實(shí)例的運(yùn)用,達(dá)到了認(rèn)識(shí)整個(gè)編譯過程的目的,而且很容易被學(xué)生理解和接受,在腦海中留下比較深刻和直觀的印象,為後面深入學(xué)習(xí)各個(gè)編譯階段的理論與方法作好鋪墊。

在講解詞法分析部分,正規(guī)式與FA的等價(jià)、NFA確定化為DFA和DFA的化簡等核心內(nèi)容時(shí),可以用一道綜合題將這些內(nèi)容貫穿起來。如給定字母表∑={a,b},設(shè)計(jì)一個(gè)能識(shí)別∑上所有含有相繼兩個(gè)a或者兩個(gè)b的DFA。要解決這個(gè)問題就需要根據(jù)題目要求先寫出正規(guī)式,然後將其轉(zhuǎn)換成等價(jià)的NFA,接著再確定為DFA,最後再進(jìn)行化簡。這樣不僅通過一個(gè)典型案例把相關(guān)的內(nèi)容綜合起來,而且能夠充分調(diào)動(dòng)學(xué)生的積極性,使其在分析案例、得到結(jié)論的過程中提高綜合知識(shí)應(yīng)用能力和創(chuàng)新能力。

2.2類比教學(xué)法

編譯原理涉及的原理與方法比較多,如此多原理與方法講授起來及學(xué)生掌握起來都比較困難?;谕惙椒ㄖ杏幸欢ǖ南嗨菩?,在講解過程中,對(duì)同類方法進(jìn)行對(duì)比講授,總結(jié)各種方法的相似之處,突出并分析每種方法的不同之處,通過類比使學(xué)生更能明確掌握各種方法的原理和適用范圍,從而在實(shí)際應(yīng)用過程中能夠選擇合適的方法。

在講解三地址代碼的3種表示方法(三元式、四元式和間接三元式)時(shí),將3種方法結(jié)合起來講解,分析其相同和不同之處。相同之處在于每種表示方法都有操作符、兩個(gè)操作數(shù)這三個(gè)域,不同之處在于臨時(shí)變量如何來保存或者引用。針對(duì)不同的保存(引用)方式,不同方法就會(huì)有不同的優(yōu)缺點(diǎn)。如四元式要增加一個(gè)監(jiān)時(shí)變量域保存計(jì)算結(jié)果,從而增加了內(nèi)在開銷,但更改比較容易;而三元式通過計(jì)算臨時(shí)變量值的語句位置來引用這個(gè)臨時(shí)變量,雖然節(jié)省了內(nèi)存開銷,但使得更改變得比較困難,需要修改一系列的指示器的值。通過類比方法來講解同類方法的原理,可以讓學(xué)生更加深入地理解和掌握這些方法的優(yōu)缺點(diǎn),能夠在實(shí)際應(yīng)用過程中靈活使用這些方法。

類似地,在講解SLR分析表的構(gòu)造時(shí),與已講過的LR(O)分析表的構(gòu)造進(jìn)行對(duì)比講授。在構(gòu)造方法中,與LR(O)相同的地方可以不用重復(fù)講解,只講解歸約(項(xiàng)目A->a,屬于I)的情況。對(duì)LR(O)文法,對(duì)任何終結(jié)符號(hào)都要用產(chǎn)生式A->a,歸約;而對(duì)于SLR文法,僅對(duì)任何屬于Follow(A)中的終結(jié)符號(hào)用產(chǎn)生式A->a,歸約。這樣在LR(O)分析表的構(gòu)造基礎(chǔ)之上掌握SLR分析表的構(gòu)造就比較簡單,只要掌握上面所提到的不同之處即可。

2.3啟發(fā)式教學(xué)

啟發(fā)式教學(xué)強(qiáng)調(diào)傳授知識(shí)的同時(shí)重視學(xué)生能力的培養(yǎng)及非智力因素的發(fā)展,它把學(xué)生真正置于主動(dòng)者的位置,充分調(diào)動(dòng)學(xué)生的積極性和主動(dòng)性,激發(fā)學(xué)生的學(xué)習(xí)興趣。由于本課程理論性較強(qiáng),概念原理較多,充分發(fā)揮學(xué)生的積極性就顯得尤為重要。

在授課過程中,要注重引導(dǎo)和培養(yǎng)學(xué)生自我發(fā)現(xiàn)問題的能力。例如講規(guī)范歸約的相關(guān)概念,句型的短語、直接短語和句柄等概念時(shí),講解形式化的定義學(xué)生很難理解,如果不能理解即使把概念記住,遇到具體的問題時(shí)還是無從下手,很難給出正確的答案。在講授這幾個(gè)概念的同時(shí),以一個(gè)具體的句型(aAbcde)為例,將這個(gè)句型推導(dǎo)過程的語法分析樹畫出來(如圖2所示),引導(dǎo)學(xué)生去思考這3個(gè)概念跟語法樹有什么關(guān)系及如何在語法樹中體現(xiàn)出來。

同時(shí)引導(dǎo)學(xué)生結(jié)合語法推導(dǎo)樹回顧推導(dǎo)、直接推導(dǎo)的概念,以及如何在語法樹中表示出來,從而引導(dǎo)學(xué)生去思考短語等概念的形式化描述如何用語法樹這種比較直觀的方式來解釋。經(jīng)過引導(dǎo)後,有的學(xué)生就會(huì)發(fā)現(xiàn)句型的短語可以由語法樹的子樹(以S、A和B為根)的葉子結(jié)點(diǎn)自左至右排列得到,分別為aAbcde、Ab和d,這時(shí)教師就可以在學(xué)生對(duì)此問題有了一定的想法和見解後給出結(jié)論,一棵子樹的所有端末結(jié)點(diǎn)自左到右排列起來列成一個(gè)相對(duì)子樹根的短語,將每個(gè)子樹的末端結(jié)點(diǎn)排列起來,就得到了該句型的所有短語。經(jīng)過學(xué)生思考之後,對(duì)問題的理解更加深入,同時(shí)通過積極參與到教學(xué)活動(dòng)過程中,學(xué)習(xí)的積極性大大增強(qiáng),課堂氣氛也更加活躍。

3.教學(xué)效果分析

2012-2013學(xué)年第一學(xué)期,筆者對(duì)軟件外包專業(yè)2010級(jí)8個(gè)班共281名學(xué)生進(jìn)行編譯原理課程教學(xué)方法改革與實(shí)踐,取得了良好的教學(xué)效果。學(xué)生對(duì)該課程的學(xué)習(xí)表現(xiàn)出了較大的學(xué)習(xí)興趣和積極性,上課出勤情況也有了較大的改善。期末考試成績整體上有了一定的提高,不及格比例明顯減少。期末考試的成績分布情況統(tǒng)計(jì)見表2,各個(gè)等級(jí)人數(shù)分布統(tǒng)計(jì)曲線如圖3所示。

從期末考試成績分布情況表及統(tǒng)計(jì)曲線圖可以看出,成績?cè)谥械纫陨希?0分以上)的人數(shù)占75%左右,不及格人數(shù)僅占3.56%,且各個(gè)等級(jí)成績分布呈現(xiàn)良好的正態(tài)分布,改善了編譯原理課程考試成績偏低、不及格率高的狀況。

學(xué)生對(duì)本門課程的教學(xué)比較滿意,對(duì)教師評(píng)價(jià)分?jǐn)?shù)高達(dá)94.976分(滿分95);對(duì)教材評(píng)價(jià)分?jǐn)?shù)為94.498分,(滿分95)。

4.結(jié)語

為提高軟件外包專業(yè)的編譯原理課程教學(xué)效果,根據(jù)專業(yè)培養(yǎng)目標(biāo)和學(xué)生特點(diǎn),我們對(duì)教學(xué)內(nèi)容選取、理論教學(xué)方法進(jìn)行了改革與實(shí)踐。這些方法大大地激發(fā)了學(xué)生的學(xué)習(xí)興趣,取得了良好的教學(xué)效果。

桑植县| 连城县| 宁远县| 胶州市| 修武县| 恭城| 浦东新区| 灵台县| 镇平县| 会宁县| 许昌县| 阳朔县| 尼玛县| 呼图壁县| 梨树县| 松江区| 遂川县| 泰和县| 淮滨县| 衡南县| 老河口市| 海丰县| 五原县| 米林县| 宁明县| 高尔夫| 汉川市| 玉龙| 汝州市| 鹿泉市| 拉萨市| 宜州市| 灵寿县| 尤溪县| 白沙| 北辰区| 缙云县| 昌乐县| 开原市| 长海县| 满洲里市|