編譯原理實驗課程教學設計的改進論文_第1頁
編譯原理實驗課程教學設計的改進論文_第2頁
編譯原理實驗課程教學設計的改進論文_第3頁
編譯原理實驗課程教學設計的改進論文_第4頁
全文預覽已結(jié)束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、編譯原理實驗課程教學設計的改進論文編譯原理課程是計算機科學與技術專業(yè)的重要專業(yè)課之一,課程內(nèi)容抽象,理論性較強,學生普遍反應難學難懂,為此設置一定課時的實驗課,有助于幫助學生深入理解概念,提高學生的邏輯思維能力、實踐動手能力,有助于切實有效地提高學生的專業(yè)素質(zhì)。目前編譯原理課程的實驗設計通常是要求學生實現(xiàn)一個比較完整的編譯程序,或者將其拆分成詞法分析實驗、語法分析實驗和語義分析實驗等幾個部分,實驗內(nèi)容具有一定的難度,讓很多學生知難而退,難以達到預期的實驗效果。究其原因是在實驗設計上與學生的實際情況之間出現(xiàn)了諸多偏差,需要對實驗的設計和組織進行改進,以更好地提高編譯原理實驗課的教學效果。1編譯課

2、程實驗的問題1.1學生對課程實驗定位存在認知誤區(qū)在教學實踐中發(fā)現(xiàn)很多學生對編譯原理實驗課程的認識上存在很多誤區(qū),這些認識誤區(qū)如果不加以及時糾正,加上課程內(nèi)容抽象、邏輯性強等特點,很容易加重學生的畏難情緒,產(chǎn)生一系列不利于課程學習的消極負面影響。一種認識誤區(qū)是簡單地認為編譯原理的學習目的就是設計和開發(fā)編譯器,認為畢業(yè)后很少有從事編譯器研發(fā)的機會,所以得出課程學了沒用的錯誤結(jié)論。實際上編譯原理包括的形式語言、自動機理論等語言定義、翻譯與實現(xiàn)的基礎知識,可以讓學生領悟到計算機理論的精髓,可以讓學生從程序編譯的角度重新審視軟件的開發(fā),有助于提高學生對軟件設計開發(fā)的認識,對于今后從事應用軟件、語言開發(fā)平

3、臺甚至系統(tǒng)軟件的開發(fā)等都是非常有好處的。另一種認識誤區(qū)是將編譯的實驗混淆于普通的程序設計實驗,將實驗重點沒有放在算法的設計、原理的理解上,而是迷失在具體代碼實現(xiàn)的細節(jié)上。編譯原理課程是一個綜合性的專業(yè)課,編譯程序使用的一些數(shù)據(jù)結(jié)構(gòu)和算法是“數(shù)據(jù)結(jié)構(gòu)”、“離散數(shù)學”以及“算法設計與分析”等課程相關知識的典型應用 ,能夠進一步加深了學生對相關課程知識的綜合運用和專業(yè)素質(zhì)的提升。1.2實驗內(nèi)容設計缺少層次性通常的編譯原理實驗課的教學設計,是將學生已經(jīng)學過的一種高級語言的詞法和語法進行簡化,作為實驗的模型語言。針對編譯過程的詞法分析、語法分析、語義分析與中間代碼生成、目標代碼生成的四個重要階段,每個階

