公務(wù)員期刊網(wǎng) 論文中心 正文

知識圖譜下C#課程學(xué)習(xí)導(dǎo)航系統(tǒng)探析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了知識圖譜下C#課程學(xué)習(xí)導(dǎo)航系統(tǒng)探析范文,希望能給你帶來靈感和參考,敬請閱讀。

知識圖譜下C#課程學(xué)習(xí)導(dǎo)航系統(tǒng)探析

計算機編程語言是計算機專業(yè)教育中非常重要的一個方向。在大學(xué)計算機專業(yè)的課程設(shè)置中,編程語言的教學(xué)往往從本科一年級下學(xué)期或二年級上學(xué)期就開始了。在這一背景下,一般的語言特性固然可以順利講授,但教學(xué)中也會涉及到很多其他專業(yè)知識如內(nèi)存分配、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫等,完全超出學(xué)生的學(xué)習(xí)范圍。如果不補充這些知識點,會使學(xué)生轉(zhuǎn)移注意力,甚至喪失興趣點,影響到接受知識的效率。教師需要隨時根據(jù)課堂上學(xué)生的反饋,延伸講解一些必要的知識點,才能使學(xué)生能充分理解所授知識點,確保教學(xué)質(zhì)量。2020年初的肺炎疫情使得在線教學(xué)成為重要的授課手段,然而在線課堂上教師很難及時掌握學(xué)生的動態(tài),從而忽略學(xué)生對陌生知識點的理解需求,最終影響到教學(xué)效果。為此,在“軟件構(gòu)造基礎(chǔ)———c#程序設(shè)計”課程組教學(xué)實踐基礎(chǔ)上,本文提出利用知識圖譜技術(shù)來為學(xué)生補充陌生知識點的方案,通過對授課內(nèi)容和聽課學(xué)生的知識結(jié)構(gòu)進行分析,整理出相關(guān)的知識點,在課程講授過程中,作為獨立知識點推送給各位學(xué)生,為其補充關(guān)聯(lián)知識。在充分調(diào)研課程領(lǐng)域本體模型及其實現(xiàn)的基礎(chǔ)上,課程組應(yīng)用知識圖譜(knowledgegraph)設(shè)計開發(fā)了C#課程學(xué)習(xí)導(dǎo)航系統(tǒng),并將其附加到現(xiàn)有在線教學(xué)平臺應(yīng)用于在線教學(xué)中。通過對學(xué)生的課堂測試和問卷調(diào)查,課程組發(fā)現(xiàn)該技術(shù)有效提升了在線教學(xué)的授課效率。

一、課程知識本體設(shè)計

