999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

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

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

1研究背景

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

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

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

2理論課教學

2.1啟發式教學

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

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

2.2任務驅動教學

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

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

main()

{float a, b,h,s;

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

通過詞法分析得到單詞符號結果:

保留字:main,float

標識符:a,b,h,s

常數:2

運算符:=,*, +

界符:,;( ){ }

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

G[S]:

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

F—> float

I—>a | b | h | s

D—>2

0—> = | * | +

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

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

2.3案例式教學

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

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

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

2.4演示教學

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

3實踐課教學

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

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

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

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

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

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

4結語

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

參考文獻:

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

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

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

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

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

[6] 劉希遠. 編譯原理在通信協議轉換中的應用[J]. 甘肅工業大學學報,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

主站蜘蛛池模板: 国产精品欧美日本韩免费一区二区三区不卡| 欧美一区精品| 亚洲欧美h| 欧美成人看片一区二区三区 | a毛片在线| 欧美怡红院视频一区二区三区| 福利小视频在线播放| 日韩福利视频导航| 尤物视频一区| 国产精品第5页| 国产成人高清精品免费5388| 亚洲69视频| 国产精品人成在线播放| 超清人妻系列无码专区| 国内自拍久第一页| 欧美在线黄| 欧美性天天| 中文字幕永久在线看| 亚洲三级成人| 在线观看国产网址你懂的| 国产午夜不卡| 国产一区二区色淫影院| 宅男噜噜噜66国产在线观看| 奇米精品一区二区三区在线观看| 久久综合丝袜日本网| 超碰aⅴ人人做人人爽欧美| 永久免费无码成人网站| 国产自无码视频在线观看| 秋霞一区二区三区| 亚洲床戏一区| 亚洲精品天堂在线观看| 精品亚洲麻豆1区2区3区| 国产伦片中文免费观看| 高清国产va日韩亚洲免费午夜电影| 亚洲欧美极品| 在线精品亚洲一区二区古装| 99在线视频精品| 精品视频一区二区观看| 免费又黄又爽又猛大片午夜| 国产一级毛片网站| 日韩无码视频专区| 亚洲福利视频一区二区| 波多野结衣的av一区二区三区| 国产精品美女自慰喷水| 在线不卡免费视频| 亚洲自偷自拍另类小说| 欧美国产视频| 97国产一区二区精品久久呦| 欧美国产成人在线| 在线免费观看a视频| 中文字幕永久视频| 国产尤物jk自慰制服喷水| 少妇精品久久久一区二区三区| 国产一级精品毛片基地| 久久精品人人做人人综合试看| 播五月综合| 欧美日韩高清| 成人福利在线免费观看| 狂欢视频在线观看不卡| 成人午夜网址| 国产特一级毛片| 青草视频免费在线观看| 欧美黑人欧美精品刺激| 日韩欧美国产成人| 免费aa毛片| 中文字幕不卡免费高清视频| 国产一级在线播放| 欧美国产在线看| 国产亚洲精品yxsp| 国产乱人视频免费观看| 又爽又黄又无遮挡网站| 国产一区二区三区在线观看视频 | 不卡国产视频第一页| 国产欧美另类| 播五月综合| 亚洲精品午夜无码电影网| 久久77777| 欧美国产日韩另类| 亚洲aⅴ天堂| 第一区免费在线观看| 国产青榴视频| 亚洲男人的天堂久久香蕉|