• 
    

    
    

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

      ?

      “項目驅(qū)動”在編譯原理教學中的應(yīng)用

      2011-10-25 10:18:02梅,張
      唐山師范學院學報 2011年2期
      關(guān)鍵詞:詞法編譯器項目驅(qū)動

      吉 梅,張 靜

      (1.溫州醫(yī)學院 信息與工程學院,浙江 溫州 325035;2.唐山師范學院 教務(wù)處,河北 唐山 063000)

      編譯原理是計算機本科專業(yè)的一門重要的專業(yè)基礎(chǔ)課。該課程所討論的原理與技術(shù),既適用于程序設(shè)計語言的翻譯和編譯器的構(gòu)造,也適用于其它系統(tǒng)軟件和應(yīng)用軟件的設(shè)計與實現(xiàn)?!熬幾g原理”被公認為是計算機專業(yè)本科教學中最難教、最難學的課程[1],主要是因為:(1)“編譯原理”綜合性比較強,涉及的先修課程比較多,包括離散數(shù)學、數(shù)據(jù)結(jié)構(gòu)、匯編語言、程序設(shè)計等,對學習者專業(yè)基礎(chǔ)知識及其掌握要求都比較高;(2)“編譯原理”理論性較強,涉及到的一些理論知識抽象深奧、晦澀難懂,如形式語言與自動機理論等。(3)“編譯原理”的實踐性較強,一般的編譯程序都比較復(fù)雜且規(guī)模龐大,教師很難在有限的課時內(nèi)把編譯器涉及的各個細節(jié)都講透徹。

      1 “編譯原理”教學中存在的問題

      1.1 重理論,輕實驗

      由于各個學校軟硬件基礎(chǔ)的原因,很多高校都把培養(yǎng)的重點放在理論教學上,實驗課時安排得很少,有的甚至根本未開設(shè)實驗課。這使得學生很少有機會理論聯(lián)系實際,缺乏程序編譯的直觀感受,學習興趣不高。

      1.2 理論課堂教學效果差

      由于編譯原理課程中涉及到很多的概念、定理,再加上一些復(fù)雜的算法,課程內(nèi)容顯得比較枯燥。盡管很多高校也提出了一些教學改革方案,如比喻式教學法、啟發(fā)式教學法、構(gòu)建多媒體教學環(huán)境等,在一定程度上調(diào)動了學習的積極性,但課堂效果總的來說還是不明顯。

      1.3 實驗環(huán)節(jié)薄弱

      大部分學校將實驗內(nèi)容安排在詞法分析器、語法分析器的構(gòu)造上,而對編譯器后端語義分析及代碼生成部分內(nèi)容涉及較少。同時,實驗項目的選取一般都以孤立算法的實現(xiàn)為主,較少要求去完成一個規(guī)模型的編譯項目設(shè)計與現(xiàn)實,直接導致學習者對編譯程序的總體把握不夠。

      1.4 理論與實際應(yīng)用脫節(jié)

      通常在編譯原理理論教學過程中并不涉及編譯器的具體實現(xiàn)[2]。由于理論知識的講解與學習都是采用自然語言進行實際應(yīng)用中則要采用計算機編程語言來實現(xiàn),對于學生而言,從理解理論并且可以套用公式解題到能夠編程實現(xiàn)存在一個巨大的鴻溝。因此,在上機實踐時很多學生沒有思路,感到無從下手。

      2 “項目驅(qū)動式”教學方法

      項目驅(qū)動教學法以項目為核心,由教師根據(jù)各個階段的教學目標提出項目設(shè)計任務(wù),針對所提出的問題,采取演示或講解等方式,給出完成項目的思路和方法,逐步引導學生邊學邊練,并通過協(xié)同合作實踐來完成整個項目的目標[3]。通過將一個具體的實踐項目貫穿到整個編譯原理課程的教學過程中,以具體的實例讓學生能在學習這門課程各個章節(jié)內(nèi)涵的同時逐步提高他們學習的興趣,以至最終理解并真正掌握編譯原理技術(shù)。

      與傳統(tǒng)的教學方法相比,“項目驅(qū)動法”能更大地激發(fā)學生的學習興趣和求知欲望[4],促使學生主動學習,充分挖掘?qū)W生的創(chuàng)造潛能,提高學生的思維能力、實踐動手能力以及團隊協(xié)作能力。

      3 “項目驅(qū)動法”在編譯原理中的應(yīng)用

      項目設(shè)計是整個項目驅(qū)動教學過程的關(guān)鍵。為了讓學生能夠掌握編譯器的各個環(huán)節(jié),采用自定義的簡單繪圖語言,以該語言編譯器的實現(xiàn)為項目貫穿整個教學過程。

      3.1 提出項目任務(wù)

      在學生了解編譯程序的結(jié)構(gòu)之后,提出項目任務(wù),演示、講解完成項目的思路和方法,讓學生對整個項目有一個總體、初步的認識。

      3.2 提高理論課堂教學效果

      在運用多媒體教學手段、比喻式教學、啟發(fā)式教學外,將項目的具體實現(xiàn)引入課堂。在理論教學的同時,適當介紹算法的具體實現(xiàn)以避免理論與實踐的脫節(jié)。例如,在講解詞法分析的同時,介紹該繪圖語言詞法分析器的設(shè)計與實現(xiàn)。該繪圖語言分為關(guān)鍵字、常量、標識符、界符和其他五類單詞,各單詞的詞法規(guī)則如下:

      (1)關(guān)鍵字。該語言只有 For、Next、Point、Line、Circle和Scale幾個有限的關(guān)鍵字。其中For-Next用于循環(huán)語句;Point、Line和Circle用于繪制圖形的方法;Scale用于定制圖形的坐標系統(tǒng)。

      (2)標識符:以英文字母開頭的字母數(shù)字串。

      (3)常量:非零開頭的正整數(shù),用來表示圖形的坐標。

      (4)界符:如分號、小括號等。

      (5)其他:如空格、注釋(支持Java單行注釋)等。

      在給出詞法規(guī)則后,將語言的詞法規(guī)則用正規(guī)式的形式描述單詞,并利用 ANTLR構(gòu)造該詞法分析程序,然后對ANTLR自動構(gòu)造的詞法分析程序進行分析和測試,從而使學生理解整個詞法分析過程。其ANTLR描述如圖1所示。

      圖1 繪圖語言詞法規(guī)則的ANTLR描述

      3.3 插件式編程思想[5]

      為了讓學生能夠整體把握編譯技術(shù),將項目分成不同的模塊,每個模塊都是一個獨立的插件。在每一個階段的練習中,我們將提供其它模塊的代碼,讓學生立即看到運行效果,同時產(chǎn)生成就感,從而提高他們的編程興趣。

      3.4 項目模塊化

      在整個教學過程中,可以將知識點分解到不同的學習階段并形成不同的模塊,分別交給不同的學生組合去具體負責相應(yīng)的模塊實現(xiàn),使學生都能夠切實感受到知識應(yīng)用的效果,使之加深理解,并以此來提高學習者的興趣。

      3.5 因材施教

      對于基礎(chǔ)差、確實無力完成實驗要求的學生,提供標準代碼,要求能夠看懂,能夠講解就給達標。

      4 結(jié)束語

      通過分析編譯原理課程的特征、教學中存在的問題,提出了項目驅(qū)動教學法在編譯原理課程教學中的應(yīng)用。

      猜你喜歡
      詞法編譯器項目驅(qū)動
      基于相異編譯器的安全計算機平臺交叉編譯環(huán)境設(shè)計
      應(yīng)用于詞法分析器的算法分析優(yōu)化
      談對外漢語“詞法詞”教學
      依托工作室的軟件工程實踐教學研究
      基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學改革的研究與實踐
      基于“紅色之旅”項目驅(qū)動的《調(diào)酒與咖啡》工作室制人才培養(yǎng)機制探討
      文理導航(2016年30期)2016-11-12 14:46:39
      試論基于項目驅(qū)動的機械制圖教學改革
      通用NC代碼編譯器的設(shè)計與實現(xiàn)
      2010年高考英語“相似”考題例析
      編譯器無關(guān)性編碼在微控制器中的優(yōu)勢
      佛教| 镇沅| 托克托县| 积石山| 绵阳市| 大余县| 辛集市| 淄博市| 梓潼县| 如皋市| 江孜县| 偃师市| 灌云县| 镇赉县| 仙居县| 莒南县| 湘乡市| 邹平县| 广汉市| 漠河县| 石台县| 襄樊市| 沙坪坝区| 蓝田县| 小金县| 襄樊市| 呈贡县| 南京市| 周口市| 北流市| 河源市| 虹口区| 台中市| 琼结县| 兰溪市| 鄂尔多斯市| 太谷县| 射阳县| 龙山县| 尤溪县| 广南县|