馮 玲,段西強
(泰山學(xué)院信息科學(xué)技術(shù)學(xué)院,山東泰安 271021)
“編譯原理”課程是計算機專業(yè)的核心基礎(chǔ)課程,任何計算機語言的實現(xiàn)都離不開編譯技術(shù),因而,作為計算機專業(yè)的學(xué)生,學(xué)習(xí)和掌握編譯程序的基本構(gòu)造原理和實現(xiàn)技術(shù),對今后進一步的學(xué)習(xí)、研究和工作奠定堅實的專業(yè)理論基礎(chǔ)是十分必要的.但是因為”編譯原理”課程的理論性很強,所以學(xué)生普遍認(rèn)為學(xué)習(xí)比較困難,而且學(xué)習(xí)興趣不高.為了使學(xué)生的學(xué)習(xí)效果得到改觀,激發(fā)學(xué)生的學(xué)習(xí)興趣,設(shè)計和開發(fā)了”編譯原理”課程智能教學(xué)系統(tǒng).
計算機智能教學(xué)系統(tǒng)(Intelligent Tutor System),簡稱ITS系統(tǒng),是模仿人類教學(xué)專家的經(jīng)驗、方法來輔助教學(xué)工作的計算機系統(tǒng)[1].ITS系統(tǒng)能代替教師的部分作用,并能夠彌補教師的某些不足.一般應(yīng)具有以下5個功能:具備某一學(xué)科知識,能夠分析學(xué)習(xí)者特征,評價和記錄學(xué)習(xí)者的學(xué)習(xí)情況,診斷學(xué)習(xí)中的錯誤并進行補救教學(xué),可以自動選擇不同的教學(xué)方法實現(xiàn)以學(xué)生為主體的個別化教學(xué)過程.
智能導(dǎo)師系統(tǒng)能提供一對一的個性化教學(xué),跟蹤了解學(xué)生的學(xué)習(xí)情況及其反應(yīng),并能提供智能化的學(xué)習(xí)評價和指導(dǎo).一個基于教學(xué)過程的ITS模型,由學(xué)科知識庫、學(xué)生模型、教學(xué)策略推理機等模塊組成[2],其中學(xué)科知識庫、教學(xué)策略推理機和教學(xué)策略庫構(gòu)成了ITS中的主要知識表示.
本課題將ITS的思想與”編譯原理”課程的特點相結(jié)合,積極聽取學(xué)生和專業(yè)教師的意見,建立一個以學(xué)生為主體的課程實驗?zāi)P?,以此讓學(xué)生感受計算機課程功能的強大,建立自己的學(xué)習(xí)課程小系統(tǒng),增加學(xué)習(xí)興趣,建立學(xué)習(xí)信心,增強學(xué)習(xí)效果.對于教師來說,打破以往滿堂灌、填鴨式教學(xué)的缺點,可以針對不同學(xué)生進行不同階梯的輔導(dǎo),實現(xiàn)多元化教學(xué),讓學(xué)生在不斷的探究和實踐中圓滿完成學(xué)習(xí)任務(wù).
圖1 智能教學(xué)系統(tǒng)功能圖
“編譯原理”智能教學(xué)系統(tǒng)如圖1所示.本系統(tǒng)包括四種實體,即教師實體、學(xué)生實體、知識庫實體(含課程資源和知識體系)和教學(xué)實體.根據(jù)系統(tǒng)功能的具體要求,設(shè)立了下面幾個模塊[3]:
(1)登錄模塊:根據(jù)不同的用戶(教師用戶和學(xué)生用戶)選擇用戶類型,然后進行注冊和登錄.
(2)教師模塊:包含了教師的個人基本信息,存儲著教師的答疑、作業(yè)及試卷批改記錄.
(3)學(xué)生模塊:包含學(xué)生的個人基本信息,學(xué)習(xí)模塊、考試模塊、與教師的交互模塊.
(4)課程資源:為了完整的學(xué)習(xí)課程,必須將其知識點進行整合和劃分,一個課程資源就是一個知識節(jié)點,是組成教材的最小單位.課程資源有多種形式,如文本教案、PPT課件、教學(xué)視頻等.
(5)教學(xué)模塊:根據(jù)教材內(nèi)容和學(xué)生的表現(xiàn)以及已有教學(xué)經(jīng)驗(專家經(jīng)驗)主導(dǎo)系統(tǒng)的運行,它包括教學(xué)策略和教學(xué)模型.
(6)診斷和學(xué)習(xí)評價:診斷就是可以檢測學(xué)生的行為并從中獲取有意義的信息.而學(xué)習(xí)評價則對診斷結(jié)果進行分析,然后再對學(xué)生的學(xué)習(xí)行為給出一個評價.根據(jù)學(xué)生學(xué)習(xí)評價,再對教學(xué)和課程資源進行評價.
(7)自學(xué)習(xí):系統(tǒng)自學(xué)習(xí)是系統(tǒng)具有智能化的重要指標(biāo),主要是指教學(xué)方法的不斷完善(系統(tǒng)的自學(xué)習(xí)完成).系統(tǒng)通過不斷調(diào)整模型指標(biāo),使模型逐步接近真實情況,實現(xiàn)較為優(yōu)化的教學(xué)過程.
(8)人機接口:可以將教學(xué)過程看成是系統(tǒng)和學(xué)生之間進行信息交流的過程.交互界面就是信息交流的橋梁和紐帶,通過交互界面系統(tǒng)以網(wǎng)頁形式將知識呈現(xiàn)給學(xué)生.
(9)教學(xué)支持系統(tǒng):包括與學(xué)習(xí)有關(guān)的答疑系統(tǒng)、課程學(xué)習(xí)討論系統(tǒng)、作業(yè)提交與管理系統(tǒng)等.
根據(jù)“編譯原理”課程的特點,現(xiàn)詳細闡述系統(tǒng)功能中的關(guān)鍵模塊構(gòu)建.
(1)知識體系表示
知識體系就是知識點的集合,包括知識點之間的相互關(guān)系結(jié)構(gòu).知識點是根據(jù)教學(xué)大綱,對課程分解的最小單元.知識體系庫應(yīng)至少包含知識點屬性和知識點鏈接兩個數(shù)據(jù)庫.知識點屬性數(shù)據(jù)庫是知識表示的基礎(chǔ),它反映知識點的集合;知識點鏈接數(shù)據(jù)庫反映知識點之間的關(guān)系和層次結(jié)構(gòu),主要用于知識推理[4].
圖2 “編譯原理”-詞法分析的知識點
圖2為知識點關(guān)系的一個例子,課程內(nèi)容為“編譯原理”中詞法分析的知識點.圖中每一個結(jié)點表示一個知識點,結(jié)點之間的連線表示它們之間的依賴關(guān)系.
知識點的屬性包括知識點編號、類型、難度、重要程度、要求掌握的程度及學(xué)習(xí)時間長短等.知識點編號的目的是用于檢索和查找,應(yīng)具有唯一性.為了數(shù)據(jù)組織方便,知識點編號應(yīng)具有一定規(guī)律,譬如能反映出知識點所處的知識層次等.知識點類型可以分為:事實(一般為記憶型知識)、概念、規(guī)則、高級規(guī)則(問題求解)和認(rèn)知策略(解決問題、分析問題的方法)幾類,可以分別用數(shù)字1~5表示.知識點難度可以分為:容易、較難和很難3級,分別用數(shù)字1~3表示.知識點的重要程度可以按照教學(xué)大綱的描述,分為選學(xué)、一般和很重要3種,用數(shù)字1~3來描述.知識點要求掌握的程度分為記憶、理解和運用3級,分別用1~3表示.學(xué)習(xí)時間是學(xué)習(xí)此知識點的參考時間,當(dāng)學(xué)生的真正學(xué)習(xí)時間與此時間相差較遠時,應(yīng)根據(jù)情況對學(xué)生有相應(yīng)提示.另外,為了連接教學(xué)材料庫,還有一個課件名稱字段.
(2)課程資源庫的構(gòu)成
課程資源庫的主要目的是構(gòu)成學(xué)習(xí)環(huán)境并向?qū)W習(xí)者提供支持學(xué)習(xí)過程的各種條件.該庫的主要內(nèi)容為與知識點對應(yīng)的各種相關(guān)課件、課程教案及授課視頻.當(dāng)通過某種搜索策略得到一個待學(xué)習(xí)知識點編號時,就可以從知識點屬性庫獲得與該知識點相關(guān)聯(lián)的課件名稱,以此名稱作為入口參數(shù),來調(diào)用已經(jīng)編寫好的多媒體課件,進行教學(xué)講解或練習(xí)等學(xué)習(xí)活動.
(3)學(xué)習(xí)及測評過程
學(xué)生進行注冊和登錄后,可根據(jù)下列步驟完成學(xué)習(xí)活動和測評.
①選擇學(xué)習(xí)方式(即教學(xué)策略),如順序?qū)W習(xí)(即按照知識點的順序來進行學(xué)習(xí)活動)、跳躍式學(xué)習(xí)(即隨便選擇某個知識點學(xué)習(xí),當(dāng)碰到未學(xué)習(xí)知識點時,再通過鏈接學(xué)習(xí)相關(guān)知識點)、先學(xué)習(xí)后測試或先測試后學(xué)習(xí)等.根據(jù)“編譯原理”課程的特點,推薦采用順序?qū)W習(xí)和先學(xué)習(xí)后測試的方法.因為“編譯原理”課程主要講解編譯程序的六大步驟,即詞法分析、語法分析、語義分析、中間代碼生成、代碼優(yōu)化和目標(biāo)代碼生成,另外還有與各個分析過程相關(guān)的表格管理和出錯處理.這六大步驟是一個順序執(zhí)行的過程,如果采用順序?qū)W習(xí),有利于編譯過程的理解.
②進行知識點學(xué)習(xí),通過點擊知識點的相關(guān)課件、教案或教學(xué)視頻來學(xué)習(xí)相應(yīng)知識點,當(dāng)學(xué)生在退出系統(tǒng)時,要記錄每個學(xué)生的學(xué)習(xí)進度.具體實現(xiàn)可以通過建立學(xué)習(xí)進度表,其屬性包括編號、學(xué)生ID、學(xué)習(xí)知識點ID.當(dāng)學(xué)生再次登錄時,直接跳到上次的學(xué)習(xí)進度進行學(xué)習(xí).
③控制學(xué)習(xí)過程,對每個知識點都設(shè)置參考學(xué)習(xí)時間,當(dāng)學(xué)生對此知識點的真正學(xué)習(xí)時間與參考學(xué)習(xí)時間相差較遠時,說明學(xué)生在學(xué)習(xí)此知識點時碰到了學(xué)習(xí)問題,此時有系統(tǒng)小助手對學(xué)生進行提示,如“學(xué)習(xí)時間太短了,有認(rèn)真學(xué)習(xí)么”、“學(xué)習(xí)時間太長了,碰到學(xué)習(xí)困難了么?還是去做其他事情了”.然后學(xué)生可以根據(jù)自己的實際情況來進行下面的學(xué)習(xí)活動.這樣可以對學(xué)生的學(xué)習(xí)有督促作用,并能提高學(xué)生的學(xué)習(xí)興趣.
④進行學(xué)習(xí)測評,當(dāng)學(xué)生學(xué)習(xí)完某個知識點后,系統(tǒng)會自動跳出與此知識點相關(guān)的少量測試題,通過學(xué)生對測試題的解答情況來測評學(xué)生學(xué)習(xí)此知識點的情況;另外,在每一章節(jié)學(xué)習(xí)完成后,系統(tǒng)會跳出與此章節(jié)有關(guān)的測試題,除一些較新的測試題外,學(xué)生在知識點測試中出錯的習(xí)題必須出現(xiàn)在章節(jié)測試題中,這樣可以讓學(xué)生加深學(xué)習(xí)印象,全面掌握知識點.
(4)教師與學(xué)生交互
學(xué)生可以通過留言板與教師進行交互,如詢問學(xué)習(xí)問題,討論學(xué)習(xí)方法等.
教師在注冊和登錄后,可以瀏覽學(xué)生的學(xué)習(xí)進度和學(xué)習(xí)效果(即測評結(jié)果),并且可以給學(xué)生留言,以此來督促學(xué)生學(xué)習(xí)或者評價學(xué)生的學(xué)習(xí)過程.
根據(jù)“編譯原理”課程的特點設(shè)計并開發(fā)的智能教學(xué)系統(tǒng),人機交互界面友好,便于用戶的操作,而且系統(tǒng)具有通用性,可根據(jù)教學(xué)的實際情況更新數(shù)據(jù)庫,即可完成其它課程或內(nèi)容的學(xué)習(xí),軟件編制完成后,通過試驗,有良好的學(xué)習(xí)效果,當(dāng)然,因為基礎(chǔ)設(shè)施等因素,系統(tǒng)智能和情感方面有很多不足之處,有待功能上的完善和擴充.
[1]Sleeman D H,Brown JS.Intelligent tutoring systems:An overview[M].New York:Academic Press,1982.
[2]SONG JS,Hahn SH,Tak K Y,et al.An intelligent tutoring systems for introductory C language course[J].Computers&Education,1997,28(2),93-102.
[3]劉晉鋼,等.計算機組成原理智能教學(xué)系統(tǒng)的實現(xiàn)[J].山西電子技術(shù),2009(5),76-77.
[4]王陸,王美華.ITS系統(tǒng)中基于關(guān)系模型的知識表示[J].北京大學(xué)學(xué)報(自然科學(xué)版),2000,36(5):659-663.