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

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

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

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

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

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

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

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

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

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

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

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

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

(三)知識(shí)圖譜檢驗(yàn)

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

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

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

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

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

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

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

四、試驗(yàn)及分析

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

五、結(jié)語

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

參考文獻(xiàn):

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

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

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

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

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

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

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

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