国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“編譯原理”課程的教學(xué)探討

2012-04-29 20:31:22吳其林
電腦知識與技術(shù) 2012年2期
關(guān)鍵詞:編譯原理教學(xué)內(nèi)容教學(xué)方法

吳其林

摘要:“編譯原理”是計算機專業(yè)中一門非常有用的核心課程,針對“編譯原理”課程教學(xué)過程存在的問題,結(jié)合實際的教學(xué)情況,對“編譯原理”課程的教學(xué)內(nèi)容和方法進行了探討,提出了解決思路和方法。

關(guān)鍵詞:編譯原理;教學(xué)內(nèi)容;教學(xué)方法

中圖分類號:TP314文獻標識碼:A文章編號:1009-3044(2012)02-0408-03

Discussions on Teaching“Compiler Principles”

WU Qi-lin

(Computer and Information Engineering Institute, Chaohu University, Chaohu 238000, China)

Abstract:“Compiler principles”is a useful course and plays an important role in computer majors. As for the existing problems in teaching procedure, this paper discusses the teaching contents and methods of“Compiler principles”and proposes the ideas and methods to solve the existing problems with the help of practical teaching situation.

Key words: compiler principles; teaching content; teaching method

計算機語言之所以能由單一的機器語言發(fā)展到現(xiàn)今的多種高級語言,就是因為有了編譯技術(shù),它是計算機科學(xué)與技術(shù)中發(fā)展最迅速、最成熟的一個分支?!熬幾g原理”是計算機專業(yè)中一門非常有用的核心課程,綜合運用編譯理論及多門前修課程如“數(shù)據(jù)結(jié)構(gòu)”、“離散數(shù)學(xué)”、“操作系統(tǒng)”等課程的相關(guān)知識來解決高級語言在機器上編譯的一門課程。該課程的目的是在于系統(tǒng)地向?qū)W生講述編譯系統(tǒng)的結(jié)構(gòu)、工作流程以及編譯程序各組成部分的設(shè)計原理和實現(xiàn)技術(shù),使學(xué)生通過本課程的學(xué)習(xí),既掌握編譯理論和方法方面的基本知識,同時也獲得設(shè)計、分析和移植編譯程序方面的初步能力,進而提高學(xué)生設(shè)計多種軟件的素質(zhì)。

1當(dāng)前教學(xué)中存在的問題

由于這門課程理論性強,內(nèi)容豐富抽象,具有嚴密的邏輯性,使用到其它課程的知識較多,因此成為計算機專業(yè)諸課程中既難教又難學(xué)的一門課程。目前該課程在教學(xué)過程中主要存在以下問題:

1)課程內(nèi)容抽象難理解

編譯程序不同于一般的應(yīng)用程序,是一個十分龐大和復(fù)雜的系統(tǒng)軟件,它所包含的理論知識較多,抽象度也較高,要求教師在有限的課時內(nèi)將課程內(nèi)容講解清楚,并使學(xué)生接受理解是有難度的。

2)基于面向過程語言的描述模型

目前,這門課程中的算法和模型描述是用PASCAL語言或者C語言等面向過程語言。雖然個別教材加入了少量關(guān)于面向?qū)ο笳Z言編譯技術(shù)的內(nèi)容,那也是稍加點綴而已,用途較小。然而,面向?qū)ο笳Z言已經(jīng)成了高校計算機教學(xué)的主流語言,社會上大量使用的也是面向?qū)ο笳Z言,而我們的編譯原理教學(xué)仍然沿襲舊的面向過程語言,這種現(xiàn)象嚴重脫離了計算機技術(shù)發(fā)展和社會實際需要。

3)課程實驗設(shè)計不合理

目前,大多數(shù)高校在“編譯原理”課程的實驗內(nèi)容上基本上都是要求學(xué)生能上機實現(xiàn)一個小型模型語言的完整編譯程序,或者是分四個單獨的實驗(詞法一個實驗,語法三個實驗),它們的目的是讓學(xué)生加深理解一些編譯理論與算法,這對于一部分學(xué)生來說是不能完成的任務(wù),也不能激發(fā)他們的興趣(他們認為學(xué)習(xí)編譯原理就是為了設(shè)計編譯器),造成很大部分學(xué)生在動手之前就早早放棄了努力,也就不能達到預(yù)期的實驗效果。

4)教學(xué)手段陳舊

目前,“編譯原理”課程主要以理論教學(xué)為主,課時主要用于形式語言理論與各種語法分析算法、語義分析技術(shù)的講授上,缺乏對實際編譯器的分析。同時,在講解的時候一般沒有輔之以其它形象生動的教學(xué)手段,對學(xué)生是采用“灌輸式”的教學(xué)模式,而沒有采用“啟發(fā)式”、“討論式”等多種教學(xué)模式,因此學(xué)生覺得授課內(nèi)容枯燥乏味,激不起他們學(xué)習(xí)的興趣。

