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

        ?

        編譯原理課程教學改革研究

        2011-12-31 00:00:00柴艷妹馬燕林
        計算機教育 2011年20期


          摘要:針對編譯原理教學過程中“教難、學難、實踐更難”的現(xiàn)狀,本文從激發(fā)學生興趣、培養(yǎng)學生專業(yè)素質和提高學生動手能力三個方面入手,研究并提出了一系列教學改革的具體步驟和方法。實踐證明,這些方法在改善教學質量方面達到了預期的目的。
          關鍵詞:編譯原理;思維訓練;素質培養(yǎng);教學實踐
          基金項目:中央財經(jīng)大學‘211工程’三期(CUFEXX2011-3-1);“中財121人才工程青年博士發(fā)展基金”項目(QBJGL201005);中央財經(jīng)大學精品實驗課程;中央財經(jīng)大學科研創(chuàng)新團隊支持計劃。
          作者簡介:柴艷妹,女,講師,研究方向為圖像處理,模式識別;馬燕林,女,教授,中央財經(jīng)大學信息學院副院長,研究方向為信息系統(tǒng)管理。
          
          編譯原理是計算機軟件及其相關專業(yè)的一門主干課和必修課。它系統(tǒng)地向學生講述了如何利用計算機,實現(xiàn)從程序設計語言到匯編語言和機器語言的自動轉換。在利用計算機求解現(xiàn)實世界問題的過程中,通常我們需要先有現(xiàn)實問題的自然語言描述,再經(jīng)過一次或多次的語言轉換,得到問題的形式化描述,再編寫程序,并最終編譯成可供計算機執(zhí)行的匯編程序或二進制代碼來解決問題。從抽象的角度看,這種問題求解過程就是一個“語言轉換”過程?!罢Z言轉換”可以看成計算機學科求解現(xiàn)實問題過程的縮影,是計算機專業(yè)思維的集中體現(xiàn)。因此,該課程講授的編寫編譯器的原理和技術具有非常普遍的意義,是從事計算機工作必不可少的。在計算機從業(yè)人員的職業(yè)生涯中,這些原理和技術都會反復用到。
          編譯原理與其他計算機學科課程關系緊密,其先導課程是匯編語言程序設計、計算機組成原理、數(shù)據(jù)結構、高級語言程序設計和離散數(shù)學等,后繼課程有形式語言與自動機、軟件工程和計算機體系結構等,是一門理論深度和實踐要求并重的課程。
          1編譯原理課程教學現(xiàn)狀
          編譯原理課程由于涉及了數(shù)據(jù)結構、程序設計語言、離散數(shù)學、計算機組成原理等課程知識,具有知
          
          識點多、概念關系復雜、算法抽象難懂等特點,因此,長期以來都被看作是計算機本科教學中“教難、學難、實驗更難”的一門課程。造成這種現(xiàn)象的原因主要有以下幾點:
          1) 課程理論性強。編譯原理這門課內容豐富且抽象,具有嚴密的邏輯性,除了編譯器自身的理論體系外,還涉及了大量其他理論知識,如形式語言、自動機、集合論、圖論等知識,這些理論的學習有一定難度,容易使學生感覺課程枯燥、望而生畏。
          2) 學習目標不明確。不少學生認為學習編譯原理的目的是為了構造編譯器,而目前各大軟件公司的編譯器已經(jīng)非常優(yōu)秀沒有必要重復開發(fā)。加之這門課程理論性較強,覺得即使學會書本上的理論也未必能開發(fā)出復雜的編譯器,因此認為這門課程缺乏實用價值。
          3) 實踐環(huán)節(jié)薄弱。由于編譯系統(tǒng)的實現(xiàn)涉及到若干其他課程,算法復雜、綜合性很強,即使是針對簡單文法的編譯器設計對于大多數(shù)同學來說都存在較大難度,因此會挫傷學生實踐的積極性。再加上教學過程中課時數(shù)量的限制,實踐成為教學中較為薄弱的環(huán)節(jié)。
          因此,如何提升學習積極性、如何在授課過程中訓練和培養(yǎng)學生能力、如何合理安排難易適度的實驗內容就顯得尤為重要。本文將以現(xiàn)代教育理論為指導,在教學過程中,針對教學模式、教學輔助、思維訓練、能力培養(yǎng)、課程實踐等環(huán)節(jié)進行探索和創(chuàng)造性的改革與實踐,以期改觀本課程的教學效果,從而達到提高教學質量的目的。
          2樹立新的教學目標
          “在新時代條件下,培養(yǎng)什么樣的人?怎樣培養(yǎng)人?”是教育改革要回答的首要問題。作為計算機專業(yè)的學生,除了具備必要的知識與信息獲取能力、基本學科能力和團隊合作能力外,更重要的是具備思維創(chuàng)新能力和工程實現(xiàn)能力。這就要求在本科階段的教學中能有效訓練學生思維、培養(yǎng)他們敏銳地發(fā)現(xiàn)問題、正確地分析問題和創(chuàng)造性地解決問題的能力。
          從課程體系結構上來看,編譯原理正是這樣一門優(yōu)秀課程。學生在程序設計、數(shù)據(jù)結構等課程中受到一定的鍛煉之后,在該課程中可進一步從系統(tǒng)級別上重新認識算法和程序,能有效提升學生的系統(tǒng)設計能力。此外,該課程中所涉及的形式化理論、詞法分析、語法分析等知識是本專業(yè)實施計算思維訓練的最佳載體之一,可有效訓練學生的邏輯抽象思維能力及培養(yǎng)創(chuàng)新性意識。因此,對于編譯原理課程的教學目標不能僅定位于編譯器設計和實現(xiàn)中的基本概念、基本理論和基本方法的學習。除了理論知識外,更應注重學生的計算思維、程序設計與實現(xiàn)、算法設計與分析、計算機系統(tǒng)的認知、開發(fā)和利用等4大專業(yè)基本素質的培養(yǎng)[1]。
          3教學改革措施與實踐
          在編譯原理教學過程中,我們緊緊圍繞新的教學目標,從激發(fā)學生興趣、培養(yǎng)學生專業(yè)素質和提高學生動手能力三個方面入手,加強學生的素質和能力培養(yǎng)。
          3.1采用多種教學模式,激發(fā)學習興趣
          興趣是人們力求認識某種事物或愛好某種活動的心理傾向,是推動學生學習活動的內在驅動力。要想讓學生學得好,需要不斷地激發(fā)他們的學習興趣,從而變被動學習為主動學習[2]。
          1) 啟發(fā)式教學。
          激發(fā)學生學習興趣的方法之一就是“啟發(fā)式教學”??鬃釉唬骸安粦嵅粏ⅲ汇话l(fā)”,即教師要對學生嚴格要求,先讓學生積極思考,再進行適時啟發(fā)。它把學生真正置于主動者位置,充分調動學生的積極性,激發(fā)學生的學習興趣。
          在授課過程中,教師應注重引導學生發(fā)現(xiàn)問題。例如,可以提問:“我們平時都是通過編寫程序來指揮計算機完成任務的,學過組成原理之后,大家知道計算機只能執(zhí)行0/1組成的機器指令,而我們編寫程序用的則是C、Java之類的高級程序設計語言,它們是如何被執(zhí)行的?”通過問題,引導學生積極思考,回憶他們從編寫代碼到執(zhí)行程序的過程,從而引出編譯系統(tǒng)的功能和作用。又例如,可以從英語文章到漢語的翻譯過程出發(fā),首先啟發(fā)學生分析英語翻譯的詳細過程,并思考高級程序設計語言翻譯與英語翻譯的關系,再得出“本質上一致”的結論,從而引出編譯程序的構造過程[3],并用圖示方法進行對比展示(如圖1所示)。這種啟發(fā)式的模式能使學生更自然、自主地接受新知識。
          
          圖1高級程序設計語言翻譯與英語翻譯的關系
          2) 互動式教學。
          現(xiàn)代教育理論認為,教學過程是教與學的雙邊互動過程。在這個過程中,通過調節(jié)師生關系及相互作用,形成和諧的師生互動,生生互動,甚至學習個體與教學中介的互動,以產(chǎn)生教學共振,達到提高教學效果目的[4]。該模式也正符合培養(yǎng)目標的要求,通過讓學生分組研討和查閱資料,教給他們提出問題、分析問題和解決問題的思想和方法,從而增強學生的溝通表達能力和團隊合作能力。
          在課程大綱的框架下,合理分配課堂講授和研討的學時及內容,適當選擇研討課題。例如,“符號表的組織和管理”一章,可讓學生分組調研不同的構造和查找算法,并要求各組派代表在課堂上講解算法過程、分析計算復雜度以及優(yōu)缺點比較等。通過任務驅動,可增加學生學習的主動性,進一步激發(fā)學習興趣。通常情況下,選擇的研討課題應當是學生通過自學、討論和教師的適當指導就可以掌握的,難度不大知識點。難度大的內容仍要按照常規(guī)教學方法進行詳細講解。
          3) 形象化教學。
          由于本課程涉及的概念和定理 很多,從詞法分
          析、語法分析、語義分析,一直到代碼生成,包含了大量的算法。很多算法過程復雜、理論抽象。比如,語法分析中的LR分析過程包含很多步驟,不同的動作(移進、歸約、接受等)涉及的數(shù)據(jù)結構也不同,為了讓學生更直觀地接受這些內容,必須借助形象化教學手段。CAI(Computer Aided Instruction,計算機輔助教育)通過把文字、數(shù)據(jù)、圖形、音頻和視頻等不同媒體結合起來,實現(xiàn)對教學內容的合理有效的組織和管理,因其具有形象、生動、直觀等特點,可以極大地調動學生的積極性,具有提高教學效果、擴大教學范圍和延伸教師功能的作用。
          
          除了使用PPT課件中的動畫功能,還可以用Flash、Authorware等技術生動形象地演示抽象的概念和算法。為了加深學生的理解,還可以將類似的算法進行類比和對比,如簡單優(yōu)先分析算法和算符優(yōu)先分析算法的比較、自上而下分析法和自下而上分析法的比較等,使學生在輕松愉快中掌握知識要點,并進一步深化理解,做到知其然更知其所以然。
          4) 網(wǎng)絡輔助教學。
          課堂授課時間通常有限,為了幫助學生課外學習、方便師生交流,可采用網(wǎng)絡輔助教學方法。通過建立編譯原理課程網(wǎng)站,使學生隨時隨地在網(wǎng)上利用教學資源進行學習、做練習、模擬考試和答疑服務等,真正實現(xiàn)編譯原理課程教學方法和手段的現(xiàn)代化。
          該課程網(wǎng)站的系統(tǒng)結構圖如圖2所示。學生除了可以下載課堂內容的PPT課件進行自學外,還提供了上傳/下載作業(yè)、答疑、測試、討論等服務,并為學生提供教學大綱、教學日歷和參考資料等諸多信息,為學生在課堂外的自學、復習提供了豐富的資源。
          
          圖2編譯原理網(wǎng)絡教學資源管理系統(tǒng)結構圖
          綜合采用多種教學模式,全方位、多角度的教學環(huán)境,極大提高了學生學習的主動性,有效激發(fā)了學生的學習興趣,給學生提供了寬廣的互動學習空間。
          3.2注重思維能力訓練,培養(yǎng)學生專業(yè)素質
          “授人以魚,不如授人以漁”。編譯原理課程的教學目標最主要是對學生思維能力的訓練,培養(yǎng)學生具備計算機從業(yè)人員的專業(yè)素養(yǎng)。
          1) 抽象思維的培養(yǎng)。
          抽象思維是思維的高級形式,是利用科學概念和理論,借助符號語言進行思維的方法。抽象思維的主要特點是通過協(xié)調運用分析、綜合、概括等基本方法,揭示事物的本質和規(guī)律性聯(lián)系[5]。由于大量涉及形式語言和自動機理論,“抽象性”是編譯原理課程的一大特點。除了采用CAI輔助教學方法使內容形象化之外,通過實例逐步引申和講解的方法可以幫助學生掌握具體問題抽象的方法。例如,在引入自動機概念之前,先用日常生活中打電話的例子構造一個簡單的自動機,再借助文法的四元組定義形式引申出自動機的五元組形式化定義,從而使學生掌握從具體到抽象的思維過程。
          2) 發(fā)散思維的培養(yǎng)。
          思維能力不僅僅是指抽象知識的聚合能力,更重要的是推而廣之的發(fā)散思維。發(fā)散思維又稱“多向思維”,是指從一個目標出發(fā),沿著各種不同的途徑去思考,探求多種答案的思維方式。發(fā)散思維常常是創(chuàng)新的基礎,它對新事物比較敏感,具有不依循常規(guī)、尋求變異的特點。對學生發(fā)散思維的培養(yǎng)就是要培養(yǎng)學生多種方法解決問題的能力。例如,給定一個語言,要求學生寫出相應文法的時候,先不給學生答案,讓學生把不同的答案寫在黑板上,然后逐一進行分析和點評,最后得出結論:語言和它所對應的文法不是一對一的。這樣不僅可以加深學生對知識點的印象,并且鼓勵學生進行多向思維。
          3) 創(chuàng)新思維的培養(yǎng)。
          創(chuàng)新思維就是不受常規(guī)思路的約束,尋求對問題的全新的、獨特性的解答和方法的思維過程。逆向思維就是培養(yǎng)創(chuàng)新性的有效方法之一。例如,在講完自上而下語法分析之后,可以提問學生:“這個過程逆過來是否也可以完成句子的識別呢?如果可以,需要借助怎樣的數(shù)據(jù)結構?如何進行分析?”學生經(jīng)過思考、分析探討,再加上適當?shù)闹笇?,得出的結論將會記憶比較深刻,會對自下而上的語法分析方法了解的更深入。
          此外,研究型教學也是培養(yǎng)學生創(chuàng)新能力的方法。選擇一些有新意、有一定前瞻性的題目讓學生分組研究,例如,讓學生充分想象和調研,編譯原理算法可以在哪些領域應用?學生發(fā)現(xiàn),在搜索引擎、人工智能、模式識別等領域都有編譯算法的應用。這種知識的拓展一方面可以訓練他們的創(chuàng)新意識,另一方面還可以讓學生認識到學習編譯的重要性,從而產(chǎn)生濃厚的興趣。
          3.3加強教學實踐環(huán)節(jié),提高學生動手能力
          實踐教學是培養(yǎng)學生動手能力和工程實現(xiàn)能力的主要途徑。學生只有在不斷的實驗環(huán)節(jié)中嘗試、探索和研究,才能不斷提高解決工程問題的能力。因此,除了訓練學生的思維能力和培養(yǎng)創(chuàng)新意識之外,實踐能力的培養(yǎng)也至關重要。
          編譯原理課程對學生實踐能力要求較高,學生在實驗過程中除了需要掌握一些重要的算法,還需要將數(shù)據(jù)結構、高級語言等內容融會貫通。為了消除學生對該課程的“神秘感”和“畏難感”,實驗教學中應做好以下幾項工作:
          1) 合理安排實驗內容。
          實驗內容的安排要循序漸進,一開始不要給太難的任務,否則,容易挫傷學生的信心和積極性。例如,在作詞法分析器設計實驗之前,可以先給出去除源程序中代碼注釋的實驗。然后,依次給出詞法分析器實驗、語法分析器實驗、語義分析和中間代碼生成器實驗。有了上面的基礎,最后給出一個拓展的綜合性編譯器設計實驗。
          2) 給出難度適中的實驗要求。
          在給學生布置實驗任務的時候,要明確告訴學生實驗目的和要達到的要求,即有明確的輸入和輸出內
          
          容。有些實驗,如遞歸下降子程序法進行語法分析,還需要進一步劃分好模塊,給出粗略的流程圖,以防學生完全沒有思路,無從下手。但太過細致的提示又會限制學生的創(chuàng)新思維,因此在布置實驗任務前,教師需要根據(jù)學生情況反復推敲,給出適宜的難度。
          3) 完善評分機制。
          在以前的教學實踐中,經(jīng)常發(fā)生代碼雷同和類似的結果,單憑測試結果無法甄別是否存在抄襲現(xiàn)象,對于成績的評定和考試的公平性有一定的阻礙和影響,也影響到部分學生課程實踐的積極性。因此,在實驗評價中,除了程序結果測試和實驗報告之外,加入了隨機答辯環(huán)節(jié)。隨機抽取某段程序,讓學生給老師和其他同學講解其功能、工作過程和設計思想。這樣一來,較好地避免了課程實踐中經(jīng)常出現(xiàn)的剽竊程序或偷懶現(xiàn)象,讓學生真正做到理論聯(lián)系實際。
          3結語
          為了改善編譯原理課程的教學效果,我們在教學模式、思維訓練、專業(yè)素質培養(yǎng)以及提高動手能力方面進行了一系列改革,如采用多種教學模式激發(fā)學習興趣、注重思維能力和專業(yè)素質以及加強教學實踐環(huán)節(jié)提高動手能力等。這些措施極大地激發(fā)了學生的學習興趣,學生普遍反映編譯原理課程沒有想象中的難,厭學現(xiàn)象也減少了,對教學質量的提高起到了促進的效果。
          
          參考文獻:
          [1] 蔣宗禮.“編譯原理”課程與專業(yè)能力培養(yǎng)[J]. 計算

        777国产偷窥盗摄精品品在线| 亚洲AV成人片色在线观看高潮| 亚洲人成18禁网站| 青青草免费激情自拍视频| 国产三级三级精品久久| 午夜一区二区三区观看| 免费毛片a线观看| 在线视频你懂的国产福利| 久久综合激激的五月天| 青青草视频在线观看色| 中文字幕丰满伦子无码| 一本久道久久综合久久| 狼人综合干伊人网在线观看| 国产精品一区二区三区专区| 男女爱爱好爽视频免费看| 亚洲av日韩精品久久久久久 | 少妇下蹲露大唇无遮挡| 亚洲精品综合第一国产综合| 蜜桃在线观看视频在线观看| 人妻少妇中文字幕在线| 国产欧美日韩一区二区三区| 日本五月天婷久久网站| 亚洲国产色图在线视频| 日韩精品免费一区二区三区观看| 女人喷潮完整视频| 久久婷婷色综合一区二区 | 女同同志熟女人妻二区| 午夜性无码专区| 亚洲国产精品国自产电影| 青青草视频在线观看9| 国产suv精品一区二区四| 国产嫖妓一区二区三区无码| 国产精品女同学| 日本伊人精品一区二区三区| 亚洲国产精品日韩av不卡在线| 亚洲人成人一区二区三区| 国产激情小视频在线观看 | 中文字幕亚洲好看有码| 亚洲男女视频一区二区| 欧美性色欧美a在线播放| 欧美激情内射喷水高潮|