- 相關(guān)推薦
編譯原理實驗課程教學(xué)設(shè)計的改進論文
編譯原理課程是計算機科學(xué)與技術(shù)專業(yè)的重要專業(yè)課之一,課程內(nèi)容抽象,理論性較強,學(xué)生普遍反應(yīng)難學(xué)難懂,為此設(shè)置一定課時的實驗課,有助于幫助學(xué)生深入理解概念,提高學(xué)生的邏輯思維能力、實踐動手能力,有助于切實有效地提高學(xué)生的專業(yè)素質(zhì)。目前編譯原理課程的實驗設(shè)計通常是要求學(xué)生實現(xiàn)一個比較完整的編譯程序,或者將其拆分成詞法分析實驗、語法分析實驗和語義分析實驗等幾個部分,實驗內(nèi)容具有一定的難度,讓很多學(xué)生知難而退,難以達到預(yù)期的實驗效果。究其原因是在實驗設(shè)計上與學(xué)生的實際情況之間出現(xiàn)了諸多偏差,需要對實驗的設(shè)計和組織進行改進,以更好地提高編譯原理實驗課的教學(xué)效果。
1編譯課程實驗的問題
1.1學(xué)生對課程實驗定位存在認(rèn)知誤區(qū)
在教學(xué)實踐中發(fā)現(xiàn)很多學(xué)生對編譯原理實驗課程的認(rèn)識上存在很多誤區(qū),這些認(rèn)識誤區(qū)如果不加以及時糾正,加上課程內(nèi)容抽象、邏輯性強等特點,很容易加重學(xué)生的畏難情緒,產(chǎn)生一系列不利于課程學(xué)習(xí)的消極負(fù)面影響。
一種認(rèn)識誤區(qū)是簡單地認(rèn)為編譯原理的學(xué)習(xí)目的就是設(shè)計和開發(fā)編譯器,認(rèn)為畢業(yè)后很少有從事編譯器研發(fā)的機會,所以得出課程學(xué)了沒用的錯誤結(jié)論。實際上編譯原理包括的形式語言、自動機理論等語言定義、翻譯與實現(xiàn)的基礎(chǔ)知識,可以讓學(xué)生領(lǐng)悟到計算機理論的精髓,可以讓學(xué)生從程序編譯的角度重新審視軟件的開發(fā),有助于提高學(xué)生對軟件設(shè)計開發(fā)的認(rèn)識,對于今后從事應(yīng)用軟件、語言開發(fā)平臺甚至系統(tǒng)軟件的開發(fā)等都是非常有好處的。
另一種認(rèn)識誤區(qū)是將編譯的實驗混淆于普通的程序設(shè)計實驗,將實驗重點沒有放在算法的設(shè)計、原理的理解上,而是迷失在具體代碼實現(xiàn)的細(xì)節(jié)上。編譯原理課程是一個綜合性的專業(yè)課,編譯程序使用的一些數(shù)據(jù)結(jié)構(gòu)和算法是“數(shù)據(jù)結(jié)構(gòu)”、“離散數(shù)學(xué)”以及“算法設(shè)計與分析”等課程相關(guān)知識的典型應(yīng)用 ,能夠進一步加深了學(xué)生對相關(guān)課程知識的綜合運用和專業(yè)素質(zhì)的提升。
1.2實驗內(nèi)容設(shè)計缺少層次性
通常的編譯原理實驗課的教學(xué)設(shè)計,是將學(xué)生已經(jīng)學(xué)過的一種高級語言的詞法和語法進行簡化,作為實驗的模型語言。針對編譯過程的詞法分析、語法分析、語義分析與中間代碼生成、目標(biāo)代碼生成的四個重要階段,每個階段分別設(shè)計一個或多個實驗題目,最終合成一個完整的編譯程序。這樣設(shè)計實驗的好處是與授課內(nèi)容緊密結(jié)合,模塊分解清晰。但存在的問題是盡管對高級語言進行了簡化,每個實驗仍然存在著一系列的“難度階梯”需要學(xué)生跨越,如果在實驗的設(shè)計上僅從學(xué)科的理論體系上考慮,忽視了學(xué)生知識和能力水平的不同層次,只是一種理想化的設(shè)計,執(zhí)行起來勢必難以達到預(yù)期的實驗效果。
以詞法分析的實驗設(shè)計為例:實驗要求是給出某模型語言的文法規(guī)范,要求編寫該語言的詞法分析程序。輸入源程序文件,輸出關(guān)鍵詞、專用符號以及其它標(biāo)記。實驗過程是編寫主函數(shù)getToken,通過從文件中讀取字符到緩沖區(qū)中并由C語言字符的狀態(tài)轉(zhuǎn)換圖流程判斷返回一個字符(Token)。分析出來的單詞主要分為關(guān)鍵詞,專用符號,標(biāo)記符號等。
這個實驗是編譯階段的第一個實驗,在學(xué)生對編譯程序理解不深,很多思維方式和知識框架還沒有建立起來的情況下,給很多學(xué)生設(shè)置了一系列障礙,如形式化語言、有窮自動機的理論等,每一個障礙對于初學(xué)者都難度不小,這些問題同時出現(xiàn)在一個實驗中,會使相當(dāng)大一部分學(xué)生因難度過大而失去學(xué)習(xí)興趣。實際教學(xué)中學(xué)生對編譯程序的認(rèn)知是循序漸進的,很多概念和原理的理解不可能一步到位。而且學(xué)生的知識結(jié)構(gòu)、能力水平參差不齊,有的學(xué)生的先導(dǎo)課程如《數(shù)據(jù)結(jié)構(gòu)》、《高級程序設(shè)計語言》等知識學(xué)得不牢固,有些甚至已經(jīng)淡忘,因此在設(shè)計實驗時需要首先弄清楚學(xué)生的情況,然后再“對癥下藥”有側(cè)重點地進行實驗內(nèi)容的設(shè)計。
1.3實驗的組織形式比較單一
編譯原理的實驗組織形式通常是在機房每個學(xué)生一臺計算機,實驗課程開始后教師介紹實驗內(nèi)容、實驗?zāi)康暮蛯嶒炓蟮龋缓竺咳霜毩⑼瓿,從設(shè)計到實現(xiàn)都由學(xué)生自己進行,教師在實驗過程中隨時解答學(xué)生的疑問,最后學(xué)生調(diào)試完成程序后撰寫實驗報告,教師根據(jù)學(xué)生的程序和實驗報告給出分?jǐn)?shù)。這樣的實驗組織和成績的評判形式比較單一,整個過程由教師主導(dǎo),能夠訓(xùn)練學(xué)生個體的獨立思考能力和動手能力,但學(xué)生之間的交流不夠,實驗課的大部分時間都是學(xué)生埋頭寫程序,實驗課氣氛比較枯燥沉悶,對學(xué)生團隊協(xié)作能力的訓(xùn)練不夠。
2實驗教學(xué)設(shè)計的改進
2.1消除學(xué)生的認(rèn)識誤區(qū)
針對學(xué)生簡單地把編譯原理課程局限在編譯器設(shè)計上的認(rèn)識誤區(qū),教師在授課和實驗過程中需要注意結(jié)合實際中運用編譯技術(shù)的實例,比如常用的文本編輯工具中,很多帶有字詞的檢查和校驗功能,這就是編譯原理技術(shù)中詞法分析技術(shù)的具體應(yīng)用;很多應(yīng)用系統(tǒng)中對用戶輸入的字符串進行規(guī)則檢查時常用正則表達式;網(wǎng)絡(luò)搜索引擎對文檔資源進行特征分析、提取與描述等工作中都用到編譯的相關(guān)知識……通過各種現(xiàn)實生活中的實例讓學(xué)生明確編譯原理所學(xué)習(xí)的知識不僅是計算機專業(yè)理論知識的重要組成,而且編譯程序所使用的一些原理、方法和技術(shù)在非編譯系統(tǒng)的實際應(yīng)用中也發(fā)揮了很大作用。
在進行實驗設(shè)計時,除了原理性實驗,可以根據(jù)學(xué)生的興趣,安排一些應(yīng)用型的實驗,如簡單的智能輸入法的實現(xiàn)、識別某些單詞的簡單聊天機器人程序等,這樣的小實驗可以激發(fā)學(xué)生的學(xué)習(xí)興趣,學(xué)生在這些應(yīng)用性趣味實驗中遇到了困難,自然會進一步深入學(xué)習(xí)教材中的原理,這樣對基礎(chǔ)理論的掌握也會更加牢固。
2.2實驗內(nèi)容的改進
國內(nèi)外的一些經(jīng)典教材中,通常會采用一種模型語言的編譯程序作為實例,如呂映芝等人編著的《編譯原理》是以PL/0語言的編譯程序為范例,Alfred V. Aho等人編著的《編譯原理》先通過一個小的編譯程序范例給學(xué)生帶來對編譯程序的直觀感受。通過實例的學(xué)習(xí),可以降低學(xué)生的學(xué)習(xí)難度,也可以輔助學(xué)生對原理加深理解。在設(shè)計實驗時,可以更大地發(fā)揮這些實例的作用,事先讓學(xué)生閱讀這些實例的源代碼,然后增加一個準(zhǔn)備性的實驗,要求學(xué)生結(jié)合已經(jīng)學(xué)習(xí)過C、C++或JAVA等高級程序設(shè)計語言,自行對詞法規(guī)則和語法規(guī)則的簡化和裁減,設(shè)計出適合自己實驗難度的模型語言,并給出文檔描述。通過安排這個準(zhǔn)備實驗,促使學(xué)生復(fù)習(xí)必須的基礎(chǔ)知識,增加學(xué)生查閱資料的能力和閱讀源代碼的能力,在學(xué)生的認(rèn)知結(jié)構(gòu)上起一個鋪墊的作用。
詞法分析、語法分析試驗是編譯原理實驗的重點。在實驗內(nèi)容上,對一些比較復(fù)雜的實驗進行拆解。詞法分析實驗可以拆分成三個小實驗:設(shè)計源程序掃描器,去除空格和注釋及其他無關(guān)字符后得到單詞的集合;用自動機識別無符號數(shù)或某類單詞;設(shè)計識別關(guān)鍵詞、標(biāo)識符等其他類型單詞的識別程序。對語法分析實驗,可以首先以典型的算術(shù)表達式文法為例,設(shè)計一個算術(shù)表達式文法的遞歸子程序分析實驗,然后在此基礎(chǔ)上安排其他的語法分析實驗。這樣在內(nèi)容上也分成了若干層次,更加符合由簡單到復(fù)雜、由特殊到一般的認(rèn)知規(guī)律,也能夠滿足不同知識結(jié)構(gòu)和能力水平的學(xué)生在實驗中都能得到鍛煉提高的目的。
實驗難度的設(shè)計上應(yīng)該體現(xiàn)出層次性,形成“階梯狀”的難度層次。每個實驗要求分為基本要求、較高要求和探索性實驗要求三個層次,基本要求即最低要求,所有學(xué)生都能完成的難度,鼓勵成績中上的學(xué)生完成較高要求,采用成績加分、表揚等一些激勵機制,提高興趣,為一些學(xué)有余力的同學(xué)準(zhǔn)備探索性實驗。既能讓優(yōu)秀的學(xué)生“吃得飽”,也保證讓所有學(xué)生“吃得了”,避免一部分學(xué)生因缺乏難度挑戰(zhàn)失去興趣而另一部分學(xué)生因門檻太高而無從下手的情況發(fā)生。比如在“利用自動機識別無符號數(shù)”的實驗設(shè)計上,基本要求是能夠識別整數(shù),較高要求是識別帶小數(shù)的無符號數(shù),更高要求是能識別帶指數(shù)形式的無符號數(shù),將這一實驗題目分成三個層次后,不同學(xué)習(xí)水平的學(xué)生都能夠在一個學(xué)時內(nèi)完成實驗,對自動機這一重要工具也有了初步認(rèn)識,達到了實驗?zāi)康摹?/p>
2.3實驗組織形式的改進
在實驗的組織上可以采用協(xié)同式學(xué)習(xí),以小組為單位,通過教師所提供的實驗任務(wù)進行分析、討論,明確需要解決問題的方法,經(jīng)過一系列的協(xié)同學(xué)習(xí)活動,完成既定的任務(wù),加深對所學(xué)知識的理解。這種組織形式可以培養(yǎng)學(xué)生的團隊協(xié)作能力和學(xué)生之間的相互交流和相互學(xué)習(xí)。因為學(xué)生之間的年齡相仿、認(rèn)知水平相似,交流起來會更加順暢和有效。在這個過程中能夠提高學(xué)生的參與感,而且通過團隊協(xié)作解決困難,會給學(xué)生更多的積極反饋和成就感。
在實驗內(nèi)容的設(shè)計上,要便于學(xué)生進行協(xié)同工作,具有可操作性和合作性,確保小組中每個成員的任務(wù)飽滿。在小組分配上,根據(jù)學(xué)生的興趣讓其自由結(jié)合小組,再根據(jù)學(xué)生的學(xué)習(xí)能力做適當(dāng)調(diào)整,根據(jù)學(xué)生的性格特質(zhì)等不同特點讓其在小組中承擔(dān)不同角色,如設(shè)計人員、開發(fā)人員、文檔撰寫人員以及兼任的匯報答辯人員等。實驗實施階段是協(xié)同模式中最重要的一個階段,在這個階段小組要對下達的實驗任務(wù)進行分析,明確任務(wù)的基本要求,掌握解決問題的方法及需要具備的知識,在教師的幫助指導(dǎo)下進行小組的內(nèi)部分工及職責(zé)的落實,進行協(xié)同學(xué)習(xí),同時教師要對學(xué)生實驗完成情況進行及時的檢查和指導(dǎo),直到最終共同完成小組的任務(wù)。
傳統(tǒng)的獨立模式的實驗中對學(xué)生的評定比較簡單,根據(jù)個人的完成情況給出成績。采用分組式協(xié)同模式后,實驗成績的評判要做相應(yīng)的調(diào)整,不僅要考核每個學(xué)生自己承擔(dān)的任務(wù)完成情況,還要考核小組共同完成情況?己说膬(nèi)容仍然包括程序和實驗報告,但除了對每個學(xué)生獨立完成的程序模塊進行檢查外,還需要對小組共同完成的整個任務(wù)情況進行驗收,可以采用匯報和答辯的形式進行,每個小組推選答辯人在面對所有學(xué)生進行匯報,然后接受教師和其他小組的提問并進行答辯,最終成績的評定除了個人評定之外還有小組評定,對小組成績進行排序以鼓勵小組間的競爭。
3總結(jié)
為了在編譯原理實驗課中達到教學(xué)目標(biāo),根據(jù)發(fā)現(xiàn)的問題對實驗課教學(xué)設(shè)計進行改進:采用應(yīng)用型實驗激發(fā)學(xué)生的興趣,消除對課程的認(rèn)識誤區(qū);重新設(shè)計和組織實驗內(nèi)容,更加符合學(xué)生的學(xué)習(xí)規(guī)律;采用協(xié)同方式組織實驗培養(yǎng)學(xué)生的團隊合作能力。這些改進措施已經(jīng)在教學(xué)實踐中采用,結(jié)果表明有助于降低學(xué)生學(xué)習(xí)過程中的困難,增強學(xué)習(xí)興趣,提高實驗教學(xué)的質(zhì)量。
【編譯原理實驗課程教學(xué)設(shè)計的改進論文】相關(guān)文章:
課程設(shè)計教學(xué)設(shè)計參考,課程設(shè)計教學(xué)設(shè)計參考論文12-28
功的原理教學(xué)設(shè)計04-25
《抽屜原理》教學(xué)設(shè)計02-13
《抽屜原理》教學(xué)設(shè)計03-09
抽屜原理教學(xué)設(shè)計06-27
抽屜原理教學(xué)設(shè)計11-09
抽屜原理教學(xué)設(shè)計11-09
環(huán)境科學(xué)專業(yè)實驗課程教學(xué)探索論文(精選5篇)08-15
綜合課程設(shè)計論文08-28