5)教學(xué)大綱統(tǒng)一

目前,每個高校計算機相關(guān)專業(yè)包括計算機科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程等,學(xué)生也存在不同的層次包括統(tǒng)招的“一本”、“二本”學(xué)生,以及“專升本”學(xué)生等。不同專業(yè)有不同的培養(yǎng)目標,不同的生源造成學(xué)生知識背景和自身素質(zhì)也有差異。在這種情況下,在“編譯原理”課程教學(xué)過程中實行統(tǒng)一的教學(xué)大綱顯然不合適。

6)學(xué)生學(xué)習(xí)興趣不濃

目前,學(xué)生普遍認為學(xué)習(xí)編譯原理就是為了設(shè)計編譯器,而大部分學(xué)生今后從事編譯器設(shè)計工作的可能性較小,因此覺得沒必要學(xué)。另外,目前面向?qū)ο蟮某绦蛟O(shè)計語言已經(jīng)成為了主流,認為課程主要講授面向過程的程序設(shè)計語言的處理已經(jīng)落伍,因此失去了學(xué)習(xí)興趣。

形成以上這些問題的原因既有主觀的也有客觀的,這些問題在我校的編譯原理教學(xué)過程中也都不同程度地存在。為此,對“編譯原理”課程的教學(xué)內(nèi)容和教學(xué)方法進行探討是十分必要的、有意義的。

2需要解決的問題

1)課程內(nèi)容的調(diào)整

“編譯原理”課程內(nèi)容豐富抽象,理論性和邏輯性很強,所以很多學(xué)生在學(xué)習(xí)時普遍感到枯燥、乏味,難理解,激不起學(xué)習(xí)興趣。為此,需要對課程內(nèi)容合理安排以便收到較好的教學(xué)效果。

a)抓住重點,分清主次

由于課程內(nèi)容涉及較多,學(xué)生往往抓不住重點,分不清主次,結(jié)果導(dǎo)致勞而無功。為此,需要根據(jù)專業(yè)的不同,學(xué)生層次的不同,在不影響對編譯系統(tǒng)理解的情況下,合理安排授課內(nèi)容,切不可造成“統(tǒng)一重點的教學(xué)”、“統(tǒng)一層次的教學(xué)”、“統(tǒng)一大綱的教學(xué)”現(xiàn)象。

b)范例式編譯器的剖析

為了幫助學(xué)生對編譯思想和方法的理解,應(yīng)在教學(xué)過程中增加一部分內(nèi)容,即對一個范例式編譯器進行剖析。該范例式編譯器應(yīng)采用教學(xué)中涉及到的典型編譯思想與方法。學(xué)生在教師的指導(dǎo)下對實際編譯器代碼進行閱讀,將使學(xué)生對抽象的編譯理論與算法有更深刻的認識,從而達到較好的教學(xué)效果。

c)面向?qū)ο笫秸Z言的描述模型

當(dāng)前,面向?qū)ο笫秸Z言已成為主流,而目前課程中的內(nèi)容卻是圍繞面向過程式語言展開的。為此,需要在教學(xué)過程中增加一部分內(nèi)容,即選擇某個對象式語言來描述典型的編譯算法。但就目前來看,以面向?qū)ο笳Z言作為源語言來重新組織編譯原理的教學(xué)內(nèi)容并不合適。在教學(xué)過程中應(yīng)向?qū)W生指明這一點,使之有個正確的認識。

2)實踐環(huán)節(jié)的設(shè)計

“編譯原理”也是一門實踐性較強的課程,只有通過實踐環(huán)節(jié)才能讓學(xué)生加深對抽象理論的理解,培養(yǎng)其分析、設(shè)計軟件的能力。為此,必須重視實踐環(huán)節(jié)的教學(xué),精心設(shè)計實驗方案,合理組織實踐訓(xùn)練(對于不同專業(yè)培養(yǎng)目標、不同類別學(xué)生素質(zhì)差異,需設(shè)計不同的實驗方案)。

a)設(shè)計合適的實驗內(nèi)容

目前,大多數(shù)高校在“編譯原理”課程的實驗內(nèi)容上基本上都是要求學(xué)生能上機實現(xiàn)一個小型模型語言的完整編譯程序,或者是分四個單獨的實驗(詞法一個實驗,語法三個實驗)。這樣的實驗內(nèi)容存在一個缺陷就是不能充分激發(fā)學(xué)生的學(xué)習(xí)興趣,因為他們認為學(xué)習(xí)編譯就是為設(shè)計編譯器,而大部分學(xué)生以后從事這方面工作的可能性較小。為此,我們需要設(shè)計一個能運用編譯理論和技術(shù)去解決實際問題的實驗。例如,可以給定一個受限漢語的子集,引導(dǎo)學(xué)生用文法去描述它,然后把它應(yīng)用到一個簡單的自然語言查詢的程序設(shè)計中去。

