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