徐秀娟 江賀 劉馨月 賈棋



摘 要:根據卓越工程師的培養目標,針對編譯原理課程的教學實際,分析編譯原理課程的教學特點以及當前學生的特點,闡述編譯原理課程的立體化教學資源建設方法,最后說明教學效果。
關鍵詞:卓越工程師;開放課程;問題教學;編譯原理
0 引 言
2010年6月教育部正式提出了“卓越工程師教育培養計劃”,以貫徹落實《國家中長期教育改革和發展規劃綱要》,旨在培養一大批能夠適應社會發展的、創新能力強的高質量工程型技術人才[1-2]。結合面向卓越工程師發展的人才培養體系[3],編譯原理課程致力于使該體系的實驗教學和專業訓練條件達到國內先進水平,為學生提供優良、完善的實驗與實踐條件。
編譯原理、操作系統、數據結構是各大高校計算機專業的三大核心課程,也是各大高校與一般高職院校計算機專業的重要差別之一。與數據結構、操作系統和數據庫這類計算機核心課程相比,編譯原理課程具有不針對具體語言且模塊化的特點,是高校計算機專業、軟件工程專業的重要專業課程。
1 編譯原理課程授課現狀及定位
1.1 授課內容的特點
編譯原理課程是計算機和軟件工程專業的一門重要核心課,有一定的理論性又有一定的實踐性,尤其是本課程的知識與計算機應用中很多領域有緊密聯系[4]。了解與掌握本課程的基本內容有利于學生提高專業素質和能力。通過本課程的學習,學生既能掌握編譯的基本過程、基本方法、編譯系統的組成,又具有設計、實現、分析編譯程序的初步能力,為今后從事應用軟件和系統軟件的開發打下一定的理論和實踐基礎。
本課程介紹編譯程序構造的一般原理和基本實現方法,內容包括形式語言基本知識、詞法分析、語法分析、中間代碼生成和目標代碼生成,要求學生不僅了解與掌握編譯程序構造的基本原理與技術,還要了解其中的基本概念、基本原理和實現方法。本課程理論性較強、概念復雜、難以理解。為了適應應用型工程師人才培養的目標,編譯原理教學小組對原有的教學大綱進行了調整,增加了一些工程應用的案例。由于課堂教學學時保持48學時不變,教師需要調整教學內容的分配,僅僅利用課堂時間完成整套編譯原理課程的教授有很大困難,此時慕課的出現很好地補充了原有的不足。
1.2 授課對象的特點
當前高校的大學生幾乎都是90后,具備如下特點。
(1)多數伴隨著網絡一起成長,有問題更習慣直接求助網絡;課堂上更加沉默,對教師的提問不愿給予積極回應。
(2)多數是視頻一代,習慣看各類吸引眼球的視頻,教師針對單個知識的直接講述很難吸引學生,學生的注意力集中時間更短。
(3)學生的個性更為突出,單純的課堂教學很難滿足學生多樣化的需求。
基于以上幾點,現有的課堂模式必須加以轉變才能有效激發學生的學習興趣。
1.3 課程重新定位
針對編譯原理課程,要構建軟件學院的授課體系,開發符合軟件學院教學案例以充實和豐富課堂內容,研究問題驅動的教學模式和任務驅動的實驗教學模式,利用多元化、立體化的視頻授課、研究課題等教學資源,構建課程的全新教學體系,探索性地研究問題驅動的教學理念效果,以達到培養學生創新能力、動手能力的目的。編譯原理是信息管理與信息系統、軟件工程、計算機科學與技術等專業的一門重要專業課,其目的是使選修本課程的學生深刻了解從傳統的編譯器轉變到編譯原理的必要性、必然性和可行性[5]。
1.4 問題引導式的課堂設計
由于豐富的教學資源,特別是慕課資源的出現,沖擊了傳統的教學方式,在建設慕課資源的時候,需要結合編譯原理知識框圖,從每個知識點對應的問題開始講授,引導學生自主式學習。
教師提出能夠引起學生深入思考的問題,這些問題包括新講授知識和之前知識的拓展和延伸[6]。例如,針對語法分析方法,引導學生思考構造語法樹的方法有哪些,通過設定特定的表達式啟發學生思考問題,并一起尋找解決方案。
教師在問題討論的基礎上引導學生,使學生由淺層知識學習轉變到深層知識學習。例如,結合本課程,通過語法樹的構造方法,首先討論自上而下的語法樹應該具有哪些特點,進而介紹如何消除左遞歸和提取左因子。
在每次課結束之后,教師仍舊通過一個問題給出下次課的討論主題。例如,在學習完成自上而下的語法分析后,引導學生思考如果采取自下而上的分析方法,如何利用棧完成構造語法樹的工作,學生展示實現的算法,教師進行點評,使學生能夠進行對比,深刻理解各類算法的優缺點。最后,教師布置本次課程的作業。
2 立體化的教學體系
學校結合精英教育發展思路,總結國內外其他院校在編譯原理課程方面對學生素質培養的成功經驗,通過對編譯原理課程體系的研究,從培養模式、教學模式、考核模式等角度構建編譯原理知識體系和實驗設計。本項目由教授負責整體設計和分配,最終形成“教授—副教授—講師”階梯教學團隊,打造高水平的編譯原理在線開放課程。本課程建設包括5個方面,見圖1。
(1)建立整體化的知識點結構,增加學生的學習動力。
(2)建立原理與實踐統一的課程內容組織結構,降低學生的學習難度。
(3)采用多層次激勵型教學模式,吸引學生的學習興趣。
(4)設計梯度化實驗體系,提高學生的學習效果。
(5)建設立體化教學資源平臺,保障教學質量。
2.1 整體化的教學內容建設
編譯原理是較難的計算機學科課程,內容較為抽象,但如果教學內容設計合理,則能很大程度提升學生的興趣。圍繞核心內容,結合社會對本課程的實際需求,我們進一步完善課程內容,例如換名調用的參數傳遞方法;加強對前沿知識的介紹,增加在線編譯器的介紹;引入在線編譯器網站等。圖2為整體化的教學資源建設示意圖。