知識圖譜本質(zhì)上是一個結(jié)構(gòu)化的語義知識庫,以符號形式描述客觀世界中的概念及其相互的邏輯依存關(guān)系,其基本的組成單位為兩種形式的知識三元組,即<實體1、關(guān)系、實體2>和<實體、屬性、屬性值>,實體間通過關(guān)系相互聯(lián)結(jié),構(gòu)成網(wǎng)狀的知識結(jié)構(gòu)[1]。從邏輯上看,知識圖譜由模式層(schemalayer)和數(shù)據(jù)層(datalayer)構(gòu)成,其中的模式層充當(dāng)知識圖譜的概念模型和邏輯基礎(chǔ),對知識圖譜的數(shù)據(jù)層進行規(guī)范和約束。通常采用本體作為知識圖譜的模式層,借助本體定義的規(guī)則和公理來約束知識圖譜的數(shù)據(jù)層;知識圖譜的數(shù)據(jù)層則是本體(圖譜模式層)的實例,以<實體1、關(guān)系、實體2>或<實體、屬性、屬性值>三元組的形式存儲各種事實(知識),形成一個圖狀的語義知識庫,其中的基本元素是各個實體,具體來說包括課程的章、節(jié)、知識點名稱等;關(guān)系則是其中某兩個實體之間的語義關(guān)系,是模式層所定義邏輯關(guān)系的實例;屬性是對實體的說明,表達實體與屬性值間的映射。設(shè)計過程中,課程組將“軟件構(gòu)造基礎(chǔ)———C#程序設(shè)計”課程中包含的教學(xué)知識作為圖譜數(shù)據(jù)層的具體內(nèi)容,將章、節(jié)、知識點等名稱(概念)作為圖譜模式層的內(nèi)容,通過定義課程知識圖譜中模式層應(yīng)包含的概念及它們之間的關(guān)系來確定課程知識圖譜的邏輯結(jié)構(gòu),從而獲得該圖譜的本體結(jié)構(gòu)。課程知識本體的設(shè)計工作重點考慮兩個方面,即知識的邏輯結(jié)構(gòu)體系,以及學(xué)習(xí)導(dǎo)航系統(tǒng)對課程知識圖譜的功能需求。課程組參考核心教材唐大仕編著的《C#程序設(shè)計教程(第2版)》[2],將課程所包含的知識點集合按教材大綱劃分為三個級別的學(xué)習(xí)單元(第一級對應(yīng)章、第二級對應(yīng)節(jié)、第三級對應(yīng)知識點),同時提取多種關(guān)聯(lián)關(guān)系進行語義標(biāo)注,生成一個較為復(fù)雜的知識網(wǎng)絡(luò)[3]。此外,在課程學(xué)習(xí)導(dǎo)航系統(tǒng)中,課程知識圖譜主要實現(xiàn)兩個方面的功能支持,一是為學(xué)生選擇合適的學(xué)習(xí)內(nèi)容提供重要參考依據(jù),二是幫學(xué)生推薦合理的學(xué)習(xí)路徑。如圖1所示,具體設(shè)計中課程組將課程知識本體設(shè)計為包含章、節(jié)、知識點三種級別知識單元的結(jié)構(gòu),同時標(biāo)注出知識單元之間存在的三種關(guān)系,即包含關(guān)系、相關(guān)關(guān)系和順序關(guān)系。例如,章與節(jié)、節(jié)與知識點間具有上下級(第一級、第二級、第三級)的包含關(guān)系,每一章包含多個節(jié),每一節(jié)包含多個知識點;章與章、節(jié)與節(jié)、知識點與知識點之間存在順序關(guān)系,即學(xué)習(xí)某一章、某一節(jié)或某一知識點時需要具備其他若干個章、節(jié)或知識點單元的學(xué)習(xí)基礎(chǔ),需要先行開展基礎(chǔ)知識的學(xué)習(xí);知識點與知識點間存在相關(guān)關(guān)系,即兩個知識點彼此具有千絲萬縷的聯(lián)系,通常需要同時學(xué)者來加深理解、提升知識接受水平?;谝陨显O(shè)計思路進行課程知識本體的結(jié)構(gòu)設(shè)計,可利用各類知識單元之間的邏輯依存關(guān)系生成各種滿足特定教學(xué)需求的學(xué)習(xí)路徑,為課程學(xué)習(xí)導(dǎo)航系統(tǒng)的不同用戶提供個性化學(xué)習(xí)服務(wù)。

二、課程知識圖譜構(gòu)建

課程組以“軟件構(gòu)造基礎(chǔ)———C#程序設(shè)計”課程為例,基于本體結(jié)構(gòu)研究和設(shè)計,構(gòu)建一個課程知識圖譜實例。知識圖譜主要采用自頂向下的方式由課程組教師構(gòu)建,先確定知識圖譜模式層中的各級概念,再與從開放鏈接的數(shù)據(jù)源中提取出來的實體、屬性和關(guān)系等知識要素進行關(guān)聯(lián)。圖2所示為C#課程知識圖譜構(gòu)建的流程,主要階段包括:基礎(chǔ)數(shù)據(jù)獲取、知識自動/半自動抽取、知識融合與表示、知識加工(實體對齊、標(biāo)準(zhǔn)表示、知識推理與發(fā)現(xiàn)等)。

(一)前期準(zhǔn)備

