• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      提高“編譯原理”課程教學(xué)效果的探索與實踐

      2009-02-04 05:35:58許智宏
      計算機教育 2009年23期
      關(guān)鍵詞:編譯原理教學(xué)研究教學(xué)效果

      吳 清 許智宏

      摘要:本文針對“編譯原理”在理論及實驗教學(xué)中存在難度的現(xiàn)狀,探討了如何提高該課程教學(xué)效果的有效途徑,主要研究了課堂教學(xué)、實驗教學(xué)及教學(xué)方法,并從中總結(jié)出規(guī)律性的策略,在有效幫助學(xué)生掌握扎實的基礎(chǔ)理論和技術(shù)的同時提高學(xué)生實際動手能力,培養(yǎng)他們開發(fā)大型軟件的工程意識、獨立思考和團隊合作的精神。

      關(guān)鍵詞:編譯原理;教學(xué)研究;教學(xué)效果

      中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B

      編譯系統(tǒng)是計算機系統(tǒng)的基本組成部分,對它的研制是一項高難度的工程。作為一門理論性、實踐性均很強的課程,“編譯原理”對學(xué)生提高計算機軟件素質(zhì),拓寬思維方式,理解信息處理實質(zhì),綜合運用所學(xué)知識分析問題等具有重要作用。但由于這門課程的概念性強,具有嚴(yán)密的邏輯性,內(nèi)容豐富且抽象,應(yīng)用其他課程的知識較多,容易使學(xué)生望而生畏,是公認(rèn)的計算機專業(yè)中既難教又難學(xué)的課程之一。同時由于編譯系統(tǒng)大而復(fù)雜,理論多而深奧,而且目前課時又被壓縮,課堂學(xué)習(xí)時間相對短暫,因此怎樣收到理想的教學(xué)效果是一個亟待解決的問題。

      作者曾調(diào)查了往屆畢業(yè)生的學(xué)習(xí)情況,大部分學(xué)生表示在校期間沒有真正學(xué)好這門課。筆者根據(jù)多年的教學(xué)經(jīng)驗,對該課程的教學(xué)進(jìn)行了研究,逐步完善了課堂教學(xué)、實驗教學(xué)及其教學(xué)方法,通過改進(jìn)教學(xué)實施環(huán)節(jié),協(xié)調(diào)計算機課程的合理銜接,鍛煉了學(xué)生的系統(tǒng)分析設(shè)計能力。加強實驗教學(xué),使課程實驗不再只是單純地實現(xiàn)編譯理論中的某些算法。我校學(xué)生在前續(xù)課程中從未開發(fā)過大型軟件系統(tǒng),因此我們也對學(xué)生親身經(jīng)歷大型系統(tǒng)軟件開發(fā)的全過程進(jìn)行了研究。

      1完善的教學(xué)內(nèi)容

      1.1理清課程的聯(lián)系,建立課程的有機銜接

      課堂授課中,應(yīng)讓學(xué)生體會本課程是如何建立在前續(xù)課程——高級語言、匯編語言的基礎(chǔ)上的,運用數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、計算機組成等課程的相關(guān)知識來解決編譯問題,否則這門課就是孤立的,考完試就忘掉了。例如,以課堂討論的方式教學(xué),用編譯理論分析C語言中的語法現(xiàn)象,培養(yǎng)學(xué)生靈活運用知識的能力。在課程設(shè)計方面,與同時開設(shè)的“軟件工程”課程結(jié)合,用軟件工程的思想規(guī)范指導(dǎo)學(xué)生完成一個小型編譯器的開發(fā)。課程快結(jié)束時,引導(dǎo)學(xué)生思考編譯理論對今后學(xué)習(xí)內(nèi)容的指導(dǎo)意義。

      為了跟上計算機技術(shù)的發(fā)展,教師還應(yīng)加強課外閱讀指導(dǎo)。例如,讓學(xué)生從C到C++語言的分析中體會程序設(shè)計思想的不斷發(fā)展和由此帶來的編程語言從過程式到對象式的演變。鑒于教材對編譯算法和模型的描述仍沿用C這類結(jié)構(gòu)化程序設(shè)計語言的編譯過程,所以教師除應(yīng)在課堂授課時有重點地結(jié)合對象式思想講解外,還應(yīng)向?qū)W生推薦文獻(xiàn)資料,引導(dǎo)學(xué)生思考在過程式語言基礎(chǔ)上引入對象式語言的編譯原理和特點,鼓勵學(xué)生探討面向?qū)ο缶幾g器對編譯前端(詞法、語法分析)和后端(語義分析)的影響。

      另外,由于編譯程序使用的算法是較經(jīng)典的,其思想和實現(xiàn)技術(shù)可廣泛應(yīng)用于一般軟件的設(shè)計實現(xiàn)中,因此可鼓勵學(xué)生將學(xué)到的算法應(yīng)用到實際問題中。這樣既對前期課程起到復(fù)習(xí)鞏固的作用,又能讓學(xué)生切實體會到本課程的實際應(yīng)用價值。

      1.2抓住各章節(jié)重點,注意各章節(jié)的聯(lián)系

      一個典型的編譯程序的8個邏輯組成部分是相輔相成,互有聯(lián)系,緊密相關(guān)的,像一條鎖鏈,一環(huán)扣一環(huán)。教師要幫助學(xué)生觸類旁通,充分體會編譯程序體系的優(yōu)美性與和諧性,注意概念間的聯(lián)系,達(dá)到事半功倍的教學(xué)效果。

      編譯程序是大型復(fù)雜的軟件系統(tǒng),在教學(xué)中要拆成各個部分,分階段講解,以使學(xué)習(xí)難度減低,但這卻往往導(dǎo)致學(xué)生到最后也不清楚各個部分是怎樣在整個系統(tǒng)中協(xié)調(diào)工作的。就像自然語言的翻譯工作,初學(xué)外語時,即使認(rèn)識一個句子中所有的單詞,也不一定能譯出句子的正確意思;即使能譯出一個個句子的正確含義,若不會修辭加工,也得不到一篇優(yōu)質(zhì)的譯文——這實際就相當(dāng)于割裂了編譯系統(tǒng)各章節(jié)之間的聯(lián)系。因此教師應(yīng)幫助學(xué)生從宏觀和整體把握編譯技術(shù),而不應(yīng)使學(xué)生的注意力分散到局部算法上。

      在講授各個章節(jié)時,教師所用實例應(yīng)具有延伸性和完整性,以便容易把對此例的整個編譯過程分解后融入到各個開發(fā)階段,使學(xué)生體驗不同編譯階段成果的聯(lián)系與銜接。例如,將算術(shù)表達(dá)式賦值語句這一示例作為主線講解,不同章節(jié)各有側(cè)重。通過文法定義不同的算符優(yōu)先級和結(jié)合性,向?qū)W生傳授問題抽象、形式化描述和句型分析等基本概念。通過將運算數(shù)擴展為數(shù)組,使學(xué)生理解不同語句語法制導(dǎo)翻譯及生成8086系列匯編代碼等。另外,示例只是授課載體,最重要的是要通過示例引導(dǎo)學(xué)生建立起對系統(tǒng)構(gòu)建、模塊化、逐步求精、算法設(shè)計與實現(xiàn)等計算機學(xué)科常用的、經(jīng)典的分析解決問題的思想。

      1.3教學(xué)方法的研究與學(xué)生能力的培養(yǎng)

      課堂教學(xué)的實施與教師緊密相關(guān),要在傳授知識的同時講述問題求解的典型思路和方法,使課堂真正成為訓(xùn)練學(xué)生科研方法和思路的重要場所,構(gòu)建民主和諧、積極活潑的教學(xué)環(huán)境是至關(guān)重要的。這需要教師轉(zhuǎn)變教學(xué)方式,從權(quán)威到和學(xué)生平等對話。教師在認(rèn)真?zhèn)湔n,激情講課的同時,還應(yīng)講究授課的藝術(shù)性,通過循循善誘,使學(xué)生在融洽寬松的氣氛中愉快學(xué)習(xí)。教師應(yīng)充分肯定學(xué)生的探究成果,激發(fā)學(xué)生學(xué)習(xí)興趣和熱情,培養(yǎng)學(xué)生思維的批判性和創(chuàng)新性,引導(dǎo)他們從“這是什么”的學(xué)習(xí)心態(tài)轉(zhuǎn)變到“這是為什么”。

      2行之有效的實驗教學(xué)方法

      設(shè)計和組織良好的實踐教學(xué)環(huán)節(jié)可以使“編譯原理”課程獲得良好的教學(xué)效果。2007年起,我們將授課學(xué)時壓縮為48,實驗學(xué)時增加到30,且實驗成績單獨計算。我們在借鑒其他院校和專家優(yōu)秀經(jīng)驗的基礎(chǔ)上,不盲目追求與名??待R,而是找準(zhǔn)自己的定位。相對一流名校的學(xué)生,我校學(xué)生有的認(rèn)真刻苦,但較為被動,缺乏主動思考、發(fā)現(xiàn)問題的能力和質(zhì)疑精神,習(xí)慣于在引領(lǐng)之下按部就班地學(xué)習(xí);也有的學(xué)生思想活躍,興趣廣泛,活動能力強,但學(xué)習(xí)自覺性不高,單純憑興趣,更缺乏自信心和持之以恒的耐力,需要外界的督促和鼓勵。鑒于以上實際情況,本著“以學(xué)生為本”的原則,我們采用驗證性實驗和綜合設(shè)計實驗相結(jié)合的兩階段實踐教學(xué)模式,認(rèn)真設(shè)計實驗項目,劃分好各個實驗環(huán)節(jié),并制定分階段的多指標(biāo)評價體系,實施嚴(yán)格的過程考核和管理。

      2.1優(yōu)化驗證性實驗內(nèi)容,制定前后銜接的任務(wù)鏈?zhǔn)綄嶒烆}目

      為了配合課堂授課內(nèi)容,使學(xué)練互動,教師需要選取合適工作量的、與授課同步的若干驗證性實驗題目,按照編譯原理的授課順序細(xì)化任務(wù),使每個學(xué)生都逐個完成與授課內(nèi)容相關(guān)的子模塊,使每次上機實驗的編譯程序逐步完善長大。由于每次實踐內(nèi)容比較簡單,大部分學(xué)生都能完成,這就增加了他們的成就感和自信心,使他們養(yǎng)成一步一個腳印的扎實作風(fēng),循序漸進(jìn)地完成實驗題目。教師在此過程中把自己擺在一個組織者和監(jiān)督者的位置上,而不是一個和學(xué)生一起完成任務(wù)的執(zhí)行者,避免了學(xué)生的依賴心理,激發(fā)其積極主動的學(xué)習(xí)態(tài)度。

      這些與教學(xué)同步完成的小規(guī)模驗證性實驗只是幫助學(xué)生解決對編譯系統(tǒng)主要技術(shù)、算法的理解和設(shè)計,實驗內(nèi)容還要讓學(xué)生掌握由這些理論和方法構(gòu)造的編譯程序的各個部件是如何在整個系統(tǒng)中協(xié)調(diào)運行的。所以教師應(yīng)引導(dǎo)學(xué)生從整體上把握編譯系統(tǒng)的結(jié)構(gòu),再將其分解,使之能夠相互協(xié)調(diào)地工作在一個統(tǒng)一體中。

      這一階段的訓(xùn)練使學(xué)生提高了對復(fù)雜問題求解和數(shù)據(jù)表達(dá)的程序設(shè)計能力,他們不僅關(guān)注方法本身,更注重方法的實現(xiàn);不再拘泥于細(xì)節(jié)的記憶,而是轉(zhuǎn)到怎樣進(jìn)行整體設(shè)計和程序?qū)崿F(xiàn)上來,為完成一個完整的編譯過程打下了基礎(chǔ)。

      2.2增加課程設(shè)計環(huán)節(jié),培養(yǎng)學(xué)生開發(fā)大型系統(tǒng)軟件的能力

      為了保證實踐環(huán)節(jié)的教學(xué)效果,一定規(guī)模的綜合訓(xùn)練的課程設(shè)計不可缺少。學(xué)生在綜合訓(xùn)練中親身經(jīng)歷一個大型軟件開發(fā)的全過程,提高理論聯(lián)系實際的能力。該課程的教學(xué)安排采用靈活的組織方式,部分學(xué)生可以結(jié)合軟件工程課程的實踐環(huán)節(jié)完成一個規(guī)模適當(dāng)?shù)木幾g程序的開發(fā);或采用課內(nèi)外一體化的教學(xué)模式,教師布置利用課外時間必須完成的工作。

      設(shè)計內(nèi)容要具有實用性和系統(tǒng)性,公布不同要求的題目,學(xué)生根據(jù)興趣選擇。學(xué)生組成4~5人的小組,選擇或自定設(shè)計題目,再由教師根據(jù)上一階段的表現(xiàn)和個體差異等平衡小組間實力,合理組織不同能力層次的學(xué)生分組開發(fā),并就題目的難易程度和工作量與小組成員交流,最終確定要完成的主要工作。每組遵循完整的編譯器開發(fā)方式,融入軟件工程的思想,細(xì)化課程設(shè)計內(nèi)容,分配角色和任務(wù),推舉組長、分析員、設(shè)計員、程序員和測試員等,并在課程設(shè)計中進(jìn)行角色互換。每個學(xué)生都體驗從分析設(shè)計、編碼測試到交付維護(hù)的軟件開發(fā)全過程,提高工程意識和開發(fā)大型軟件的系統(tǒng)結(jié)構(gòu)設(shè)計能力。

      2.3精心組織實踐過程,嚴(yán)格監(jiān)督實驗結(jié)果

      課程設(shè)計之初,教師要進(jìn)行必要的輔導(dǎo),鼓勵學(xué)生相互探討,調(diào)動學(xué)生共同參與的熱情,培養(yǎng)他們良好嚴(yán)謹(jǐn)?shù)拈_發(fā)風(fēng)格,從一開始就堅決杜絕抄襲現(xiàn)象。每次上機時注意抽查,并就其工作進(jìn)行點評。如對運行當(dāng)前獲得的編譯程序進(jìn)行檢驗,成功后才能進(jìn)行下一步實踐。加強過程管理,解決學(xué)習(xí)動力不足的問題。考察學(xué)生對所開發(fā)軟件的理解,有針對性地對系統(tǒng)中關(guān)鍵問題提出疑問。

      實驗結(jié)束后,學(xué)生要提交完整的軟件開發(fā)文檔和源代碼。最終的成績評定包括教師對階段性成果和實驗報告等文檔的評分,還包括系統(tǒng)演示、答辯以及學(xué)生的自評和他評成績,按不同的比例構(gòu)成。具體考核內(nèi)容要細(xì)化,并在設(shè)計之初就向?qū)W生公布。例如小組成員依據(jù)參與熱情、努力程度、合作精神和貢獻(xiàn)大小等為每位學(xué)生評分。這種多項評價指標(biāo)方式全方位鍛煉學(xué)生能力,重點考核學(xué)生的工作態(tài)度、是否獨立完成和自身收獲。

      3必要的課程教學(xué)及實驗平臺

      “工欲善其事,必先利其器”。為提高“編譯原理”這門抽象、難學(xué)、難懂課程的教學(xué)效果,教師要事先做大量工作,形成一套行之有效的教學(xué)保障體系。因此我們利用豐富的教學(xué)資源,結(jié)合畢業(yè)設(shè)計,指導(dǎo)學(xué)生開發(fā)建立了一個編譯系統(tǒng)的教學(xué)及實驗平臺。

      要取得理想的教學(xué)效果,課程講授離不開傳統(tǒng)的板書,但多媒體輔助教學(xué)可以把抽象的概念和算法生動形象地演示出來,也是一種良好的教學(xué)手段。作為一種輔助教學(xué)手段,教師可在上課時演示部分關(guān)鍵算法和難點,使抽象的理論具體化,便于學(xué)生理解和記憶。配合綜合教學(xué)網(wǎng)站,學(xué)生也可在課下使用。

      任何一個功能完整齊全的高級語言編譯程序的體積都很大,而且編程技巧高,學(xué)生感到閱讀理解困難。因此我們還利用畢業(yè)設(shè)計開發(fā)了一個教學(xué)用編譯程序及詳細(xì)的說明文檔,設(shè)計了若干合適的實驗題目和案例資料,有興趣的學(xué)生可以在參考前輩作品的基礎(chǔ)上自行開發(fā)構(gòu)造編譯器,幫助學(xué)生融會貫通。

      4結(jié)論

      總之,每一位教師對教學(xué)效果的改善、教學(xué)質(zhì)量的提高都是責(zé)無旁貸的。建立便于理論聯(lián)系實際的教學(xué)內(nèi)容和課程體系;理清課程之間的有機銜接,整合本課程與其他課程的知識;抓住各章節(jié)重點,捋順每堂課之間的聯(lián)系;精心設(shè)計實驗內(nèi)容,注意調(diào)動學(xué)生的積極性,培養(yǎng)學(xué)生獨立思考和分析解決問題的能力;加強實驗結(jié)果的監(jiān)督;增加編譯系統(tǒng)課程設(shè)計,使學(xué)生親歷一個大型系統(tǒng)軟件開發(fā)的全過程;針對教學(xué)內(nèi)容研制一個編譯原理課程教學(xué)及實驗的平臺;在傳授知識的同時,加強學(xué)生能力的培養(yǎng),激發(fā)學(xué)生的學(xué)習(xí)興趣和創(chuàng)造精神等探索性的嘗試,需在實踐中不斷豐富、提高。

      參考文獻(xiàn):

      [1] 陳火旺. 程序設(shè)計語言編譯原理[M]. 3版. 北京:國防工業(yè)出版社,2001.

      [2] 蔣立源. 編譯原理[M]. 西安:西北工業(yè)大學(xué)出版社,2005.

      [3] 陳意云,張昱,鄭啟龍. 編譯原理的教學(xué)與實際相結(jié)合的探討[J]. 教育與現(xiàn)代化,2005(4):32-36.

      [4] 何炎祥,伍香春. 現(xiàn)代教學(xué)理論指導(dǎo)下的編譯原理教學(xué)綜合改革[J]. 計算機教育,2005(3):10-13.

      猜你喜歡
      編譯原理教學(xué)研究教學(xué)效果
      高中數(shù)學(xué)教學(xué)研究
      軟件學(xué)院編譯原理實踐課程的教學(xué)探索
      計算機教育(2016年8期)2016-12-24 10:24:00
      基于MOOC的編譯原理分階段課程教學(xué)研究
      計算機教育(2016年9期)2016-12-21 00:32:22
      營造興趣啟蒙式學(xué)習(xí)氛圍的編譯原理首課設(shè)計
      計算機教育(2016年7期)2016-11-10 08:48:50
      “編譯原理”課程教學(xué)改革初探
      交替?zhèn)髯g中聽記平衡教學(xué)研究
      如何提高高中聲樂教學(xué)效果
      散文百家(2014年11期)2014-08-21 07:16:52
      提高病理學(xué)教學(xué)效果的幾點體會
      語文課堂有效教學(xué)研究
      加強焊接教學(xué)質(zhì)量提高焊接教學(xué)效果的探討
      河南科技(2014年24期)2014-02-27 14:20:03
      遂平县| 大邑县| 峨眉山市| 吴忠市| 苏尼特右旗| 桐庐县| 西平县| 邻水| 喀什市| 九龙城区| 平顺县| 巴彦淖尔市| 榆树市| 栖霞市| 历史| 嵊州市| 高雄县| 上犹县| 长丰县| 涿州市| 西安市| 萍乡市| 靖西县| 华蓥市| 莱芜市| 河津市| 舞阳县| 宝鸡市| 措美县| 红河县| 政和县| 通许县| 南康市| 沿河| 景谷| 湖北省| 板桥市| 太康县| 天祝| 芷江| 奎屯市|