4、段分別設計一個或多個實驗題目,最終合成一個完整的編譯程序。這樣設計實驗的好處是與授課內(nèi)容緊密結(jié)合,模塊分解清晰。但存在的問題是盡管對高級語言進行了簡化,每個實驗仍然存在著一系列的“難度階梯”需要學生跨越,如果在實驗的設計上僅從學科的理論體系上考慮,忽視了學生知識和能力水平的不同層次,只是一種理想化的設計,執(zhí)行起來勢必難以達到預期的實驗效果。以詞法分析的實驗設計為例:實驗要求是給出某模型語言的文法規(guī)范,要求編寫該語言的詞法分析程序。輸入源程序文件,輸出關鍵詞、專用符號以及其它標記。實驗過程是編寫主函數(shù)getToken,通過從文件中讀取字符到緩沖區(qū)中并由C語言字符的狀態(tài)轉(zhuǎn)換圖流程判斷返回一個字符(

5、Token)。分析出來的單詞主要分為關鍵詞,專用符號,標記符號等。這個實驗是編譯階段的第一個實驗,在學生對編譯程序理解不深,很多思維方式和知識框架還沒有建立起來的情況下,給很多學生設置了一系列障礙,如形式化語言、有窮自動機的理論等,每一個障礙對于初學者都難度不小,這些問題同時出現(xiàn)在一個實驗中,會使相當大一部分學生因難度過大而失去學習興趣。實際教學中學生對編譯程序的認知是循序漸進的,很多概念和原理的理解不可能一步到位。而且學生的知識結(jié)構(gòu)、能力水平參差不齊,有的學生的先導課程如數(shù)據(jù)結(jié)構(gòu)、高級程序設計語言等知識學得不牢固,有些甚至已經(jīng)淡忘,因此在設計實驗時需要首先弄清楚學生的.情況,然后再“對癥下藥

6、”有側(cè)重點地進行實驗內(nèi)容的設計。1.3實驗的組織形式比較單一編譯原理的實驗組織形式通常是在機房每個學生一臺計算機,實驗課程開始后教師介紹實驗內(nèi)容、實驗目的和實驗要求等,然后每人獨立完成,從設計到實現(xiàn)都由學生自己進行,教師在實驗過程中隨時解答學生的疑問,最后學生調(diào)試完成程序后撰寫實驗報告,教師根據(jù)學生的程序和實驗報告給出分數(shù)。這樣的實驗組織和成績的評判形式比較單一,整個過程由教師主導,能夠訓練學生個體的獨立思考能力和動手能力,但學生之間的交流不夠,實驗課的大部分時間都是學生埋頭寫程序,實驗課氣氛比較枯燥沉悶,對學生團隊協(xié)作能力的訓練不夠。2實驗教學設計的改進2.1消除學生的認識誤區(qū)針對學生簡單地

7、把編譯原理課程局限在編譯器設計上的認識誤區(qū),教師在授課和實驗過程中需要注意結(jié)合實際中運用編譯技術的實例,比如常用的文本編輯工具中,很多帶有字詞的檢查和校驗功能,這就是編譯原理技術中詞法分析技術的具體應用;很多應用系統(tǒng)中對用戶輸入的字符串進行規(guī)則檢查時常用正則表達式;網(wǎng)絡搜索引擎對文檔資源進行特征分析、提取與描述等工作中都用到編譯的相關知識通過各種現(xiàn)實生活中的實例讓學生明確編譯原理所學習的知識不僅是計算機專業(yè)理論知識的重要組成,而且編譯程序所使用的一些原理、方法和技術在非編譯系統(tǒng)的實際應用中也發(fā)揮了很大作用。在進行實驗設計時,除了原理性實驗,可以根據(jù)學生的興趣,安排一些應用型的實驗,如簡單的智能

8、輸入法的實現(xiàn)、識別某些單詞的簡單聊天機器人程序等,這樣的小實驗可以激發(fā)學生的學習興趣,學生在這些應用性趣味實驗中遇到了困難,自然會進一步深入學習教材中的原理,這樣對基礎理論的掌握也會更加牢固。2.2實驗內(nèi)容的改進國內(nèi)外的一些經(jīng)典教材中,通常會采用一種模型語言的編譯程序作為實例,如呂映芝等人編著的編譯原理是以PL/0語言的編譯程序為范例,Alfred V. Aho等人編著的編譯原理先通過一個小的編譯程序范例給學生帶來對編譯程序的直觀感受。通過實例的學習,可以降低學生的學習難度,也可以輔助學生對原理加深理解。在設計實驗時,可以更大地發(fā)揮這些實例的作用,事先讓學生閱讀這些實例的源代碼,然后增加一個準

