馮 玲,段西強
(泰山學院信息科學技術學院,山東泰安 271021)
“編譯原理”課程是計算機專業的核心基礎課程,任何計算機語言的實現都離不開編譯技術,因而,作為計算機專業的學生,學習和掌握編譯程序的基本構造原理和實現技術,對今后進一步的學習、研究和工作奠定堅實的專業理論基礎是十分必要的.但是因為”編譯原理”課程的理論性很強,所以學生普遍認為學習比較困難,而且學習興趣不高.為了使學生的學習效果得到改觀,激發學生的學習興趣,設計和開發了”編譯原理”課程智能教學系統.
計算機智能教學系統(Intelligent Tutor System),簡稱ITS系統,是模仿人類教學專家的經驗、方法來輔助教學工作的計算機系統[1].ITS系統能代替教師的部分作用,并能夠彌補教師的某些不足.一般應具有以下5個功能:具備某一學科知識,能夠分析學習者特征,評價和記錄學習者的學習情況,診斷學習中的錯誤并進行補救教學,可以自動選擇不同的教學方法實現以學生為主體的個別化教學過程.
智能導師系統能提供一對一的個性化教學,跟蹤了解學生的學習情況及其反應,并能提供智能化的學習評價和指導.一個基于教學過程的ITS模型,由學科知識庫、學生模型、教學策略推理機等模塊組成[2],其中學科知識庫、教學策略推理機和教學策略庫構成了ITS中的主要知識表示.
本課題將ITS的思想與”編譯原理”課程的特點相結合,積極聽取學生和專業教師的意見,建立一個以學生為主體的課程實驗模型,以此讓學生感受計算機課程功能的強大,建立自己的學習課程小系統,增加學習興趣,建立學習信心,增強學習效果.對于教師來說,打破以往滿堂灌、填鴨式教學的缺點,可以針對不同學生進行不同階梯的輔導,實現多元化教學,讓學生在不斷的探究和實踐中圓滿完成學習任務.

圖1 智能教學系統功能圖
“編譯原理”智能教學系統如圖1所示.本系統包括四種實體,即教師實體、學生實體、知識庫實體(含課程資源和知識體系)和教學實體.根據系統功能的具體要求,設立了下面幾個模塊[3]:
(1)登錄模塊:根據不同的用戶(教師用戶和學生用戶)選擇用戶類型,然后進行注冊和登錄.
(2)教師模塊:包含了教師的個人基本信息,存儲著教師的答疑、作業及試卷批改記錄.
(3)學生模塊:包含學生的個人基本信息,學習模塊、考試模塊、與教師的交互模塊.
(4)課程資源:為了完整的學習課程,必須將其知識點進行整合和劃分,一個課程資源就是一個知識節點,是組成教材的最小單位.課程資源有多種形式,如文本教案、PPT課件、教學視頻等.
(5)教學模塊:根據教材內容和學生的表現以及已有教學經驗(專家經驗)主導系統的運行,它包括教學策略和教學模型.
(6)診斷和學習評價:診斷就是可以檢測學生的行為并從中獲取有意義的信息.而學習評價則對診斷結果進行分析,然后再對學生的學習行為給出一個評價.根據學生學習評價,再對教學和課程資源進行評價.
(7)自學習:系統自學習是系統具有智能化的重要指標,主要是指教學方法的不斷完善(系統的自學習完成).系統通過不斷調整模型指標,使模型逐步接近真實情況,實現較為優化的教學過程.
(8)人機接口:可以將教學過程看成是系統和學生之間進行信息交流的過程.交互界面就是信息交流的橋梁和紐帶,通過交互界面系統以網頁形式將知識呈現給學生.
(9)教學支持系統:包括與學習有關的答疑系統、課程學習討論系統、作業提交與管理系統等.
根據“編譯原理”課程的特點,現詳細闡述系統功能中的關鍵模塊構建.
(1)知識體系表示
知識體系就是知識點的集合,包括知識點之間的相互關系結構.知識點是根據教學大綱,對課程分解的最小單元.知識體系庫應至少包含知識點屬性和知識點鏈接兩個數據庫.知識點屬性數據庫是知識表示的基礎,它反映知識點的集合;知識點鏈接數據庫反映知識點之間的關系和層次結構,主要用于知識推理[4].

