亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “編譯原理”實(shí)踐課程教學(xué)方法研究

        2009-12-30 03:41:40
        計(jì)算機(jī)教育 2009年21期
        關(guān)鍵詞:編譯原理實(shí)踐課程創(chuàng)新型人才

        張 晶 金 英 劉 磊

        摘要:本文探討了目前國(guó)內(nèi)高?!熬幾g原理”實(shí)踐課程的現(xiàn)狀,研究了“編譯原理”實(shí)踐課程的“多層次—多目標(biāo)—多效果”的教學(xué)方法,給出了該方法的實(shí)施方案和效果。該項(xiàng)研究對(duì)深化高校教學(xué)改革,更新實(shí)踐性教學(xué)模式,培養(yǎng)創(chuàng)新型人才具有一定的意義。

        關(guān)鍵詞:編譯原理;實(shí)踐課程;教學(xué)模式;創(chuàng)新型人才

        中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B

        編譯程序作為連接應(yīng)用程序和計(jì)算機(jī)系統(tǒng)的橋梁和紐帶,是不可或缺的一個(gè)系統(tǒng)軟件。具備一定的編譯程序設(shè)計(jì)原理和實(shí)現(xiàn)技術(shù)也是計(jì)算機(jī)專業(yè)的學(xué)生及工作者必備的基礎(chǔ)知識(shí)和技能。由于“編譯原理”課程中涉及形式語(yǔ)言、屬性文法等比較抽象的內(nèi)容,一直被學(xué)生認(rèn)為是較難掌握的一門課程。所以,各高校相應(yīng)地開設(shè)了“編譯原理”實(shí)踐課程,希望借此加強(qiáng)學(xué)生對(duì)理論知識(shí)的理解,建立理論和實(shí)際的聯(lián)系,強(qiáng)化動(dòng)手能力,促進(jìn)學(xué)生綜合素質(zhì)的提高。

        目前,多數(shù)高校在“編譯原理”實(shí)踐課教學(xué)中采用的都是以實(shí)例語(yǔ)言為主導(dǎo),貫穿整個(gè)編譯過(guò)程的教學(xué)模式。經(jīng)過(guò)幾年的教學(xué)實(shí)踐,取得了一定的教學(xué)效果,但也存在一些問(wèn)題,比較典型的有以下兩種情況:(1)一般的實(shí)踐教學(xué)都是采用統(tǒng)一實(shí)驗(yàn)題目,學(xué)生分組進(jìn)行實(shí)驗(yàn)的形式進(jìn)行。實(shí)際上,由于學(xué)生水平參差不齊,針對(duì)統(tǒng)一的題目,一些水平較低的學(xué)生容易產(chǎn)生畏難情緒,而一些水平較高的學(xué)生則認(rèn)為題目有些陳舊,沒(méi)有反映最新的應(yīng)用要求,導(dǎo)致學(xué)習(xí)興趣降低,教學(xué)效果不好;(2)由于編譯程序是一個(gè)系統(tǒng)程序,開發(fā)一個(gè)完整的編譯程序涉及高級(jí)程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)、算法分析、操作系統(tǒng)、匯編語(yǔ)言、軟件開發(fā)方法等領(lǐng)域許多內(nèi)容的綜合運(yùn)用。尤其是高級(jí)程序設(shè)計(jì)語(yǔ)言、軟件開發(fā)方法等課程,如果基礎(chǔ)不好,學(xué)生很難完成既定的任務(wù),即使勉強(qiáng)完成,效果也不是很好:有些同學(xué)會(huì)抄襲他人的程序,有些同學(xué)會(huì)給出結(jié)構(gòu)混亂的代碼。

        筆者所在教研室實(shí)踐了“實(shí)例—階段—循環(huán)”的教學(xué)方法后,取得了較好的教學(xué)效果,在對(duì)該方法進(jìn)行實(shí)踐、改進(jìn)、再實(shí)踐的基礎(chǔ)上,提出“多層次—多目標(biāo)—多效果”教學(xué)方法。該方法的中心思想是,針對(duì)不同水平的學(xué)生設(shè)定不同難度的題目,不同的題目有不同的要求,學(xué)生在不同的要求下達(dá)到不同的效果,從而激發(fā)每個(gè)學(xué)生的學(xué)習(xí)興趣,使每個(gè)學(xué)生都能通過(guò)學(xué)習(xí)而有所收獲和提高,真正達(dá)到培養(yǎng)創(chuàng)新型人才的目標(biāo)。本方法對(duì)其他具有相似特點(diǎn)的課程也同樣適用。

        下面從實(shí)驗(yàn)準(zhǔn)備、實(shí)驗(yàn)實(shí)施、考核三個(gè)階段闡述“多層次—多目標(biāo)—多效果”的“編譯原理”實(shí)踐課程教學(xué)方法實(shí)施的全過(guò)程。

        1實(shí)驗(yàn)準(zhǔn)備

        “編譯原理”實(shí)踐課程開設(shè)的目的是加深學(xué)生對(duì)編譯理論知識(shí)的理解,培養(yǎng)學(xué)生開發(fā)大型軟件的能力。為保證實(shí)踐課取得更好的效果,同時(shí)考慮到學(xué)生的整體水平和實(shí)踐課開設(shè)的時(shí)間,我們認(rèn)為在正式進(jìn)行實(shí)踐教學(xué)之前,應(yīng)該使學(xué)生在以下三個(gè)方面做好準(zhǔn)備:

        一是編譯基礎(chǔ)理論知識(shí)的復(fù)習(xí)。目前,大多數(shù)高校的“編譯原理”理論教學(xué)安排在大三上學(xué)期進(jìn)行,實(shí)踐教學(xué)安排在大三下學(xué)期進(jìn)行。由于理論教學(xué)和實(shí)踐教學(xué)是分開進(jìn)行的,因此常常會(huì)有一些基礎(chǔ)不好、知識(shí)掌握不扎實(shí)的學(xué)生將已經(jīng)學(xué)過(guò)的知識(shí)忘記,還有的學(xué)生理論知識(shí)掌握得比較好,但無(wú)法在理論知識(shí)和實(shí)際軟件開發(fā)之間建立聯(lián)系。所以在學(xué)生正式動(dòng)手之前,有必要由專業(yè)指導(dǎo)教師進(jìn)行理論知識(shí)的講解,并通過(guò)一些淺顯易懂的例子說(shuō)明如何在抽象理論和實(shí)際實(shí)現(xiàn)之間建立聯(lián)系,幫助學(xué)生明確任務(wù)需求。

        二是高級(jí)程序設(shè)計(jì)語(yǔ)言編程能力的培養(yǎng)。高級(jí)程序設(shè)計(jì)語(yǔ)言的編譯程序是一個(gè)龐大的系統(tǒng)程序,工作量較大,學(xué)生必須熟練地掌握編譯的理論知識(shí)和程序設(shè)計(jì)技能。然而,筆者從幾年的實(shí)踐發(fā)現(xiàn),有一部分學(xué)生沒(méi)能按時(shí)完成編譯實(shí)驗(yàn)的原因是“高級(jí)語(yǔ)言程序設(shè)計(jì)”課程的學(xué)習(xí)不夠扎實(shí),編程能力較弱。針對(duì)這一現(xiàn)象,我們加強(qiáng)了教師的輔導(dǎo),即將開發(fā)編譯程序中可能用到的相關(guān)編程知識(shí)提前加以輔導(dǎo),例如文件相關(guān)的操作、指針、數(shù)組、結(jié)構(gòu)體等數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)和使用等,喚醒學(xué)生的記憶,提高編程的速度。

        三是軟件開發(fā)方法的培訓(xùn)。在以往的教學(xué)中,我們經(jīng)常會(huì)遇到這樣的情況,即教師講解完實(shí)驗(yàn)?zāi)康暮鸵笾?仍會(huì)有一小部分學(xué)生不知從何處下手,還有的學(xué)生一拿到題目就動(dòng)手編程,根本不做分析和設(shè)計(jì),代碼通不過(guò)測(cè)試時(shí),又東一塊西一塊地對(duì)代碼進(jìn)行修正,最后導(dǎo)致代碼一團(tuán)糟,自己都看不懂。針對(duì)以上這些情況,我們倡導(dǎo)學(xué)生在實(shí)踐中嚴(yán)格采用軟件工程的思想進(jìn)行設(shè)計(jì)和操作,實(shí)踐證明,效果較好。

        2實(shí)驗(yàn)實(shí)施

        “編譯原理”實(shí)踐課程的主要內(nèi)容是要求學(xué)生按照編譯程序功能結(jié)構(gòu)的劃分,完成某個(gè)程序語(yǔ)言的詞法分析、語(yǔ)法分析、語(yǔ)義分析和代碼生成程序,從而熟悉各個(gè)階段的功能和經(jīng)典算法。本方法在實(shí)施階段的重點(diǎn)主要體現(xiàn)在兩個(gè)方面:題目多樣化和實(shí)現(xiàn)工程化。

        2.1題目多樣化

        “編譯原理”實(shí)踐課程的目的是使學(xué)生在掌握編譯程序設(shè)計(jì)基本理論的基礎(chǔ)上,能夠針對(duì)具體的程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)并開發(fā)出一個(gè)可用的編譯程序。由于當(dāng)前流行的語(yǔ)言都比較龐大,不易處理,因此多數(shù)高校都采用小的實(shí)例語(yǔ)言模型的方法,較常用的實(shí)例語(yǔ)言有PL/0、SNL、tiny C、mini C等。前兩種是Pascal語(yǔ)言的子集,語(yǔ)言具有良好的結(jié)構(gòu)性,但由于Pascal語(yǔ)言在教學(xué)和應(yīng)用中已經(jīng)很少使用,學(xué)生對(duì)其語(yǔ)法不熟悉,因此PL/0、SNL不適合繼續(xù)作為實(shí)例語(yǔ)言。C語(yǔ)言及其變種C++語(yǔ)言,以及近似的Java語(yǔ)言是應(yīng)用中采用較多的語(yǔ)言,學(xué)生對(duì)其語(yǔ)法、程序結(jié)構(gòu)、語(yǔ)言特性等都有一定了解,所以C語(yǔ)言的子集比較適合作為實(shí)踐課程的教學(xué)語(yǔ)言。但即使是C語(yǔ)言的子集,其編譯程序也是非常龐大的,一些基礎(chǔ)較差的學(xué)生仍然感覺(jué)比較吃力,無(wú)法完成整個(gè)程序,而對(duì)于一些基礎(chǔ)較好的學(xué)生,則認(rèn)為當(dāng)今主流的程序語(yǔ)言都是面向?qū)ο蟮?特別希望掌握面向?qū)ο笳Z(yǔ)言的翻譯機(jī)制。

        針對(duì)目前學(xué)生人數(shù)增多,學(xué)生質(zhì)量參差不齊,教學(xué)質(zhì)量和檔次得不到保證的情況,本文提出“多層次—多目標(biāo)—多效果”的教學(xué)方法。首先由任課教師將題目分為較低難度、正常難度、較高難度三個(gè)等級(jí),難度主要體現(xiàn)在實(shí)例語(yǔ)言的語(yǔ)法和語(yǔ)義功能上。

        較低難度的語(yǔ)言是指具有表達(dá)式語(yǔ)法結(jié)構(gòu)及算術(shù)運(yùn)算、關(guān)系運(yùn)算功能的語(yǔ)言,記為L(zhǎng)e,由于沒(méi)有聲明部分,因此Le的語(yǔ)義比較簡(jiǎn)單。其語(yǔ)法如下:

        程序P ::= E

        表達(dá)式E ::= c | id | (E) | E + E | E * E | E < E | E > E | E = E

        正常難度的語(yǔ)言是指具有語(yǔ)句語(yǔ)法結(jié)構(gòu)及子程序功能的語(yǔ)言,記為L(zhǎng)s,其語(yǔ)法如下:

        程序P ::= D;S

        聲明D ::= Dctv;Df

        Dctv ::= Dc; Dt; Dv

        Dc ::= const id C | Dc; Dc

        Dt ::= type id T | Dt; Dt

        Dv ::= var id T | Dv; Dv

        Df ::= fun T id module | Df; Df

        module ::= params D S

        param ::= param id:T

        params ::= param | param; params

        語(yǔ)句 S ::= skip | ass(id,E) | read(id) | write(E) | if(E, S1, S2) | while(E,S)| seq(S1, S2) | block(Dctv,S) |

        call(id, E1, …, En)

        語(yǔ)言Ls在語(yǔ)言Le的基礎(chǔ)上,增加了聲明、語(yǔ)句、函數(shù)等功能,相應(yīng)地增加了語(yǔ)義處理、代碼生成的難度和復(fù)雜性。

        較高難度的語(yǔ)言是指加入面向?qū)ο髾C(jī)制的語(yǔ)言,記為L(zhǎng)o,Lo的詞法、語(yǔ)法分析與Ls的詞法、語(yǔ)法分析難度相當(dāng),但由于對(duì)象機(jī)制的加入,Lo的語(yǔ)義分析和代碼生成部分都要增加一些特殊的處理。Lo語(yǔ)法如下:

        Prog ::= ClassDecList; VarDecPart; Body

        ClassDecList ::= ClassDec |

        ClassDec ; ClassDecList

        ClassDec::= class cname ;

        [super cname;]

        [insvar IVDecList;]

        [insmethod IMDecList]

        end

        IVDecList ::= IVDec | IVDec; IVDecList

        IVDec ::= VarDec

        IMDecList ::= IMDec | IMDec; IMDecList

        IMDec ::= Type mid ? ParamDecPart ? FunBody

        ParamDecPart ::= VarDecPart

        FunBody ::= VarDecPart; Body

        VarDecPart ::= var VarDecList

        VarDecList ::= VarDec | VarDec; VarDecList

        VarDec ::= id:Type

        Type::= cname | integer | bool

        Body ::= begin StmList end

        StmList ::= Stm | Stm; StmList

        Stm ::= new?id, cname? |

        receiver?mid?RParamList? | id = Exp |

        if (Exp, StmList, StmList)| delete (id)

        RParamList ::= Exp | Exp, RParamList

        receiver ::= id | self

        Exp ::= n | x | tt | ff | id.id | Exp+Exp | Exp

        由于在題目選擇上增加了靈活性,學(xué)生可以根據(jù)自己的實(shí)力和興趣選做不同的題目,極大地提高了他們的學(xué)習(xí)積極性。同時(shí)對(duì)于各個(gè)題目以及各個(gè)題目每個(gè)階段的實(shí)現(xiàn)方案,學(xué)生可以自由發(fā)揮,充分發(fā)揮想象力和創(chuàng)造力,無(wú)論對(duì)于基礎(chǔ)較好的學(xué)生還是一般的學(xué)生,都能達(dá)到很好的鍛煉目的。

        2.2實(shí)現(xiàn)工程化

        實(shí)踐課的目的是使學(xué)生能夠真正運(yùn)用所學(xué)的知識(shí)去解決實(shí)際問(wèn)題,是理論知識(shí)的升華。這就要求學(xué)生在掌握編譯原理的基礎(chǔ)上,能夠針對(duì)具體的程序語(yǔ)言設(shè)計(jì)并開發(fā)出可用的編譯程序。作為一個(gè)龐大而復(fù)雜的系統(tǒng)程序,編譯程序的開發(fā)應(yīng)該遵循軟件工程的思想和規(guī)范的軟件開發(fā)過(guò)程,才能保證開發(fā)出的編譯程序具有較好的質(zhì)量和可維護(hù)性,同時(shí)實(shí)踐的過(guò)程也是對(duì)學(xué)生軟件開發(fā)實(shí)戰(zhàn)的一次演練。具體措施如下:

        (1) 由于編譯程序較大,課上時(shí)間又有限,所以實(shí)驗(yàn)采用分組進(jìn)行的方式,每個(gè)小組由4~5名學(xué)生組成,分工協(xié)作共同完成。在分工協(xié)作的過(guò)程中,特別強(qiáng)調(diào)明確任務(wù)劃分,統(tǒng)一命名規(guī)則,重視接口設(shè)計(jì)等關(guān)鍵問(wèn)題。

        (2) 在開發(fā)過(guò)程中,遵循需求、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等標(biāo)準(zhǔn)的軟件過(guò)程,要求學(xué)生在相應(yīng)的階段給出相應(yīng)的文檔,明確每個(gè)階段要完成的任務(wù),以及相應(yīng)的解決方案。

        3實(shí)驗(yàn)考核

        “編譯原理”實(shí)踐課程的一個(gè)難點(diǎn)在于如何對(duì)成績(jī)進(jìn)行評(píng)定,因?yàn)槿魏我粋€(gè)語(yǔ)言的編譯程序都存在代碼較長(zhǎng)、無(wú)法當(dāng)堂測(cè)試的情況。因此,常規(guī)考察都是要求學(xué)生每個(gè)編譯階段提交一個(gè)階段性程序或在最后階段提交一個(gè)完整的編譯程序。經(jīng)過(guò)幾年的教學(xué)實(shí)踐,我們發(fā)現(xiàn)考核中經(jīng)常會(huì)出現(xiàn)部分代碼雷同和相似的現(xiàn)象,對(duì)于成績(jī)的評(píng)定和考試的公平性有一定的阻礙和影響。采用“多層次—多目標(biāo)—多效果”的教學(xué)方法后,更是對(duì)成績(jī)的公平性提出了較大的挑戰(zhàn)。顯然,絕對(duì)的公平是不存在的,只能在盡可能大的范圍內(nèi)保證公平。本著公開、公正的原則,我們提出階段考核和匯總考核相結(jié)合的成績(jī)?cè)u(píng)定方法,并且采用加權(quán)形式,不同難度的題目,其權(quán)值也不同。不論哪種難度的題目,都按照編譯過(guò)程劃分成幾個(gè)階段,并規(guī)定每個(gè)階段完成的時(shí)間。每到一個(gè)規(guī)定時(shí)間,就對(duì)學(xué)生的當(dāng)前階段成果進(jìn)行考核,提供合理化建議,并對(duì)考核結(jié)果進(jìn)行記錄,作為匯總考核的參考。在匯總考核階段,采取公開答辯的形式,答辯以小組為單位進(jìn)行,每個(gè)小組負(fù)責(zé)給指導(dǎo)老師和其他同學(xué)展示自己編寫的程序,并講解程序的功能、工作過(guò)程和創(chuàng)新點(diǎn)。通過(guò)以上措施,較好地避免了以往考核中經(jīng)常出現(xiàn)的剽竊程序或偷懶現(xiàn)象,同時(shí)幫助學(xué)生樹立了榮譽(yù)感、責(zé)任心和成就感,將人格、品德培養(yǎng)融入教學(xué)中,真正做到教書育人。

        4結(jié)語(yǔ)

        筆者經(jīng)過(guò)在本校近三屆學(xué)生中開展“多層次—多目標(biāo)—多效果”教學(xué)方法的教學(xué)活動(dòng)后,發(fā)現(xiàn)教學(xué)效果較以往有了很大的提高,不同層次的學(xué)生實(shí)現(xiàn)了不同的實(shí)踐目標(biāo),不同的實(shí)踐目標(biāo)鍛煉了不同的能力。任課教師和學(xué)生普遍反映,由于題目設(shè)定科學(xué)合理,極大地提高了學(xué)生的學(xué)習(xí)興趣,興趣帶動(dòng)了能力的提高,能力的提高促進(jìn)了創(chuàng)新性成果的產(chǎn)生,形成了很好的良性循環(huán)。

        參考文獻(xiàn):

        [1] 金成植. 編譯原理實(shí)現(xiàn)技術(shù)[M]. 北京:高等教育出版社,2007.

        [2] 劉磊. 編譯程序的設(shè)計(jì)與實(shí)現(xiàn)[M]. 北京:高等教育出版社,2003.

        [3] 趙曦.“編譯原理”實(shí)驗(yàn)教學(xué)改革初探[J]. 實(shí)驗(yàn)室科學(xué),2006,8(4):26-27.

        [4] 朱莉. 改革實(shí)驗(yàn)教學(xué),培養(yǎng)創(chuàng)新能力[J]. 實(shí)驗(yàn)技術(shù)與管理,2003,20(1):70-72.

        [5] 方凱晴. 計(jì)算機(jī)專業(yè)實(shí)驗(yàn)教學(xué)改革的探討[J]. 實(shí)驗(yàn)室研究與探索,2002,21(1):6-8.

        [6] 劉平安. 改革實(shí)踐性教學(xué)模式 加強(qiáng)學(xué)生工程素質(zhì)培養(yǎng)[J]. 機(jī)械工業(yè)高教研究. 2002(4):42-45.

        [7] 張晶,楊冬,郭德貴,等. 編譯原理實(shí)踐課程教學(xué)方法研究[J]. 吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2005,8(23):142-144.

        猜你喜歡
        編譯原理實(shí)踐課程創(chuàng)新型人才
        軟件學(xué)院編譯原理實(shí)踐課程的教學(xué)探索
        基于MOOC的編譯原理分階段課程教學(xué)研究
        關(guān)于技工學(xué)校室內(nèi)設(shè)計(jì)專業(yè)實(shí)踐課程教學(xué)改革淺談
        民辦本科院校旅游管理專業(yè)實(shí)踐課程改革芻議
        亞太教育(2016年33期)2016-12-19 03:14:01
        獨(dú)立學(xué)院國(guó)際經(jīng)濟(jì)與貿(mào)易專業(yè)實(shí)踐課程教學(xué)創(chuàng)新研究
        創(chuàng)新意識(shí)下日語(yǔ)專業(yè)學(xué)生跨文化交際能力的培養(yǎng)
        考試周刊(2016年84期)2016-11-11 23:11:23
        如何在生理學(xué)教學(xué)中培養(yǎng)創(chuàng)新型人才
        考試周刊(2016年84期)2016-11-11 00:20:52
        營(yíng)造興趣啟蒙式學(xué)習(xí)氛圍的編譯原理首課設(shè)計(jì)
        高校藝術(shù)專業(yè)打造“眾創(chuàng)空間”模式研究
        基于優(yōu)勢(shì)學(xué)科的“材料化學(xué)實(shí)驗(yàn)”課程改革研究
        考試周刊(2016年76期)2016-10-09 08:19:51
        人妻尤物娇呻雪白丰挺| 亚洲av无码av制服丝袜在线| 久久韩国漫画无删减漫画歪歪漫画 | av在线免费观看你懂的| 黄色精品一区二区三区| 成人国成人国产suv| 日日猛噜噜狠狠扒开双腿小说| 国产综合精品久久亚洲| 日本特殊按摩在线观看| 午夜性刺激免费看视频| 94久久国产乱子伦精品免费| 日韩中文字幕不卡网站| 国产网友自拍视频在线观看| 欧美大片va欧美在线播放| 国产精品免费精品自在线观看| 亚洲日韩精品欧美一区二区三区不卡| 日本在线一区二区三区四区| 国产av在线观看久久| 骚小妹影院| 女同性恋精品一区二区三区| 日韩一区二区中文天堂| 免费在线黄色电影| www插插插无码免费视频网站| av草草久久久久久久久久久| 一本色道久久亚洲av红楼| 三年片免费观看大全有| 欧美成aⅴ人高清免费| 超短裙老师在线观看一区二区| 欧美又大粗又爽又黄大片视频| 国产精品人妻一码二码尿失禁| 日本专区一区二区三区| 日韩美女av一区二区三区四区| 久久久久人妻一区精品| 丁香综合网| 色婷婷一区二区三区77| 一本无码中文字幕在线观| 无套内谢的新婚少妇国语播放| 欧美亚洲h在线一区二区| 一区二区三区午夜视频在线| 精品少妇一区二区三区免费观| 亚洲最新版无码AV|