資源描述:
《“編譯原理”教學(xué)實(shí)踐探究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、“編譯原理”教學(xué)實(shí)踐探究摘要:教學(xué)需要“教”與“學(xué)”雙方的密切配合。樹(shù)立“學(xué)生為主體、教師為主導(dǎo)”的良好教學(xué)關(guān)系,是成功教學(xué)的關(guān)鍵。本文根據(jù)“編譯原理”課程的特點(diǎn),提出應(yīng)用啟發(fā)式教學(xué)的思想,提高學(xué)生在學(xué)習(xí)中的主體地位,多方面增強(qiáng)學(xué)生的學(xué)習(xí)興趣。文章結(jié)合筆者17年的“編譯原理”課程教學(xué)實(shí)踐經(jīng)驗(yàn),總結(jié)了開(kāi)展啟發(fā)教學(xué)、提高教學(xué)質(zhì)量的一些粗淺策略。關(guān)鍵詞:編譯原理;文法;有窮自動(dòng)機(jī);下推自動(dòng)機(jī);啟發(fā)教學(xué);教學(xué)策略教書(shū)育人是教師的天職。教學(xué),顧名思義,包含“教”和“學(xué)”兩個(gè)方面。教師需要“教”給學(xué)生知識(shí)和方法;而學(xué)生是學(xué)習(xí)的主體。我們要取
2、得好的教學(xué)效果,首先要激發(fā)學(xué)牛的學(xué)習(xí)興趣。良好的開(kāi)端是成功的一半。開(kāi)課伊始就讓學(xué)生產(chǎn)生學(xué)習(xí)熱情、學(xué)習(xí)興趣是非常重要的。兩千多年前,孔子曾說(shuō)過(guò):“知Z者不如好Z者,好Z者不如樂(lè)之者?!币馑际嵌盟娜?,不如愛(ài)好它的人;愛(ài)好它的人,又不如以它為樂(lè)的人。愛(ài)因斯坦也說(shuō)過(guò):“興趣是最好的老師?!睂W(xué)生感興趣T,教學(xué)就成功了一大半。1?“編譯原理”課程概述“編譯原理”課程是計(jì)算機(jī)科學(xué)專業(yè)的一門重要核心課程。計(jì)算機(jī)語(yǔ)言之所以能由單一的機(jī)器語(yǔ)言發(fā)展到今天的數(shù)千種高級(jí)語(yǔ)言,是因?yàn)橛辛司幾g技術(shù)。自從20世紀(jì)50年代早期第一個(gè)編譯器出現(xiàn)以來(lái),編譯技術(shù)成
3、為計(jì)算機(jī)科學(xué)中發(fā)展最迅速、最成熟的重要分支。自1966年設(shè)立圖靈獎(jiǎng)以來(lái),程序設(shè)計(jì)語(yǔ)言、編譯理論與方法方面的得獎(jiǎng)成果約占總數(shù)的l/3o可見(jiàn),程序語(yǔ)言及其編譯的研究在計(jì)算機(jī)科學(xué)屮始終處于非常重要的地位?!熬幾g”是將高級(jí)語(yǔ)言描述的程序轉(zhuǎn)換成與Z等價(jià)的低級(jí)語(yǔ)言表達(dá)的程序。在編譯系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中,用到計(jì)算學(xué)科的很多基本原理、技術(shù)和方法。AlfredVAho編寫的編譯教材作為編譯課程方面的經(jīng)典教材,被奉為“龍書(shū)”。他在該書(shū)第一章的第一句話提到:“編寫編譯器的原理和技術(shù)具有十分普遍的意義,以至于在每個(gè)計(jì)算機(jī)科學(xué)家的研究生涯中,本書(shū)中的原理和
4、技術(shù)都會(huì)反復(fù)用到?!北本┕I(yè)大學(xué)的蔣宗禮教授認(rèn)為,編譯課程是計(jì)算機(jī)專業(yè)最為恰當(dāng)、有效的知識(shí)載體之一。2?“編譯原理”課程在整個(gè)課程體系中的地位和作用從計(jì)算機(jī)應(yīng)用的發(fā)展來(lái)看,編譯技術(shù)在其屮發(fā)揮著極其重要且不可替代的作用。正是在編譯技術(shù)的支持下,程序設(shè)計(jì)才從以繁瑣的低級(jí)語(yǔ)言為工具,發(fā)展到以接近自然語(yǔ)言和數(shù)學(xué)語(yǔ)言的高級(jí)程序設(shè)計(jì)語(yǔ)言為工具,軟件開(kāi)發(fā)也從模塊化的軟件開(kāi)發(fā)方法發(fā)展到了面向?qū)ο蟮拈_(kāi)發(fā)方法。編譯技術(shù)的發(fā)展極大地提高了軟件開(kāi)發(fā)的效率,深刻地影響看軟件開(kāi)發(fā)方法的變革,推動(dòng)著計(jì)算機(jī)應(yīng)用不斷地向社會(huì)的方方面面延伸。編譯程序作為符號(hào)處理系
5、統(tǒng),廣泛應(yīng)用到其他軟件的設(shè)計(jì)中。例如,編譯在反病毒中的應(yīng)用:對(duì)于高級(jí)文本語(yǔ)言類的文件(如網(wǎng)頁(yè)類文件),應(yīng)用編譯技術(shù)的詞法分析和語(yǔ)法分析原理,可準(zhǔn)確快速地定位病毒代碼,從而構(gòu)造反病毒程序。編譯在機(jī)器翻譯系統(tǒng)和文木分類中的應(yīng)用:機(jī)器翻譯系統(tǒng)又稱為語(yǔ)言翻譯系統(tǒng),輸入是一種語(yǔ)言,輸出是功能上等價(jià)的另外一種語(yǔ)言。例如,中文和日文的相互翻譯。文本分類是把互聯(lián)網(wǎng)上的海量信息進(jìn)行分類,便于閱讀。它們都離不開(kāi)編譯中的詞法分析和語(yǔ)法分析技術(shù)?!熬幾g原理”課程含有基本問(wèn)題求解的典型思路和方法,通過(guò)本課程的學(xué)習(xí),使學(xué)生容易理解和掌握“問(wèn)題、形式化描述、
6、自動(dòng)化(計(jì)算機(jī)化)”的解題思路,培養(yǎng)學(xué)生的形式化描述和抽象思維能力。繼程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)與算法等課程后,該課程使學(xué)牛從系統(tǒng)層面上對(duì)算法和程序進(jìn)行再認(rèn)識(shí),提高學(xué)生對(duì)“程序設(shè)計(jì)語(yǔ)言”、“操作系統(tǒng)”、“計(jì)算機(jī)原理和體系結(jié)構(gòu)”等課程知識(shí)的綜合理解。該課程理論的學(xué)習(xí)不應(yīng)僅局限在構(gòu)造高級(jí)程序設(shè)計(jì)語(yǔ)言編譯器方面,還應(yīng)把教學(xué)的重點(diǎn)放在培養(yǎng)專業(yè)素質(zhì)、訓(xùn)練抽象思維的層面上。在編譯課程的教學(xué)屮,結(jié)合編譯理論和技術(shù)屮的經(jīng)典案例,培養(yǎng)學(xué)生的計(jì)算思維。例如,抽象計(jì)算思維方法運(yùn)用自動(dòng)機(jī)和形式語(yǔ)言文法的形式化工具,把詞法分析和語(yǔ)法分析問(wèn)題的本質(zhì)抽象出來(lái),從而可
7、以發(fā)現(xiàn)解決該問(wèn)題的自動(dòng)化方法。自動(dòng)化計(jì)算思維方法在計(jì)算機(jī)上實(shí)現(xiàn)抽象的結(jié)果,詞法分析環(huán)節(jié)的有窮狀態(tài)自動(dòng)機(jī)、語(yǔ)法分析環(huán)節(jié)的LR分析法都是經(jīng)典的編譯方法,它們是在抽象的基礎(chǔ)上對(duì)分析表進(jìn)行處理的算法。編譯器的自動(dòng)生成工具的設(shè)計(jì)正是體現(xiàn)了自動(dòng)化的思維方法。3?啟發(fā)式教學(xué)的設(shè)計(jì)及實(shí)施師者,傳道授業(yè)解惑也?!皞鞯馈本褪求w會(huì)學(xué)生在想什么,能夠啟發(fā)、引誘學(xué)生提高興趣;“解惑”并非簡(jiǎn)單地解答疑惑,好老師會(huì)幫助學(xué)生知道什么是“惑”,引導(dǎo)學(xué)生一步步地去探究,真正調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣,發(fā)揮個(gè)人的潛能,從而達(dá)到“解惑”的冃的。愛(ài)因斯坦曾經(jīng)說(shuō)過(guò),一個(gè)人的成功不
8、是解決問(wèn)題,最重要的是提出問(wèn)題。教師是教學(xué)的組織者和實(shí)施者,如何激勵(lì)學(xué)生的學(xué)習(xí)積極性、幫助學(xué)生積極地獲取知識(shí)和技能,使學(xué)生獲得綜合運(yùn)用知識(shí)能力等,這些對(duì)教師來(lái)說(shuō)更具挑戰(zhàn)性。在計(jì)算機(jī)學(xué)科中,“編譯原理”是公認(rèn)較難也是非常重要的一門專業(yè)課程。如形式語(yǔ)言、自動(dòng)機(jī)理論、