在構(gòu)建課程知識圖譜之前,課程組充分調(diào)研當(dāng)前知識圖譜實現(xiàn)技術(shù)及其工具集,完成構(gòu)建工具、存儲方式、支撐數(shù)據(jù)等選擇。目前,本體開發(fā)工具包括的美國斯坦福大學(xué)的Protégé和Ontolingua、德國卡爾斯魯厄大學(xué)的OntoEdit和KAON、英國的WebOnto、西班牙馬德里理工大學(xué)的WebODE等。本文采用Protégé作為課程本體構(gòu)建和編輯工具,采用OWL(webontologylanguage)格式文件存儲課程知識圖譜??紤]C#程序設(shè)計課程知識圖譜設(shè)計具有較強的專業(yè)性要求,且涉及教學(xué)目標(biāo)等知識,因此圖譜的初步構(gòu)建工作主要依賴于課程的專任教師。此外,課程知識圖譜構(gòu)建的學(xué)習(xí)資源和知識素材主要取自課程教學(xué)大綱和核心教材,同時也參考了其它一些國內(nèi)外優(yōu)秀書籍,如JonSkeet著的《深入理解C#(第3版)》[4]、GaryMcLeanHall編著的《C#敏捷開發(fā)實踐》[5]等。

(二)課程知識圖譜主體內(nèi)容實現(xiàn)

本課程知識圖譜的內(nèi)容主要由以下部分構(gòu)成:類及其屬性和關(guān)系的定義、實例及其屬性和關(guān)系的標(biāo)注[6]。依據(jù)“軟件構(gòu)造基礎(chǔ)———C#程序設(shè)計”課程知識本體結(jié)構(gòu),課程知識圖譜中含“章”“節(jié)”和“知識點”三個類,以及“包含”“相關(guān)”“順序”三種語義關(guān)系。在定義課程知識圖譜的邏輯結(jié)構(gòu)基礎(chǔ)上,課程組按照自頂向下的方式對本課程的教學(xué)大綱及核心教材《C#程序設(shè)計教程(第2版)》進行了深入分析,歸納本課程的知識單元,并劃分為12章、64節(jié)、249個知識點;從配套教材中提煉出上述三級知識單元,依次轉(zhuǎn)換為“章”“節(jié)”和“知識點”類的實體,并添加至課程知識圖譜之中;然后,進一步標(biāo)注這些實體之間存在的“包含”“相關(guān)”及“順序”邏輯關(guān)系,初步形成一個完整的課程知識圖譜。圖3所示為章、節(jié)、知識點之間包含關(guān)系的可視化示例。

(三)知識圖譜檢驗

“軟件構(gòu)造基礎(chǔ)———C#程序設(shè)計”課程知識圖譜構(gòu)建完成后,還需要完成質(zhì)量評估,即對知識圖譜執(zhí)行一致性和正確性的檢驗。其中,圖譜的一致性檢驗包括語法一致性檢驗、語義一致性檢驗和用戶自定義的一致性檢驗[6]。本課程知識圖譜全程由Protégé編輯工具進行開發(fā),因此不可能存在語法不一致的問題;同時,在本知識圖譜中只存在“章”“節(jié)”和“知識點”三級概念,概念之間的關(guān)系比較明確,也基本不會產(chǎn)生沖突;實體之間的關(guān)系存在包含關(guān)系、相關(guān)關(guān)系和順序關(guān)系三種,其中包含關(guān)系依賴于教材大綱,十分明確沒有歧義,相關(guān)關(guān)系具有對稱性,基本不會產(chǎn)生不一致性,而對于可能出現(xiàn)不一致性問題的實體間的順序關(guān)系,可使用Protégé工具對課程知識圖譜進行簡單的推理,檢驗出可能存在的不一致情況。

三、基于知識圖譜的學(xué)習(xí)導(dǎo)航系統(tǒng)研發(fā)

