資源描述:
《“編譯原理”課程的教學(xué)探討》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、“編譯原理”課程的教學(xué)探討編譯原理課程的教學(xué)探討 計(jì)算機(jī)語(yǔ)言之所以能由單一的機(jī)器語(yǔ)言發(fā)展到現(xiàn)今的多種高級(jí)語(yǔ)言,就是因?yàn)橛辛司幾g技術(shù),它是計(jì)算機(jī)科學(xué)與技術(shù)中發(fā)展最迅速、最成熟的一個(gè)分支。編譯原理是計(jì)算機(jī)專業(yè)中一門(mén)非常有用的核心課程,綜合運(yùn)用編譯理論及多門(mén)前修課程如數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、操作系統(tǒng)等課程的相關(guān)知識(shí)來(lái)解決高級(jí)語(yǔ)言在機(jī)器上編譯的一門(mén)課程。該課程的目的是在于系統(tǒng)地向?qū)W生講述編譯系統(tǒng)的結(jié)構(gòu)、工作流程以及編譯程序各組成部分的設(shè)計(jì)原理和實(shí)現(xiàn)技術(shù),使學(xué)生通過(guò)本課程的學(xué)習(xí),既掌握編譯理論和方法方面的基本知識(shí),同時(shí)也獲得設(shè)計(jì)、分析和移植編
2、譯程序方面的初步能力,進(jìn)而提高學(xué)生設(shè)計(jì)多種軟件的素質(zhì)?! ?當(dāng)前教學(xué)中存在的問(wèn)題 由于這門(mén)課程理論性強(qiáng),內(nèi)容豐富抽象,具有嚴(yán)密的邏輯性,使用到其它課程的知識(shí)較多,因此成為計(jì)算機(jī)專業(yè)諸課程中既難教又難學(xué)的一門(mén)課程。目前該課程在教學(xué)過(guò)程中主要存在以下問(wèn)題: 1)課程內(nèi)容抽象難理解 編譯程序不同于一般的應(yīng)用程序,是一個(gè)十分龐大和復(fù)雜的系統(tǒng)軟件,它所包含的理論知識(shí)較多,抽象度也較高,要求教師在有限的課時(shí)內(nèi)將課程內(nèi)容講解清楚,并使學(xué)生接受理解是有難度的?! ?)基于面向過(guò)程語(yǔ)言的描述模型 目前,這門(mén)課程中的算法和模型描述是用PASC
3、AL語(yǔ)言或者C語(yǔ)言等面向過(guò)程語(yǔ)言。雖然個(gè)別教材加入了少量關(guān)于面向?qū)ο笳Z(yǔ)言編譯技術(shù)的內(nèi)容,那也是稍加點(diǎn)綴而已,用途較小。然而,面向?qū)ο笳Z(yǔ)言已經(jīng)成了高校計(jì)算機(jī)教學(xué)的主流語(yǔ)言,社會(huì)上大量使用的也是面向?qū)ο笳Z(yǔ)言,而我們的編譯原理教學(xué)仍然沿襲舊的面向過(guò)程語(yǔ)言,這種現(xiàn)象嚴(yán)重脫離了計(jì)算機(jī)技術(shù)發(fā)展和社會(huì)實(shí)際需要。 3)課程實(shí)驗(yàn)設(shè)計(jì)不合理 目前,大多數(shù)高校在編譯原理課程的實(shí)驗(yàn)內(nèi)容上基本上都是要求學(xué)生能上機(jī)實(shí)現(xiàn)一個(gè)小型模型語(yǔ)言的完整編譯程序,或者是分四個(gè)單獨(dú)的實(shí)驗(yàn)(詞法一個(gè)實(shí)驗(yàn),語(yǔ)法三個(gè)實(shí)驗(yàn)),它們的目的是讓學(xué)生加深理解一些編譯理論與算法,這對(duì)于
4、一部分學(xué)生來(lái)說(shuō)是不能完成的任務(wù),也不能激發(fā)他們的興趣(他們認(rèn)為學(xué)習(xí)編譯原理就是為了設(shè)計(jì)編譯器),造成很大部分學(xué)生在動(dòng)手之前就早早放棄了努力,也就不能達(dá)到預(yù)期的實(shí)驗(yàn)效果。 4)教學(xué)手段陳舊 目前,編譯原理課程主要以理論教學(xué)為主,課時(shí)主要用于形式語(yǔ)言理論與各種語(yǔ)法分析算法、語(yǔ)義分析技術(shù)的講授上,缺乏對(duì)實(shí)際編譯器的分析。同時(shí),在講解的時(shí)候一般沒(méi)有輔之以其它形象生動(dòng)的教學(xué)手段,對(duì)學(xué)生是采用灌輸式的教學(xué)模式,而沒(méi)有采用啟發(fā)式、討論式等多種教學(xué)模式,因此學(xué)生覺(jué)得授課內(nèi)容枯燥乏味,激不起他們學(xué)習(xí)的興趣?! ?)教學(xué)大綱統(tǒng)一 目前,每個(gè)高校
5、計(jì)算機(jī)相關(guān)專業(yè)包括計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程等,學(xué)生也存在不同的層次包括統(tǒng)招的一本、二本學(xué)生,以及專升本學(xué)生等。不同專業(yè)有不同的培養(yǎng)目標(biāo),不同的生源造成學(xué)生知識(shí)背景和自身素質(zhì)也有差異。在這種情況下,在編譯原理課程教學(xué)過(guò)程中實(shí)行統(tǒng)一的教學(xué)大綱顯然不合適?! ?)學(xué)生學(xué)習(xí)興趣不濃 目前,學(xué)生普遍認(rèn)為學(xué)習(xí)編譯原理就是為了設(shè)計(jì)編譯器,而大部分學(xué)生今后從事編譯器設(shè)計(jì)工作的可能性較小,因此覺(jué)得沒(méi)必要學(xué)。另外,目前面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言已經(jīng)成為了主流,認(rèn)為課程主要講授面向過(guò)程的程序設(shè)計(jì)語(yǔ)言的處理已經(jīng)落伍,因此失去了學(xué)習(xí)興趣?! ⌒纬?/p>
6、以上這些問(wèn)題的原因既有主觀的也有客觀的,這些問(wèn)題在我校的編譯原理教學(xué)過(guò)程中也都不同程度地存在。為此,對(duì)編譯原理課程的教學(xué)內(nèi)容和教學(xué)方法進(jìn)行探討是十分必要的、有意義的。 2需要解決的問(wèn)題 1)課程內(nèi)容的調(diào)整 編譯原理課程內(nèi)容豐富抽象,理論性和邏輯性很強(qiáng),所以很多學(xué)生在學(xué)習(xí)時(shí)普遍感到枯燥、乏味,難理解,激不起學(xué)習(xí)興趣。為此,需要對(duì)課程內(nèi)容合理安排以便收到較好的教學(xué)效果。 a)抓住重點(diǎn),分清主次 由于課程內(nèi)容涉及較多,學(xué)生往往抓不住重點(diǎn),分不清主次,結(jié)果導(dǎo)致勞而無(wú)功。為此,需要根據(jù)專業(yè)的不同,學(xué)生層次的不同,在不影響對(duì)編譯系統(tǒng)
7、理解的情況下,合理安排授課內(nèi)容,切不可造成統(tǒng)一重點(diǎn)的教學(xué)、統(tǒng)一層次的教學(xué)、統(tǒng)一大綱的教學(xué)現(xiàn)象。 b)范例式編譯器的剖析 為了幫助學(xué)生對(duì)編譯思想和方法的理解,應(yīng)在教學(xué)過(guò)程中增加一部分內(nèi)容,即對(duì)一個(gè)范例式編譯器進(jìn)行剖析。該范例式編譯器應(yīng)采用教學(xué)中涉及到的典型編譯思想與方法。學(xué)生在教師的指導(dǎo)下對(duì)實(shí)際編譯器代碼進(jìn)行閱讀,將使學(xué)生對(duì)抽象的編譯理論與算法有更深刻的認(rèn)識(shí),從而達(dá)到較好的教學(xué)效果?! )面向?qū)ο笫秸Z(yǔ)言的描述模型 當(dāng)前,面向?qū)ο笫秸Z(yǔ)言已成為主流,而目前課程中的內(nèi)容卻是圍繞面向過(guò)程式語(yǔ)言展開(kāi)的。為此,需要在教學(xué)過(guò)程中增加一部分
8、內(nèi)容,即選擇某個(gè)對(duì)象式語(yǔ)言來(lái)描述典型的編譯算法。但就目前來(lái)看,以面向?qū)ο笳Z(yǔ)言作為源語(yǔ)言來(lái)重新組織編譯原理的教學(xué)內(nèi)容并不合適。在教學(xué)過(guò)程中應(yīng)向?qū)W生指明這一點(diǎn),使之有個(gè)正確的認(rèn)識(shí)。 2)實(shí)踐環(huán)節(jié)的設(shè)計(jì) 編譯原理也是一門(mén)實(shí)踐性較強(qiáng)的課程,只有通過(guò)實(shí)踐