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