學(xué)習(xí)導(dǎo)航系統(tǒng)為具有不同知識接受能力的學(xué)生提供適配的學(xué)習(xí)服務(wù),這種個性化的適配主要體現(xiàn)在課程內(nèi)容(學(xué)習(xí)素材)呈現(xiàn)和知識導(dǎo)航(學(xué)習(xí)路徑)支持兩方面[7]。其中,適配課程內(nèi)容呈現(xiàn)表現(xiàn)為不同學(xué)習(xí)能力(知識接受能力)的學(xué)生在點擊同一個知識點時,看到的學(xué)習(xí)素材內(nèi)容并不一樣,而會根據(jù)學(xué)生當(dāng)前的知識基礎(chǔ)有所區(qū)別;適配知識導(dǎo)航支持則表現(xiàn)為具有不同學(xué)習(xí)能力、不同知識基礎(chǔ)的學(xué)生在訪問同一個知識單元時,看到的學(xué)習(xí)內(nèi)容的學(xué)習(xí)次序(跳轉(zhuǎn)鏈接)并不相同,會根據(jù)學(xué)生已掌握的知識單元學(xué)習(xí)歷史記錄進行調(diào)整。

(一)課程內(nèi)容呈現(xiàn)

課程知識圖譜可根據(jù)學(xué)生的知識學(xué)習(xí)和接受能力,為其篩選合適的學(xué)習(xí)內(nèi)容以及不同形式的知識素材。主要過程如下:從課程知識圖譜中提取出知識單元(含章/節(jié)/知識點)形成目錄導(dǎo)航樹,供學(xué)生從中選取某一知識單元作為學(xué)習(xí)目標(biāo);判斷學(xué)生是否已掌握當(dāng)前的知識單元;將學(xué)生尚未掌握的知識單元添加至學(xué)生的學(xué)習(xí)集合中,并基于關(guān)聯(lián)關(guān)系從課程的知識圖譜中提取其相關(guān)的基礎(chǔ)性知識(即該知識單元的前驅(qū)知識單元),并從學(xué)習(xí)資源中檢索出對應(yīng)的知識素材,供后續(xù)使用。

(二)知識導(dǎo)航支持

依據(jù)課程的知識圖譜,可自動生成學(xué)生的學(xué)習(xí)路徑,實現(xiàn)課程學(xué)習(xí)資源和素材的快速導(dǎo)航,具體過程包括:提取學(xué)習(xí)資源涵蓋的知識點集合;根據(jù)課程知識圖譜中知識點之間的邏輯依存關(guān)系,判斷知識點相對的前驅(qū)后繼情況;生成各知識素材的學(xué)習(xí)順序。本文設(shè)計的智能學(xué)習(xí)導(dǎo)航為用戶提供基于定制學(xué)習(xí)內(nèi)容生成的高效學(xué)習(xí)路徑,其中C#程序設(shè)計課程知識圖譜是支持適配學(xué)習(xí)內(nèi)容呈現(xiàn)和導(dǎo)航的關(guān)鍵。課程知識圖譜作為知識內(nèi)容組織模型,存儲課程知識實體以及實體間關(guān)系等數(shù)據(jù),并將知識點之間隱含的抽象關(guān)系以可視化的形式呈現(xiàn)出來;而學(xué)習(xí)導(dǎo)航系統(tǒng)從課程搜集整理的基礎(chǔ)數(shù)據(jù)(教學(xué)素材)中搜索相關(guān)聯(lián)的知識實例,并基于專職任課教師預(yù)先抽取的相關(guān)知識實例與實體之間的關(guān)系生成結(jié)構(gòu)化的知識點圖譜。如圖4所示,基于C#程序設(shè)計課程知識圖譜構(gòu)建的學(xué)習(xí)導(dǎo)航系統(tǒng)采用模型—視圖—控制器(modelviewcontroller,MVC)開發(fā)模式,采用Jena語義網(wǎng)應(yīng)用框架實現(xiàn)模型層數(shù)據(jù)存儲,采用ECharts開源可視化庫實現(xiàn)視圖層的可視化界面,并采用Python實現(xiàn)控制器層的業(yè)務(wù)邏輯處理。

四、試驗及分析