9、備性的實驗,要求學生結(jié)合已經(jīng)學習過C、C+或JAVA等高級程序設計語言,自行對詞法規(guī)則和語法規(guī)則的簡化和裁減,設計出適合自己實驗難度的模型語言,并給出文檔描述。通過安排這個準備實驗,促使學生復習必須的基礎知識,增加學生查閱資料的能力和閱讀源代碼的能力,在學生的認知結(jié)構(gòu)上起一個鋪墊的作用。詞法分析、語法分析試驗是編譯原理實驗的重點。在實驗內(nèi)容上,對一些比較復雜的實驗進行拆解。詞法分析實驗可以拆分成三個小實驗:設計源程序掃描器,去除空格和注釋及其他無關字符后得到單詞的集合;用自動機識別無符號數(shù)或某類單詞;設計識別關鍵詞、標識符等其他類型單詞的識別程序。對語法分析實驗,可以首先以典型的算術表達式文法

10、為例,設計一個算術表達式文法的遞歸子程序分析實驗,然后在此基礎上安排其他的語法分析實驗。這樣在內(nèi)容上也分成了若干層次,更加符合由簡單到復雜、由特殊到一般的認知規(guī)律,也能夠滿足不同知識結(jié)構(gòu)和能力水平的學生在實驗中都能得到鍛煉提高的目的。實驗難度的設計上應該體現(xiàn)出層次性,形成“階梯狀”的難度層次。每個實驗要求分為基本要求、較高要求和探索性實驗要求三個層次,基本要求即最低要求,所有學生都能完成的難度,鼓勵成績中上的學生完成較高要求,采用成績加分、表揚等一些激勵機制,提高興趣,為一些學有余力的同學準備探索性實驗。既能讓優(yōu)秀的學生“吃得飽”,也保證讓所有學生“吃得了”,避免一部分學生因缺乏難度挑戰(zhàn)失去興

11、趣而另一部分學生因門檻太高而無從下手的情況發(fā)生。比如在“利用自動機識別無符號數(shù)”的實驗設計上,基本要求是能夠識別整數(shù),較高要求是識別帶小數(shù)的無符號數(shù),更高要求是能識別帶指數(shù)形式的無符號數(shù),將這一實驗題目分成三個層次后,不同學習水平的學生都能夠在一個學時內(nèi)完成實驗,對自動機這一重要工具也有了初步認識,達到了實驗目的。2.3實驗組織形式的改進在實驗的組織上可以采用協(xié)同式學習,以小組為單位,通過教師所提供的實驗任務進行分析、討論,明確需要解決問題的方法,經(jīng)過一系列的協(xié)同學習活動,完成既定的任務,加深對所學知識的理解。這種組織形式可以培養(yǎng)學生的團隊協(xié)作能力和學生之間的相互交流和相互學習。因為學生之間的

12、年齡相仿、認知水平相似,交流起來會更加順暢和有效。在這個過程中能夠提高學生的參與感,而且通過團隊協(xié)作解決困難,會給學生更多的積極反饋和成就感。在實驗內(nèi)容的設計上,要便于學生進行協(xié)同工作,具有可操作性和合作性,確保小組中每個成員的任務飽滿。在小組分配上,根據(jù)學生的興趣讓其自由結(jié)合小組,再根據(jù)學生的學習能力做適當調(diào)整,根據(jù)學生的性格特質(zhì)等不同特點讓其在小組中承擔不同角色,如設計人員、開發(fā)人員、文檔撰寫人員以及兼任的匯報答辯人員等。實驗實施階段是協(xié)同模式中最重要的一個階段,在這個階段小組要對下達的實驗任務進行分析,明確任務的基本要求,掌握解決問題的方法及需要具備的知識,在教師的幫助指導下進行小組的內(nèi)部分工及職責的落實,進行協(xié)同學習,同時教師要對學生實驗完成情況進行及時的檢查和指導,直到最終共同完成小組的任務。傳統(tǒng)的獨立模式的實驗中對學生的評定比較簡單,根據(jù)個人的完成情況給出成績。采用分組式協(xié)同模式后,實驗成績的評判要做相應的調(diào)整,不僅要考核每個學生自己承擔的任務完成情況,還要考核小組共同完成情況??己说膬?nèi)容仍然包括程序和實驗報告,但除了對每個學生獨立完成的程序模塊進行檢查外,還需要對小組共同完成的整個任務情況進行驗收,可以采用匯報和答辯的形式進行,每個小組推選答辯人在面對所有學生進行匯報,然后接受教師和其他小組的提問并進行答辯,最終成績的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論