牛秋月,唐國良
(河南中醫(yī)藥大學(xué)信息技術(shù)學(xué)院,鄭州450046)
針對《編譯原理》課程內(nèi)容抽象,知識點多且分散,課時少等教學(xué)實際,分析當(dāng)前《編譯原理》課程的教學(xué)現(xiàn)狀和學(xué)生特點,樹立“以學(xué)生為主體,以問題為導(dǎo)向”的教學(xué)理念,引入SPOC和PBL,整合線上線下資源,開展混合模式教學(xué),激發(fā)學(xué)生學(xué)習(xí)興趣,提高教學(xué)效果。
編譯原理;PBL;SPOC;混合模式教學(xué)
《編譯原理》是本科計算機專業(yè)必修的一門專業(yè)主干課程,該課程理論性強,復(fù)雜算法和知識點較多且抽象,普遍被認為是本科階段最難學(xué)難教的一門專業(yè)課[1]。該課程之所以難,從學(xué)生角度看,主要表現(xiàn)為內(nèi)容抽象難以掌握。從教師角度看主要表現(xiàn)在三個方面:一是該課程重難點比較集中,主要在第三四五章節(jié)的詞法分析與語法分析部分,學(xué)生在學(xué)習(xí)前兩章的時候積極性還可以,在三四五章學(xué)習(xí)時容易出現(xiàn)挫敗心理,直接影響到后續(xù)章節(jié)的學(xué)習(xí);二是該課程的理論講授和實踐鍛煉兩部分之間的銜接不好處理,現(xiàn)階段理論講授環(huán)節(jié)多采用傳統(tǒng)的填鴨式灌輸教學(xué),學(xué)生是被動的接受編譯器實現(xiàn)的原理和技術(shù),實驗課上讓學(xué)生自己動手設(shè)計時,不知從哪兒著手去寫程序;三是知識點多且分散,課時少,僅利用課堂時間很難完成整套編譯理論的講授。
計算機專業(yè)是一個重實踐的專業(yè),如何使學(xué)生在弄懂編譯理論的同時,把實踐結(jié)合起來,提高學(xué)生的學(xué)習(xí)積極性,培養(yǎng)學(xué)生的計算思維能力,是當(dāng)前《編譯原理》教學(xué)亟待解決的問題[2]。本文針對本校計算機科學(xué)與技術(shù)專業(yè)的培養(yǎng)目標(biāo)和課程特點,引入SPOC和PBL,開展混合模式教學(xué),經(jīng)過一個學(xué)期的教學(xué)方法改革和教學(xué)實踐,取得了良好的教學(xué)效果。
PBL,是以問題為導(dǎo)向的教學(xué)方法,充分體現(xiàn)出“以學(xué)生為主體,以問題為導(dǎo)向”的教學(xué)原則[3],PBL教學(xué)法主要按照“教師設(shè)計問題—學(xué)生自主學(xué)習(xí)—分組討論及發(fā)言—教師總結(jié)”的教學(xué)思路來開展教學(xué),目的是提高學(xué)生學(xué)習(xí)興趣,促進學(xué)生主動地思考和學(xué)習(xí)。
針對本課程中一些重要且學(xué)生不易接受的知識點,采用PBL教學(xué)法,以實際問題讓學(xué)生自行尋找解決問題的方案,激發(fā)學(xué)生主動學(xué)習(xí)的本能。
例如在介紹自上而下分析所面臨問題時,假定有文法G(S):
(1)S→xAy
(2)A→**|*
分析輸入串x*y。
分析過程中,當(dāng)用一個非終結(jié)符A的第一個候選擴展A時,第一個“*”能夠匹配成功,但這種匹配是暫時的,當(dāng)分析指針I(yè)P指向下一個符號“y”時,此時分析出錯,如圖1所示。不得不“回溯”到上一步,采用A的第二個候選去擴展A,分析成功。
圖1 自上而下分析過程舉例
再例如介紹算法優(yōu)先分析法中算法的優(yōu)先順序時,二義文法G(E):E→i|E+E|E-E|E*E|E/E|(E)為例,分析句子“i+i-i*(i+i)”,會生成以下兩種不同的語法樹,如圖2所示。如果規(guī)定算符的優(yōu)先次序,并按這種規(guī)定進行歸約,則歸約過程是唯一的。
圖2 算法優(yōu)先分析法舉例
但是如果提前規(guī)定此文法算符之家的優(yōu)先次序,并按這種規(guī)定進行歸約,則歸約過程是唯一的。
由于本課程知識點抽象知識點較多,不再一一列舉其PBL案例。
結(jié)合前兩個學(xué)期在多個在線教學(xué)平臺的試用效果,討論并分析各平臺的優(yōu)勢、教學(xué)管理功能、網(wǎng)絡(luò)是否擁堵及學(xué)生對各平臺的反響等因素,決定采用以課堂派為主,雨課堂、釘釘、騰訊課堂等教學(xué)平臺為輔[4]。
根據(jù)該校開設(shè)此課程的專業(yè)培養(yǎng)目標(biāo)及課程內(nèi)容,選用中國大學(xué)MOOC上由國防科技大學(xué)王挺教授錄制的MOOC視頻作為線上同步SPOC教學(xué)資源。該MOOC視頻在2007年被評為國家精品課程,2016年被評為國家精品資源共享課程。
混合式課堂教學(xué)過程設(shè)計如圖3所示。
圖3 混合式課堂教學(xué)過程設(shè)計
在課堂派公告區(qū)發(fā)布每章節(jié)的學(xué)習(xí)目標(biāo)、學(xué)習(xí)內(nèi)容與作業(yè)要求,本章節(jié)與前后章節(jié)知識點之間的關(guān)系,另附上相應(yīng)章節(jié)的MOOC視頻學(xué)習(xí)清單及作業(yè)問題。學(xué)生在視頻學(xué)習(xí)完成之后,可以提交作業(yè)。
教師根據(jù)學(xué)生課前自主學(xué)習(xí)及作業(yè)完成情況,通過課堂派直播或線下課堂等方式,進行知識點的串講和討論,為了活躍課堂氣氛,授課過程中會根據(jù)學(xué)習(xí)內(nèi)容設(shè)置互動搶答或隨機提問的形式,督促學(xué)生認真上課。
每章節(jié)學(xué)習(xí)結(jié)束后,都會在課堂派上發(fā)布一次綜合性單元測試,測試習(xí)題內(nèi)容及順序都是隨機打亂的,避免學(xué)生相互抄襲。
由于《編譯原理》理論性強,內(nèi)容抽象,在實施過程中多以講授為主,針對課堂中不同知識點,根據(jù)其難易程度、算法特點等采取不同的教學(xué)方法,而非從頭到尾采用某種單一的教學(xué)方法。本文提出將PBL教學(xué)法、類比教學(xué)法、圖形化、角色翻轉(zhuǎn)等多種教學(xué)方法,在一定程度上化繁為簡、化抽象為形象,這樣不僅可以幫助學(xué)生更好理解課程中的知識點,還能夠提高學(xué)生學(xué)習(xí)積極性、培養(yǎng)學(xué)生主動思考問題解決問題的能力。
本課程在理論教學(xué)中主要采用PBL教學(xué)法,但由于該課程抽象知識點較多,如果在授課過程中每個知識點都設(shè)計問題的話,提出的問題會過多,降低授課效率,收不到理想的教學(xué)效果。因此,該方法主要用于介紹本課程的重要且較難理解知識點,其他知識點的講解多采用諸如以下幾種教學(xué)方法。
對本課程中一些十分抽象且不易理解的知識點,拿出一個大家能看見的或較易理解的對象來進行對照學(xué)習(xí)。例如在講解編譯過程及每個階段的任務(wù)時,類比為自然語言的翻譯過程,便于學(xué)生理解。自然語言的翻譯要經(jīng)過以下幾步:①識別出句子中的一個個單詞;②分析句子的語法結(jié)構(gòu);③根據(jù)句子的含義進行初步翻譯;④對譯文進行修飾;⑤寫出最后的譯文。這5個步驟剛好和編譯過程的詞法分析、語法分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成這5個階段一一對應(yīng),如圖4所示。
圖4 編譯過程類比為自然語言翻譯
利用圖形和動畫展示抽象算法的實現(xiàn)過程,能夠把知識的講解化靜為動,培養(yǎng)和激發(fā)學(xué)生的學(xué)習(xí)興趣。例如在講解確定有限自動機和非確定有限自動機的區(qū)別時,我們借助狀態(tài)轉(zhuǎn)換圖來描述,NFA確定化為DFA時把每一步操作都通過動畫在圖形里面表示出來,讓學(xué)生能夠直觀地看到整個算法的實現(xiàn)過程。
課前教師需將相應(yīng)章節(jié)的教學(xué)大綱、PPT、教學(xué)視頻、自測題等教學(xué)資源上傳到網(wǎng)絡(luò)教學(xué)平臺,并要求學(xué)生在課前進行自主學(xué)習(xí),自學(xué)過程中產(chǎn)生的疑問可以在平臺上與老師、同學(xué)進行交流,或帶到課堂上進行探討。課程教學(xué)中,教師首先針對學(xué)生在課前自學(xué)過程中遇到的問題給出解答。然后教師再根據(jù)學(xué)生的學(xué)習(xí)情況設(shè)計研討題目,要求學(xué)生在規(guī)定時間內(nèi)分組進行討論,討論結(jié)束后每組推選出一位代表總結(jié)發(fā)言。小組代表總結(jié)發(fā)言時,教師可適當(dāng)?shù)奶岢鲆蓡?,其他小組的學(xué)生也可提出質(zhì)疑并發(fā)表自己的見解。最后,教師針對學(xué)生課堂的表現(xiàn)情況做出總結(jié),理清本次課程知識點的脈絡(luò),對學(xué)生掌握不牢固的知識點,再次布置任務(wù),加深學(xué)生對知識的理解[5]。
本課程基于以上的教學(xué)設(shè)計,在2019-2020學(xué)年第二學(xué)期針對本校計算機科學(xué)與技術(shù)專業(yè)學(xué)生,開展一學(xué)期的線上線下相結(jié)合的混合模式教學(xué)。經(jīng)調(diào)查統(tǒng)計數(shù)據(jù)顯示,引入PBL和MOOC之后的混合式教學(xué)學(xué)生期末成績有了大幅度提高。
近三年學(xué)生成績分布直方圖對例如圖5所示。
圖5 近三年成績對比
針對《編譯原理》抽象難懂難學(xué)的特點,引入PBL和國家精品MOOC資源,經(jīng)過精心的教學(xué)設(shè)計,采用線上線下相結(jié)合的混合模式教學(xué),將《編譯原理》課程中的知識點及難點與實際的案例有機地、融會貫通的結(jié)合起來。經(jīng)過一學(xué)期的試行,證明這種教學(xué)模式是可行的、有益的。在以后教學(xué)過程中,將繼續(xù)研究和探索混合式教學(xué)模式的教學(xué)方法和設(shè)計,培養(yǎng)學(xué)生的自主學(xué)習(xí)和創(chuàng)新思維能力、溝通協(xié)作能力等,提高教學(xué)效果。