b)合理安排實驗課時間

實驗時間安排要具有靈活性,不要一周或兩周一次實驗,這樣可能和授課的理論內(nèi)容脫節(jié)。可以分別在每個實驗的相關(guān)內(nèi)容講解完后安排這四個實驗,并要求學(xué)生記錄下每次實驗的輸入和輸出形式,實現(xiàn)理論與實踐的結(jié)合。

c)改進實驗課教學(xué)方法

為了讓實驗?zāi)苓_到預(yù)期的效果,需要做以下工作:一是老師在實驗前要將準備好的實驗資料發(fā)放給學(xué)生,讓學(xué)生利用業(yè)余時間分析、設(shè)計實驗內(nèi)容;二是老師指導(dǎo)學(xué)生一起討論實驗所涉及的原理、程序模塊的功能和部分變量的用途;三是學(xué)生在理解的前提下,開始進行實驗,老師隨時進行監(jiān)督指導(dǎo)。最后,在實驗完成后,老師一定要檢查學(xué)生的完成情況,并給予記錄,學(xué)生則要記錄下所有的實驗結(jié)果。

3)教學(xué)方法的改進

“編譯原理”課程抽象性和理論性較高,學(xué)生普遍感到內(nèi)容難理解,更不能運用編譯技術(shù)所涉及到的思想和方法去解決其他專業(yè)問題,學(xué)起來枯燥、無味。為此,需要靈活運用多種教學(xué)方法,以激發(fā)他們的學(xué)習(xí)興趣和積極性,培養(yǎng)其分析、解決實際問題的能力。

a)多媒體輔助教學(xué)

“編譯原理”課程涉及到形式語言與自動機理論,主要包括一些經(jīng)典的語法、語義分析算法。這些理論和算法抽象復(fù)雜,不易理解。為此,需要借助多種輔助教學(xué)手段,如CAI課件、CAI教學(xué)系統(tǒng)和教學(xué)網(wǎng)站等。這樣可以把抽象的理論形象化,把知識講解化靜為動,寓教于樂,培養(yǎng)和激發(fā)學(xué)生的學(xué)習(xí)興趣。

b)師生互動式教學(xué)

教學(xué)是由“教”與“學(xué)”兩方面構(gòu)成的,師生互動才能“教”、“學(xué)”相長,提高教學(xué)效果。在課堂上,應(yīng)采用“啟發(fā)式”、“討論式”、“提問式”等多種教學(xué)模式,以發(fā)散學(xué)生的思維,激發(fā)他們的思考能力;在課后,應(yīng)通過教學(xué)網(wǎng)站發(fā)放調(diào)查問卷等形式及時獲取學(xué)生對教學(xué)活動的意見與建議,學(xué)生也可以通過BBS系統(tǒng)進行交流,以便及時發(fā)現(xiàn)問題進而改進教學(xué)方法。還可以指定課后的時間組織小型的師生面對面交流,一方面是答疑,一方面也可以就編譯領(lǐng)域的一些新問題、新動向進行研討,進一步激發(fā)學(xué)生的學(xué)習(xí)積極性。

4)教材建設(shè)和CAI課件制作

目前為止,國內(nèi)外已有不少關(guān)于“編譯原理”的經(jīng)典教材,因而我們暫時不打算重新編寫授課教材。但從以上分析可知,目前的課程實驗內(nèi)容設(shè)計卻各不相同,沒有合適的實驗教材,因此有必要根據(jù)我院特色來組織編寫“編譯原理”課程實驗教材。同時,我們也將依據(jù)我院教學(xué)實際,重新合理組織教學(xué)內(nèi)容,圖文并茂,制作精良的CAI課件,以減少板書的時間,提高授課效率。

5)教學(xué)網(wǎng)站的建設(shè)

開發(fā)“編譯原理”網(wǎng)絡(luò)教學(xué)平臺,構(gòu)建良好的網(wǎng)絡(luò)輔助教學(xué)環(huán)境,實現(xiàn)學(xué)習(xí)、答疑、作業(yè)和考試等各個教學(xué)環(huán)節(jié)的網(wǎng)絡(luò)化,教師和學(xué)生可以很方便的利用該平臺完成幾乎所有教學(xué)活動,本課程教學(xué)網(wǎng)站主要將分四大模塊:

a)基本信息

包括課程負責(zé)人、課程主講人、教學(xué)隊伍、自我評價、課程建設(shè)規(guī)劃、課程教學(xué)錄像等相關(guān)信息。

b)課程建設(shè)

課程概況:課程簡介、課程大綱、教學(xué)日歷、教材和參考文獻。