圖2 “編譯原理”-詞法分析的知識點
圖2為知識點關系的一個例子,課程內容為“編譯原理”中詞法分析的知識點.圖中每一個結點表示一個知識點,結點之間的連線表示它們之間的依賴關系.
知識點的屬性包括知識點編號、類型、難度、重要程度、要求掌握的程度及學習時間長短等.知識點編號的目的是用于檢索和查找,應具有唯一性.為了數據組織方便,知識點編號應具有一定規律,譬如能反映出知識點所處的知識層次等.知識點類型可以分為:事實(一般為記憶型知識)、概念、規則、高級規則(問題求解)和認知策略(解決問題、分析問題的方法)幾類,可以分別用數字1~5表示.知識點難度可以分為:容易、較難和很難3級,分別用數字1~3表示.知識點的重要程度可以按照教學大綱的描述,分為選學、一般和很重要3種,用數字1~3來描述.知識點要求掌握的程度分為記憶、理解和運用3級,分別用1~3表示.學習時間是學習此知識點的參考時間,當學生的真正學習時間與此時間相差較遠時,應根據情況對學生有相應提示.另外,為了連接教學材料庫,還有一個課件名稱字段.
(2)課程資源庫的構成
課程資源庫的主要目的是構成學習環境并向學習者提供支持學習過程的各種條件.該庫的主要內容為與知識點對應的各種相關課件、課程教案及授課視頻.當通過某種搜索策略得到一個待學習知識點編號時,就可以從知識點屬性庫獲得與該知識點相關聯的課件名稱,以此名稱作為入口參數,來調用已經編寫好的多媒體課件,進行教學講解或練習等學習活動.
(3)學習及測評過程
學生進行注冊和登錄后,可根據下列步驟完成學習活動和測評.
①選擇學習方式(即教學策略),如順序學習(即按照知識點的順序來進行學習活動)、跳躍式學習(即隨便選擇某個知識點學習,當碰到未學習知識點時,再通過鏈接學習相關知識點)、先學習后測試或先測試后學習等.根據“編譯原理”課程的特點,推薦采用順序學習和先學習后測試的方法.因為“編譯原理”課程主要講解編譯程序的六大步驟,即詞法分析、語法分析、語義分析、中間代碼生成、代碼優化和目標代碼生成,另外還有與各個分析過程相關的表格管理和出錯處理.這六大步驟是一個順序執行的過程,如果采用順序學習,有利于編譯過程的理解.
②進行知識點學習,通過點擊知識點的相關課件、教案或教學視頻來學習相應知識點,當學生在退出系統時,要記錄每個學生的學習進度.具體實現可以通過建立學習進度表,其屬性包括編號、學生ID、學習知識點ID.當學生再次登錄時,直接跳到上次的學習進度進行學習.
③控制學習過程,對每個知識點都設置參考學習時間,當學生對此知識點的真正學習時間與參考學習時間相差較遠時,說明學生在學習此知識點時碰到了學習問題,此時有系統小助手對學生進行提示,如“學習時間太短了,有認真學習么”、“學習時間太長了,碰到學習困難了么?還是去做其他事情了”.然后學生可以根據自己的實際情況來進行下面的學習活動.這樣可以對學生的學習有督促作用,并能提高學生的學習興趣.
④進行學習測評,當學生學習完某個知識點后,系統會自動跳出與此知識點相關的少量測試題,通過學生對測試題的解答情況來測評學生學習此知識點的情況;另外,在每一章節學習完成后,系統會跳出與此章節有關的測試題,除一些較新的測試題外,學生在知識點測試中出錯的習題必須出現在章節測試題中,這樣可以讓學生加深學習印象,全面掌握知識點.
(4)教師與學生交互
學生可以通過留言板與教師進行交互,如詢問學習問題,討論學習方法等.
教師在注冊和登錄后,可以瀏覽學生的學習進度和學習效果(即測評結果),并且可以給學生留言,以此來督促學生學習或者評價學生的學習過程.
根據“編譯原理”課程的特點設計并開發的智能教學系統,人機交互界面友好,便于用戶的操作,而且系統具有通用性,可根據教學的實際情況更新數據庫,即可完成其它課程或內容的學習,軟件編制完成后,通過試驗,有良好的學習效果,當然,因為基礎設施等因素,系統智能和情感方面有很多不足之處,有待功能上的完善和擴充.
[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]劉晉鋼,等.計算機組成原理智能教學系統的實現[J].山西電子技術,2009(5),76-77.
[4]王陸,王美華.ITS系統中基于關系模型的知識表示[J].北京大學學報(自然科學版),2000,36(5):659-663.