編譯原理是一門研究設(shè)計和構(gòu)造編譯程序原理和方法的課程,是計算機(jī)專業(yè)的一門重要的專業(yè)基礎(chǔ)課。同時編譯程序也是復(fù)雜的系統(tǒng)軟件,因而就給這門課程的教學(xué)和學(xué)習(xí)帶來了非常大的困難和困惑。筆者結(jié)合當(dāng)前編譯原理教學(xué)現(xiàn)狀和本人的一些教學(xué)經(jīng)驗對該課程的教學(xué)提出幾點設(shè)想。
編譯原理的教學(xué)現(xiàn)狀
編譯原理這門課程的內(nèi)容太抽象,理論性較強(qiáng)[1],對于學(xué)生來說是難于理解與學(xué)習(xí);對于教師而言是難教。根據(jù)筆者的調(diào)查研究發(fā)現(xiàn),“編譯原理”這門課程在教與學(xué)上之所以會出現(xiàn)這種問題,主要的原因由以下幾個方面:
首先,“編譯原理”課程作為是計算機(jī)專業(yè)學(xué)生的一門專業(yè)課程,內(nèi)容抽象,理論性強(qiáng),而且對前面所學(xué)的相關(guān)計算機(jī)基礎(chǔ)課依賴性大,需要學(xué)習(xí)者有一定的基礎(chǔ)和學(xué)習(xí)積極性,而課程本身的理解困難和抽象,也使得學(xué)生對這門課程產(chǎn)生了畏懼心理,尤其是學(xué)生掌握這門課程感到很吃力,產(chǎn)生所學(xué)的內(nèi)容與他們實際的需要有較大的距離。認(rèn)識上的偏差,使學(xué)生極易產(chǎn)生厭學(xué)情緒,同時也會失去學(xué)習(xí)的興趣。其次,編譯原理實驗環(huán)節(jié)比較薄弱。由于缺少實踐過程,學(xué)生的學(xué)習(xí)僅局限于書本,碰到不理解的問題雖經(jīng)過老師的講解,但對知識的理解仍是一知半解,缺少去驗證書本上的知識和自己動手去實驗的過程。最后,教學(xué)手段單一、理論與實際脫節(jié)。由于課程自身技術(shù)的原因,使得許多現(xiàn)代教學(xué)手段很難在教學(xué)過程中得到應(yīng)用。
關(guān)于編譯原理課程理論教學(xué)的幾點建議
(1)鼓勵學(xué)生打好基礎(chǔ),掌握好與該課程相關(guān)的前期課程的知識。這些課程中最主要的有:《C語言》、《匯編語言和程序設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》、《程序設(shè)計方法》等。如果這些基礎(chǔ)的計算機(jī)知識都沒有掌握好,就要學(xué)好編譯原理是不可能的。
(2)根據(jù)學(xué)生的實際情況,合理選用教材和參考書,盡量保持教學(xué)內(nèi)容的實踐性和先進(jìn)性。國內(nèi)外編譯原理教材多種多樣,比較著名的有由美國Kenneth編著,機(jī)械工業(yè)出版社出版的《編譯原理及實踐》以及由張素琴編著,清華大學(xué)出版社出版的《編譯原理(第2版)》,這些教材都可作為面向計算機(jī)科學(xué)研究方向的綜合性大學(xué)教材和面向計算機(jī)應(yīng)用方向的工科院校教材。教材的多種多樣為學(xué)習(xí)提供了多種選擇機(jī)會,但教師必須根據(jù)學(xué)生的實際情況來選擇教材,同時注意編譯原理的及時更新性和發(fā)展性。一本切合實際好的教材會直接影響教學(xué)的效果。
(3)幫助學(xué)生克服畏懼心理。根據(jù)“編譯原理”這門專業(yè)課程的特點,首要任務(wù)是幫助學(xué)生克服畏懼心理,才能發(fā)揮他們的學(xué)習(xí)主動性[2]。在上課之前先了解學(xué)生以往所學(xué)的計算機(jī)相關(guān)課程,幫助他們分析已經(jīng)掌握的知識和知識的體系結(jié)構(gòu),讓學(xué)生對自己所掌握的知識有足夠的了解,肯定他們自己所具有的能力。讓學(xué)生明白“編譯原理”課程的專業(yè)特點,知道以他們已經(jīng)掌握的計算機(jī)知識,有足夠的能力學(xué)習(xí)掌握“編譯原理”這門課程的知識和技能。通過課堂和實驗,不斷灌輸上述觀念,幫助學(xué)生克服畏懼心理,建立信心,變被動地接受知識為主動地去學(xué)習(xí)。
(4)利用現(xiàn)代化教學(xué)設(shè)施,精心制作電子課件,開展多媒體教學(xué)?!熬幾g原理”課程的內(nèi)容抽象,知識點多,信息量大。文中有大量分析表和關(guān)系表的文字?jǐn)⑹觯斫馄饋碛幸欢ǖ碾y度。如果采用傳統(tǒng)的教學(xué)形式,必將耗費大量的時間在圖表的繪制和文字的書寫上,從而影響到教學(xué)的效率和效果。因此,教師應(yīng)精心編排和制作教學(xué)用電子幻燈片。對于學(xué)生難于理解的內(nèi)容,比如像詞法分析,語法分析的相關(guān)內(nèi)容應(yīng)將分析過程和思路通過動畫的形式表示出來,以便于學(xué)生的理解與記憶。同時,結(jié)合板書靈活、可以隨機(jī)應(yīng)變,的特點,在教學(xué)中將多媒體教學(xué)與傳統(tǒng)教學(xué)的結(jié)合,以達(dá)到最好的教學(xué)效果。
關(guān)于編譯原理實驗教學(xué)幾點看法
編譯原理實驗是大多數(shù)學(xué)校教學(xué)的薄弱環(huán)節(jié)。其原因:①學(xué)生、教師不重視實驗;②教師、學(xué)生對編譯程序的代碼不熟悉。
(1)獨立設(shè)立實驗課。編譯原理是實踐性很強(qiáng)的課程,通過實踐學(xué)習(xí)編譯原理的知識應(yīng)該是最佳途徑。獨立設(shè)實驗課,就是實驗教學(xué)不再依附于理論教學(xué)。它獨立開課,獨立考核,形成標(biāo)準(zhǔn)的編譯原理實驗教學(xué)體系。建立一套完整的實驗教學(xué)計劃、實驗教學(xué)大綱、實驗教材,單獨設(shè)定學(xué)分,規(guī)定計劃實驗學(xué)時。按照大綱,根據(jù)現(xiàn)有的實驗條件,制定出切實可行的實驗教學(xué)內(nèi)容。將驗證性實驗和設(shè)計性實驗以及綜合性實驗科學(xué)分配。學(xué)生可以通過驗證性實驗,掌握編譯程序的基本原理。設(shè)計性實驗和綜合性實驗可以培養(yǎng)學(xué)生的動手能力和綜合應(yīng)用知識的能力,充分發(fā)揮學(xué)生的主觀能動性,激發(fā)學(xué)生的學(xué)習(xí)編譯原理的興趣和熱情。
(2)加強(qiáng)實驗教學(xué)的組織與管理。學(xué)生是主體,教師是主導(dǎo)。教師簡明扼要地講授實驗理論知識、實驗?zāi)康?、實驗?nèi)容、重點和難點、注意事項,然后讓學(xué)生進(jìn)行實驗,實驗過程中,出現(xiàn)問題一般由學(xué)生自主研究解決,教師僅作啟發(fā)性提示和引導(dǎo)。在實驗課程性質(zhì)上分必做實驗與選做實驗,在方式上變定時封閉式教學(xué)為靈活開放式教學(xué),并建立BBS互動教學(xué)平臺或提供優(yōu)秀論壇網(wǎng)址,增強(qiáng)與學(xué)生的交流。
編譯原理課程教學(xué)的優(yōu)化改進(jìn)應(yīng)適應(yīng)課程教學(xué)改革和專業(yè)發(fā)展的實際需要,切實貫徹該課程的本科教學(xué)大綱和基本要求,不斷地完善教學(xué)活動的各個環(huán)節(jié)。在傳授學(xué)生編譯原理理論的同時,真正培養(yǎng)學(xué)生在系統(tǒng)軟件開發(fā)方面的綜合能力。
參考文獻(xiàn):
[1]呂映芝,張素琴,蔣維杜.編譯原理[M].北京:清華大學(xué)出版社,2002.1-3.
[2]李小妹.“編譯原理”課程教學(xué)探討[J].廣州:廣東工業(yè)大學(xué)學(xué)報(社會科學(xué)版),2007(7):117-118.
作者單位:新疆農(nóng)業(yè)大學(xué)計算機(jī)與信息工程學(xué)院