教學(xué)資源:電子教材、電子課件(PPT)、電子課件、參考教案、例題源代碼、習(xí)題答案、考試樣卷及參考答案。

實驗教學(xué):實驗教學(xué)大綱、實驗內(nèi)容、實驗指導(dǎo)。

在線考試:為學(xué)生提供了模擬筆試、模擬機試和在線考試,實現(xiàn)了自動組卷和評分。

作業(yè)練習(xí):提供了各章的練習(xí)題、單元測試題。

作業(yè)提交:主要提供了作業(yè)的發(fā)布與提交等功能。

c)BBS論壇

提供學(xué)生、老師相互之間的交流平臺,以便及時發(fā)現(xiàn)問題進而改進教學(xué)方法和內(nèi)容。

d)問卷調(diào)查

在課后,發(fā)放調(diào)查問卷及時獲取學(xué)生對教學(xué)活動的意見與建議。

6)CAI教學(xué)系統(tǒng)的研制

CAI教學(xué)系統(tǒng)是輔助教學(xué)的一重要手段,通過它可以幫助學(xué)生加深對編譯思想和方法的理解與運用,進而培養(yǎng)和激發(fā)他們的學(xué)習(xí)興趣。我們將考慮按照圖1所示的系統(tǒng)結(jié)構(gòu)圖來設(shè)計“編譯原理”課程的CAI教學(xué)系統(tǒng)。

基本知識播放:提供每章的基本知識點的查詢和一些基本知識點的程序?qū)崿F(xiàn)等。

編譯過程演示:這是CAI教學(xué)系統(tǒng)主要模塊,提供了詞法、語法、語義分析算法的動態(tài)演示,而且還要動態(tài)演示中間代碼生成、中間代碼優(yōu)化和目標代碼生成的執(zhí)行過程。

自我測試:提供題庫,讓學(xué)生測試自己對所學(xué)知識的掌握情況。

系統(tǒng)維護:隨著編譯技術(shù)的發(fā)展,知識的不斷更新,會出現(xiàn)一些新的概念和算法,因此系統(tǒng)也要隨時增加新的知識點。另外,隨著系統(tǒng)的運行,可能會發(fā)現(xiàn)一些不正確的地方,也需要及時修改。

圖1 CAI教學(xué)系統(tǒng)主要模塊

3結(jié)束語

“編譯原理”是計算機專業(yè)中一門重要的課程,通過本課程的學(xué)習(xí),可以使學(xué)生獲得設(shè)計、分析和移植編譯程序方面的初步能力。結(jié)合實際教學(xué)過程,本文分析了“編譯原理”課程教學(xué)中所遇到的六個問題,探討了需要解決的五個問題,以期望在今后的教學(xué)中能達到較好的效果。

參考文獻:

[1]陳火旺,劉春林,譚慶平等.程序設(shè)計語言編譯原理[M].北京:國防工業(yè)出版社,2009.

[2]劉磊,郭德貴.“編譯原理”課程建設(shè)研究[J].計算機教育,2006(6):8-10.

[3]高艷玲.編譯原理-C教學(xué)編譯器設(shè)計[J].電腦知識與技術(shù),2009(18):4932-4933.

猜你喜歡
編譯原理教學(xué)內(nèi)容教學(xué)方法
初中英語寫作教學(xué)方法初探
甘肅教育(2020年2期)2020-09-11 08:01:42
教學(xué)方法與知識類型的適宜
挖掘數(shù)學(xué)教學(xué)內(nèi)容所固有的美
軟件學(xué)院編譯原理實踐課程的教學(xué)探索
計算機教育(2016年8期)2016-12-24 10:24:00
基于MOOC的編譯原理分階段課程教學(xué)研究
計算機教育(2016年9期)2016-12-21 00:32:22
“啟蒙運動”一課教學(xué)內(nèi)容分析
營造興趣啟蒙式學(xué)習(xí)氛圍的編譯原理首課設(shè)計
計算機教育(2016年7期)2016-11-10 08:48:50
“編譯原理”課程教學(xué)改革初探
“清末新政”也可作為重要的教學(xué)內(nèi)容
初中數(shù)學(xué)教師不可忽視的幾種教學(xué)方法
散文百家(2014年11期)2014-08-21 07:17:18
乌兰浩特市| 达拉特旗| 常州市| 克山县| 贺兰县| 濮阳县| 海南省| 天等县| 青龙| 广宗县| 南昌市| 山东省| 淅川县| 盐亭县| 大渡口区| 慈利县| 含山县| 乐安县| 旌德县| 康平县| 武强县| 沛县| 策勒县| 永定县| 喀喇沁旗| 辽阳县| 华宁县| 无极县| 湘潭市| 桃园县| 景德镇市| 阳原县| 青神县| 都兰县| 宁安市| 武定县| 称多县| 青海省| 江孜县| 长岛县| 关岭|