項目組將采用課程知識圖譜技術(shù)的C#課程學(xué)習(xí)導(dǎo)航系統(tǒng)應(yīng)用于“軟件構(gòu)造基礎(chǔ)———C#程序設(shè)計”課程的教學(xué)實踐中。將40名選修本課程學(xué)生分為甲、乙兩組,以第二章合計25個知識點為測試項,甲組20名學(xué)生使用學(xué)習(xí)導(dǎo)航系統(tǒng),乙組20名學(xué)生未使用學(xué)習(xí)導(dǎo)航系統(tǒng),完成第二章內(nèi)容學(xué)習(xí)后通過標(biāo)準(zhǔn)化試題測試兩組學(xué)生對知識點的掌握情況。圖5所示為知識點學(xué)習(xí)效果對比實驗結(jié)果,數(shù)據(jù)顯示使用本文知識圖譜學(xué)習(xí)導(dǎo)航系統(tǒng)的甲組學(xué)生平均成績?yōu)?8.4,而未使用學(xué)習(xí)導(dǎo)航系統(tǒng)的乙組學(xué)生平均成績?yōu)?9.2,說明知識圖譜對提高學(xué)生本課程的學(xué)習(xí)效率有一定幫助。

五、結(jié)語

“軟件構(gòu)造基礎(chǔ)———C#程序設(shè)計”課程在線教學(xué)中存在互動方式有限、無法切實了解學(xué)生聽課效果等問題,為達到預(yù)期教學(xué)目標(biāo),構(gòu)建課程學(xué)習(xí)導(dǎo)航系統(tǒng)以提供個性化知識學(xué)習(xí)服務(wù)是一個非常必要的解決方案。然而,學(xué)習(xí)導(dǎo)航系統(tǒng)的研發(fā)依然面臨很多技術(shù)挑戰(zhàn),其中如何針對每位學(xué)生對課程知識理解掌握的實際情況為其規(guī)劃更高效的學(xué)習(xí)路徑十分關(guān)鍵,課程知識圖譜恰好可以滿足這一需求。為此,課程組將知識圖譜技術(shù)引入C#課程學(xué)習(xí)導(dǎo)航系統(tǒng)研發(fā)之中,并在軟件工程專業(yè)的課程教學(xué)中進行了應(yīng)用實踐,對比實驗表明,基于知識圖譜的課程學(xué)習(xí)導(dǎo)航系統(tǒng)能克服紙質(zhì)教材知識素材分散性的不足,有效促進關(guān)聯(lián)知識的學(xué)習(xí)和記憶,進一步提高學(xué)生對課程知識點的掌握度。當(dāng)前課程知識圖譜的構(gòu)建在很大程度上還依賴于學(xué)科專家的篩選處理,而實現(xiàn)課程知識圖譜的全程自動化構(gòu)建對于推動知識服務(wù)發(fā)展具有十分重大的意義。未來,課程組將圍繞上述課題以及知識圖譜的高效應(yīng)用展開進一步的研究。

參考文獻:

[1]劉嶠,李楊,段宏,等.知識圖譜構(gòu)建技術(shù)綜述[J].計算機研究與發(fā)展,2016(3):582-600.

[2]唐大仕.C#程序設(shè)計教程[M].2版.北京:清華大學(xué)出版社,2018.

[3]黃煥,元帥,何婷婷,等.面向適應(yīng)性學(xué)習(xí)系統(tǒng)的課程知識圖譜構(gòu)建研究———以“Java程序設(shè)計基礎(chǔ)”課程為例[J].現(xiàn)代教育技術(shù),20196(12):89-95.

[4]SKEETJ.深入理解C#[M].3版.北京:人民郵電出版社,2014.

[5]HALLML.C#敏捷開發(fā)實踐[M].北京:人民郵電出版社,2016.

[6]趙呈領(lǐng),黃志芳,萬力勇,等.基于初中物理課程的學(xué)科領(lǐng)域本體庫構(gòu)建研究[J].電化教育研究,2014(8):64-70.

[7]何克抗.促進個性化學(xué)習(xí)的理論、技術(shù)與方法———對美國《教育傳播與技術(shù)研究手冊(第四版)》的學(xué)習(xí)與思考之三[J].開放教育研究,2017(2):13-21.

作者:何政 葉剛 單位:武漢大學(xué)計算機學(xué)院