亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “編譯原理”課程教學方法的研究與實踐

        2010-01-01 00:00:00王順曄
        計算機教育 2010年3期

        摘要:“編譯原理”是高校計算機類專業(yè)的重要基礎和骨干課程,本文分析了該課程的重要性及教學目的,討論了課程中采用的多種教學方法,并就實踐環(huán)節(jié)進行了設計。實踐證明,教學環(huán)節(jié)的設置與教學方法的選擇適應學生的認知規(guī)律,有助于學生理解知識和鍛煉能力。

        關鍵詞:編譯原理;理論教學;教學方法;實踐教學

        1研究背景

        “編譯原理”是計算機及相關專業(yè)的一門重要專業(yè)課程,著重培養(yǎng)學生的程序設計和實現(xiàn)能力,在計算機科學中有很重要的地位,被列入國際ACM91教程。編譯程序構(gòu)造的基本原理和技術蘊涵了計算機科學解決問題的思路和抽象解決問題的方法,其中的設計思想、算法、思維方式和技術都會對學生今后的發(fā)展產(chǎn)生比較大的影響,甚至還有“編譯原理對計算機專業(yè)學生的重要性與高等數(shù)學對理科學生的重要性幾乎可以相提并論”[1]的說法,可見其重要性。編譯原理與其他計算機學科課程關系緊密,如高級程序設計語言、數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學、軟件工程等,是一門理論深度和實踐要求并重的課程。

        學習一門課程,首先應該明確學習目的,這樣才能有針對性地學習,提高學習熱情。本課程系統(tǒng)地向?qū)W生介紹編譯系統(tǒng)的結(jié)構(gòu)、工作原理及編譯程序各組成部分的設計原理和實現(xiàn)技術,學生學習后,既應掌握編譯理論和方法的基本知識,也應具有設計、實現(xiàn)、分析和移植編譯程序的初步能力,為從事計算機軟件開發(fā)及理論研究打下堅實的基礎。

        為了實現(xiàn)本課程的教學目標,筆者采用了多種教學方法,并就實踐環(huán)節(jié)進行了設計,以下就是筆者的教學實踐總結(jié)和反思。

        2理論課教學

        2.1啟發(fā)式教學

        “啟發(fā)式教學”是先進的教學模式之一,強調(diào)傳授知識的同時重視學生能力的培養(yǎng)及非智力因素的發(fā)展。它把學生真正置于主動者位置,充分調(diào)動學生的積極性,激發(fā)學生的學習興趣。由于本課程理論性較強,概念原理較多,所以充分發(fā)揮學生的積極性就顯得尤為重要。

        在授課過程中,教師注重引導學生自我發(fā)現(xiàn)問題。例如在講解句型分析內(nèi)容時,提到自頂向下和自底向上分別體現(xiàn)推導和歸約的本質(zhì),及每一種方法的特點和局限性。通過教師引導,學生意識到如何選擇產(chǎn)生式和如何識別可歸約串是這兩種方法的根本問題。有了以上認識,對語法分析內(nèi)容的學習也非常重要,教師同時啟發(fā)學生對知識的遷移,在講到LR分析方法可歸約前綴圖的構(gòu)造時,可與詞法分析中構(gòu)造的狀態(tài)圖作對比,得出可歸前綴圖的射出弧上不僅可標記終結(jié)符,還可標記非終結(jié)符的結(jié)論,通過對前序內(nèi)容的遷移,指出知識的前后關系,以加深學生對知識的理解。

        2.2任務驅(qū)動教學

        所謂“任務驅(qū)動”,就是將要學習的新知識隱含在一個或幾個任務中,學生通過對任務進行分析、討論,明確涉及的知識,并找出新知識,然后在教師的指導幫助下找出解決問題的方法,在完成任務的同時培養(yǎng)學生分析問題、解決問題的能力。在該課程中,詞法分析的功能和任務以及有限自動機等分析工具的內(nèi)容較抽象,是教學的重點和難點,采用任務驅(qū)動法能達到較好的效果。

        詞法分析是編譯的第一個階段,該階段的任務是從左到右逐個字符對源程序進行掃描,產(chǎn)生一個個單詞序列,用以進行語法分析。直白地說就是輸入源程序,輸出單詞符號。例如下面是學生熟悉的C語言程序[2]:

        main()

        {float a, b,h,s;

        s=(a*b+a*h+b*h) *2;}

        通過詞法分析得到單詞符號結(jié)果:

        保留字:main,float

        標識符:a,b,h,s

        常數(shù):2

        運算符:=,*, +

        界符:,;( ){ }

        單詞序列已完成,如何描述以上的單詞符號成為問題的關鍵,我們采用正規(guī)文法構(gòu)造單詞,通過分析得到如下正規(guī)文法:

        G[S]:

        S—> F | I | D | O | B

        F—> float

        I—>a | b | h | s

        D—>2

        0—> = | * | +

        B—> ,| ;( | ) | { | }

        其中F為保留字;I為標識符;D為常數(shù);O為運算符;B為界符。具備了正規(guī)文法知識,講解形式語言與自動機理論知識時就較易被學生接受。

        2.3案例式教學

        “案例式教學”是從典型事例分析評價中加深學生對所學理論的理解,提高運用該理論的能力。

        “編譯原理”中的難點、重點通常以理論性、抽象性、枯燥性為特征,而案例式教學具有實踐性、形象性、生動性的特點,恰好可彌補其不足,充分調(diào)動學生興趣,使其在分析案例、得出結(jié)論的過程中提高創(chuàng)新能力[3]。

        在教學過程中,案例的主要形式是例題,一般是具有代表性的例題或綜合習題,約占2/3的課堂時間。在自動機理論中,正則式或正則文法轉(zhuǎn)化成等價的NFA、NFA轉(zhuǎn)換為等價的DFA、DFA的最小化等內(nèi)容,可用一道綜合題將這部分知識融會貫通,教學效果很好;LL(1)分析方法、優(yōu)先分析方法、LR分析方法等內(nèi)容也都可以通過實例實現(xiàn)教學。而反例的選擇可以包括非LR(0)的SLR(1)文法、非SLR(1)的LR(1)文法、非LALR(1)的LR(1)文法,以更好地說明每種文法的特點及區(qū)別和聯(lián)系。教學內(nèi)容結(jié)束后教師布置作業(yè),學生自己變?yōu)閷嵗虒W模型的主體,教師再就作業(yè)中出現(xiàn)的問題安排習題課,效果更佳。除課本上的例題外,教師還可選擇一些考研試題,拓展學生的知識面。

        2.4演示教學

        在課堂教學中,合理結(jié)合黑板、粉筆和先進的多媒體教學技術,可適當降低教學速度,使學生有充裕的時間思考,也能提高學生的重視程度。我們除制備完整的多媒體教學課件外,還設計了模擬LL(1)分析方法全過程的Flash動畫,有利于學生形象記憶分析全過程。在講授詞法分析時演示分析程序,得到詞法分析后的輸出序列如圖1所示,通過修改源程序顯示不同的甚至是包含錯誤提示的輸出結(jié)果,使學生加深對理論知識的理解。

        3實踐課教學

        實踐活動是創(chuàng)新意識的源泉,是創(chuàng)新能力的基礎,學生只有在不斷的實驗環(huán)節(jié)中嘗試、探索、研究和創(chuàng)新,才能不斷提高解決工程問題的能力。因此,要培養(yǎng)學生的創(chuàng)新意識和創(chuàng)新能力,除了培養(yǎng)學生的開放型思維和科學精神外,實踐能力的培養(yǎng)最重要。

        “編譯原理”課程對實踐性要求較高,學生在實驗中掌握一些重要算法,將數(shù)據(jù)結(jié)構(gòu)、高級語言等內(nèi)容融會貫通,最終提高各門知識的綜合應用能力。編譯原理實驗加強了學生對編譯理論知識的理解,消除其對該課程的“神秘感”和“恐懼感”。在教學設計中,我們精心設計了三個實驗,分別是詞法分析程序、語法分析—LL(1)和語法分析—LR。教師在每個實驗前明確實驗目的和要求,演示成果及結(jié)果,使學生更明確要完成的任務。

        實現(xiàn)詞法分析器的設計需要兩個關鍵步驟:先要掃描需要分析的源代碼,過濾掉其中的空格、換行符、注釋等字符;再把得到的字符和保留字表中的字符進行比較,看是否存在該字符,若存在則打印出該字符串,并說明在保留字表中的位置,為下一步語法分析做準備,否則提示錯誤信息,如圖1所示。完成詞法分析器功能后,要求學生編寫程序?qū)崿F(xiàn)自動機理論知識,圖2是從NFA到DFA的構(gòu)造及DFA最小化的構(gòu)造過程。

        對于自頂向下的語法分析程序—LL(1),F(xiàn)IRST、FOLLOW、SELECT集合的計算方法一直是學習的難點,學生通過實驗可以充分理解這三個集合的意義,掌握確定的自頂向下的分析思想,教師在教學中需重點強調(diào)編程中的左遞歸和回溯現(xiàn)象問題。

        自底向上LR分析法有一系列算法,在詞法分析程序的基礎上,構(gòu)造該分析法對符號表中的單詞進行語法分析,對符合給定文法規(guī)則的字符串輸出結(jié)果,否則提示錯誤,如圖3所示。除此之外,對學有余力的學生,可以使用程序動態(tài)演示可歸前綴圖的構(gòu)造過程和LR分析表的構(gòu)造過程,加深學生對所學理論知識的理解。

        對課程中部分經(jīng)典算法的實現(xiàn)培養(yǎng)了學生的實踐動手能力,使學生學以致用,加深理解,鞏固知識,真正將書本上的理論知識變?yōu)閷W生知識儲備庫中的知識。為督促學生自主學習,老師不僅要檢查每位學生的實踐結(jié)果,還要就算法內(nèi)容、編程知識的理解、編譯原理的應用等內(nèi)容提出疑問,使學生不局限于掌握課本內(nèi)容,還熟悉計算機知識的全面整合。

        4結(jié)語

        通過“編譯原理”課程學習編譯程序的構(gòu)造原理和實現(xiàn)技術,學生不僅能掌握編譯程序本身的實現(xiàn)技術,也能加深對程序設計語言的理解,提高語言的設計和開發(fā)大型軟件的能力,還能提高抽象思維能力和形式化描述能力。編譯及相關技術在很多領域都有廣泛應用,如逆向工程[5]、通信協(xié)議[6]、軟件再工程等,這更凸顯了本課程的重要性。通過多年教學實踐并對近兩屆學生成績的分析證明,本課程教學環(huán)節(jié)的設置與教學方法的選擇適應學生的認知規(guī)律,有助于學生理解知識、提高能力。

        參考文獻:

        [1] 陳文宇. 關于“編譯原理”課程教學的思考[J]. 實驗科學與技術,2008(12):80-82.

        [2] 李娟,孫濤. “編譯原理”課程教學改革實踐[J]. 高師理科學刊,2007(7):93-95.

        [3] 岳小婷. 貫徹以人為本,推進“編譯原理”教學改革[J]. 福建電腦,2008(1):213-214.

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

        [5] 胡燕京. 編譯技術研究與逆向工程研究[J]. 現(xiàn)代電子技術,2007(16):99-101.

        [6] 劉希遠. 編譯原理在通信協(xié)議轉(zhuǎn)換中的應用[J]. 甘肅工業(yè)大學學報,2000(9):69-72.

        Research and Practice of the Teaching Method of “Compiler Principles”

        WANG Shun-ye

        (Department of Computer Science and Technology, Langfang Teachers College, Langfang 065000, China)

        Abstract: “Compiler Principles” is a basic and essential course for college students majoring in computer related fields. This article analyzes the importance and the purpose of teaching, discusses many teaching method, and designs the practice arrangements. We believe that the arrangements and methods adapt to the students’ cognitive rules and can help them understand and take exercises.

        Key words: Compiler Principle; teaching in theory; teaching method; practice teaching

        国产一级黄色录像| 国产三级久久久精品麻豆三级| 性一交一乱一乱一视频| 在线人妻无码一区二区| 91麻豆精品一区二区三区| 日产精品高潮一区二区三区5月| 欧美又大又色又爽aaaa片| 欧美亚洲日本在线| 久久免费精品视频老逼| 亚洲av免费不卡在线观看| 欧美寡妇xxxx黑人猛交| 国内精品一区视频在线播放| 中文字幕av人妻一区二区| 国产毛女同一区二区三区| 久久精品国产亚洲av麻豆| 久久精品无码一区二区三区蜜费| 青青草手机成人自拍视频| 白白白在线视频免费播放| 白天躁晚上躁麻豆视频| 国内成人精品亚洲日本语音| 久久影院最新国产精品| 青青草原亚洲| 毛片免费全部无码播放| 日韩女优一区二区视频| 伊人青青草综合在线视频免费播放 | 国产爆乳无码一区二区麻豆| 少妇对白露脸打电话系列| 99久久精品久久久| 日本免费一区二区三区在线播放| 末成年女a∨片一区二区| 久久免费大片| 亚洲无av码一区二区三区| 亚洲爆乳精品无码一区二区三区| 国产亚洲av人片在线观看| www.尤物视频.com| 国产精品一区二区黄色| 天天天天躁天天爱天天碰| 精品午夜一区二区三区久久| 无色码中文字幕一本久道久| 白丝兔女郎m开腿sm调教室| 亚洲日韩图片专区小说专区|