楊 武,盧 玲,陳 媛
(重慶理工大學(xué) 計算機科學(xué)與工程學(xué)院,重慶 400050)
數(shù)據(jù)結(jié)構(gòu)課程是計算機專業(yè)課程體系的重要組成部分。該課程一般面向普通高校本科二年級的計算機類及信息類各專業(yè)學(xué)生開設(shè),主要學(xué)習(xí)基本數(shù)據(jù)結(jié)構(gòu)[1],包括邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)、算法設(shè)計與分析等相關(guān)理論,培養(yǎng)學(xué)生的模型抽象能力[2],為學(xué)生研究能力和創(chuàng)新能力的形成奠定基礎(chǔ),在計算機專業(yè)課程體系中具有承上啟下的作用。
目前,分布式計算平臺及并行計算技術(shù)的發(fā)展帶來了計算力的極大增強,同時,各應(yīng)用領(lǐng)域累積的數(shù)據(jù)規(guī)模不斷擴大,強大的計算力及大規(guī)模數(shù)據(jù)推動了人工智能技術(shù)研究及應(yīng)用的爆發(fā)式增長。產(chǎn)業(yè)發(fā)展及學(xué)科研究的需要,對數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)內(nèi)容及教學(xué)方式提出了新的要求。2017年,《教育部高等教育司關(guān)于開展新工科研究與實踐的通知》指出,希望各地高校開展新工科的研究實踐,并將新工科的主要研究內(nèi)容歸納為工程教育的新理念、學(xué)科專業(yè)的新結(jié)構(gòu)、人才培養(yǎng)的新模式、教育教學(xué)的新質(zhì)量、分類發(fā)展的新體系。這五個“新”表明,傳統(tǒng)工科課程的教學(xué)內(nèi)容及方式應(yīng)面向產(chǎn)業(yè)需求,積極進行改革和升級。
數(shù)據(jù)結(jié)構(gòu)課程的大案例具有三個主要特點,一是其數(shù)據(jù)包含簡單類型和復(fù)雜類型,二是案例數(shù)據(jù)的邏輯結(jié)構(gòu)包含線性、樹形、圖形,三是案例數(shù)據(jù)的規(guī)模包含小規(guī)模、中規(guī)模和大規(guī)模。大案例主要運用于課程設(shè)計環(huán)節(jié),由教師演示、講解,再指導(dǎo)學(xué)生完成。根據(jù)人才培養(yǎng)方案的要求,重慶理工大學(xué)數(shù)據(jù)結(jié)構(gòu)課程的大案例構(gòu)建應(yīng)達成三個目標,即案例問題有吸引力、數(shù)據(jù)規(guī)模有壓迫性以及案例文檔有規(guī)范性。目前,數(shù)據(jù)結(jié)構(gòu)課程的大案例構(gòu)建面臨如下問題,影響著前述目標的達成。
(1)虛擬的案例問題和數(shù)據(jù)影響學(xué)習(xí)效果。一般案例建設(shè)都是教師根據(jù)教學(xué)需要,自行選取虛擬案例問題及案例數(shù)據(jù)。從教學(xué)的角度看,虛擬問題的小規(guī)模,暫且符合本科二年級學(xué)生尚未系統(tǒng)地學(xué)習(xí)軟件工程等專業(yè)課程的特點;但如果虛擬問題與實際工程問題完全脫節(jié),則可能使學(xué)生失去學(xué)習(xí)興趣,例如“走迷宮問題”“八皇后問題”就不適合作為大案例運用。另外,虛擬的數(shù)據(jù)也因數(shù)據(jù)形態(tài)單一、數(shù)據(jù)規(guī)模小而使算法的性能難以顯現(xiàn)。目前,采用虛擬案例問題及數(shù)據(jù)的原因,主要是沒有針對科學(xué)研究及工程應(yīng)用問題,積極挖掘和提煉實際問題中可供教學(xué)使用的案例資源。
(2)由任課教師獨立進行大案例構(gòu)建,難以保證案例質(zhì)量,同時影響案例建設(shè)的長效性。大案例有別于一般的實驗題目,其內(nèi)容包括問題設(shè)計、方案設(shè)計、案例編碼、案例文檔資料等多個方面。目前,案例建設(shè)多由任課教師獨立進行,雖然教師具備科研和應(yīng)用開發(fā)能力,但由于其主要著眼于教學(xué),因此教師制作的案例在編碼規(guī)范、文檔編寫規(guī)范等方面,仍與實際工程項目存在差距。此外,大案例建設(shè)的工作量大、周期長,如何調(diào)動教師建設(shè)和運用大案例的積極性,形成使教學(xué)雙方受益的案例建設(shè)長效機制,也是大案例構(gòu)建需要解決的重要問題。
針對上述大案例構(gòu)建所面臨的主要問題,數(shù)據(jù)結(jié)構(gòu)課程大案例構(gòu)建思路如圖1所示。
圖1 數(shù)據(jù)結(jié)構(gòu)課程大案例構(gòu)建思路
由圖1可知,案例構(gòu)建思路主要著眼于提取優(yōu)質(zhì)的案例資源以及組織科學(xué)的案例建設(shè)團隊。其中,優(yōu)質(zhì)案例資源來自于教師的科學(xué)研究項目和實際工程項目;案例建設(shè)團隊以任課教師為主導(dǎo)、學(xué)生創(chuàng)新團隊以及企業(yè)工程師協(xié)同進行。
1)自科學(xué)研究項目中提取大案例。
教師的科學(xué)研究項目一般面向?qū)W科的前沿問題,是優(yōu)質(zhì)的大案例資源。例如,教師的“面向網(wǎng)絡(luò)輿論場的情感語義嬗變機制”研究項目,其中包括對機器學(xué)習(xí)算法、自然語言處理技術(shù)的研究和運用。在自然語言處理中,文本的結(jié)構(gòu)化及其處理,如文檔向量構(gòu)建、文本相似度計算、文本特征提取等,都涉及數(shù)據(jù)邏輯結(jié)構(gòu)分析及存儲結(jié)構(gòu)設(shè)計;再如,目前廣受關(guān)注的神經(jīng)網(wǎng)絡(luò)方法中存在大量的矩陣計算,這些都為數(shù)據(jù)結(jié)構(gòu)課程分析數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)提供了良好范例。此外,科學(xué)研究項目所采用的數(shù)據(jù)多是面向真實應(yīng)用的,例如使用社交網(wǎng)絡(luò)平臺的真實文本數(shù)據(jù)。這些數(shù)據(jù)具有豐富、多樣的特征,以文本文件 、超文本標記語言等多種格式存儲,且數(shù)據(jù)量巨大。使用這種多維、異構(gòu)的數(shù)據(jù),可以較好地訓(xùn)練學(xué)生的數(shù)據(jù)分析能力,且數(shù)據(jù)規(guī)模的 巨大性也容易使算法性能得到顯現(xiàn)。
由于科學(xué)研究項目的上述特點,使其可以為數(shù)據(jù)結(jié)構(gòu)課程提供豐富的范例,但科學(xué)研究問題的理論背景較深,用作教學(xué)案例時,需進行有針對性的提煉。首先提取其子問題作為案例內(nèi)容,再將科研項目的研究背景作為案例的問題背景,然后把項目研究所采用的數(shù)據(jù),制作成小規(guī)模、中規(guī)模和完整的數(shù)據(jù)集三個層次,分別提供給學(xué)生使用。例如,重慶理工大學(xué)數(shù)據(jù)結(jié)構(gòu)課程從任課教師的“面向網(wǎng)絡(luò)輿論場的情感語義嬗變機制”項目中,分別提煉出“樸素貝葉斯新聞分類問題”“基于KNN的新聞文本分類問題”案例,學(xué)生主要運用線性表進行中文文本特征的提取及計算。此外,該項目中頻繁使用的“文本清洗”操作,多需檢索停用詞典,適合作為數(shù)據(jù)結(jié)構(gòu)課程查詢算法的案例,學(xué)生運用線性、樹形結(jié)構(gòu)進行停用詞典的存儲和檢索,可實現(xiàn)該案例。
在教學(xué)實踐中,課程組試探性將上述案例在本科一年級學(xué)生中,以手工計算小規(guī)模數(shù)據(jù)的方式進行講解,極大地調(diào)動了一年級學(xué)生對相關(guān)領(lǐng)域的學(xué)習(xí)興趣。在本科二年級的數(shù)據(jù)結(jié)構(gòu)課程中,學(xué)生通過獨立編碼,運用中規(guī)模、大規(guī)模數(shù)據(jù)測試的方式實施前述案例,大部分學(xué)生能夠?qū)茖W(xué)研究有身臨其境的感受,并通過案例實施,對數(shù)據(jù)結(jié)構(gòu)課程在課程體系中的作用有了更好的理解。
2)自實際工程項目中提取大案例。
源自實際工程項目的案例,最能反映產(chǎn)業(yè)需求,體現(xiàn)課堂教學(xué)與實際應(yīng)用之間的關(guān)聯(lián),因此也是大案例構(gòu)建的重要資源。由于實際工程項目開發(fā)需經(jīng)過項目論證、需求分析、系統(tǒng)設(shè)計、編碼、測試等多個環(huán)節(jié),數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)顯然不必還原實際生產(chǎn)環(huán)境,僅需根據(jù)教學(xué)目標,從項目中提煉出適合教學(xué)的內(nèi)容。
例如,在任課教師參與的“鐵路機車車號實時識別系統(tǒng)”項目中,由于企業(yè)對車號識別的準確率要求極高,系統(tǒng)的復(fù)雜性除源于圖像處理、識別算法外,還源于針對實際生產(chǎn)環(huán)境的多種策略設(shè)計。任課教師經(jīng)分析,認為該項目的圖像處理與數(shù)據(jù)結(jié)構(gòu)的教學(xué)具有較大相關(guān)性,而復(fù)雜的策略設(shè)計則不適合課程的教學(xué),因此僅將圖像的基本操作從該項目中提取出來作為大案例。以該項目的開發(fā)背景作為案例的問題背景,再將圖像看成矩陣,在案例中設(shè)計包含矩陣存儲、矩陣轉(zhuǎn)置、矩陣乘積等操作內(nèi)容,同時將該項目在實際應(yīng)用場景中采集的部分真實圖像作為案例數(shù)據(jù),有效提高了學(xué)生的學(xué)習(xí)興趣。
3)憑借教師豐富的項目實踐經(jīng)驗,挖掘優(yōu)質(zhì)案例。
如前所述,科研和工程項目中蘊含著豐富的案例資源,但需要任課教師有針對性地進行提煉。這不僅要求教師具有良好的研究能力和豐富的開發(fā)經(jīng)驗,熟悉項目背景及相關(guān)技術(shù),同時也要求教師對課程教學(xué)目標理解準確,能主動探索和挖掘項目中與教學(xué)相關(guān)聯(lián)的知識,將其轉(zhuǎn)化為教學(xué)內(nèi)容。因此,應(yīng)首先從任課教師參與的研究項目中選取案例,另外,課程組還應(yīng)組織和參與廣泛的學(xué)習(xí)、交流活動,探索專業(yè)教師所研究課題中的案例資源。
結(jié)構(gòu)合理的案例建設(shè)團隊,是大案例構(gòu)建質(zhì)量和效率的保證。大案例的構(gòu)建應(yīng)以多方協(xié)同的方式進行,通過調(diào)動專業(yè)建設(shè)資源服務(wù)于案例建設(shè),激發(fā)任課教師建設(shè)和實施大案例的積極性,為大案例的維護、更新及案例建設(shè)的可持續(xù)性提供保證。如圖1所示,論文提出的案例建設(shè)團隊包括任課教師、學(xué)生創(chuàng)新團隊和企業(yè)工程師。其中,以任課教師為案例構(gòu)建的主導(dǎo),學(xué)生創(chuàng)新團隊主要協(xié)助教師完成案例編碼和文檔編制工作,企業(yè)工程師主要對案例內(nèi)容及文檔規(guī)范進行指導(dǎo),協(xié)同進行大案例的構(gòu)建。
1)組織學(xué)生創(chuàng)新團隊參與案例建設(shè)。
由于大案例的構(gòu)建包括問題設(shè)計、系統(tǒng)設(shè)計、編碼、文檔編寫等多方面內(nèi)容,建設(shè)工作量大,周期較長,因此,構(gòu)建過程以教師為主導(dǎo)、創(chuàng)新實驗室學(xué)生為主體的方式進行。首先由任課教師提出案例建設(shè)構(gòu)想及案例設(shè)計方案,再由課程組對大案例所覆蓋的知識點、能力點進行論證;后續(xù)案例編碼及文檔編制,由任課教師組織學(xué)生創(chuàng)新團隊聯(lián)合進行。例如,重慶理工大學(xué)數(shù)據(jù)結(jié)構(gòu)課程的“基于KNN的新聞文本分類問題”大案例構(gòu)建流程如下:①任課教師提出“基于KNN的新聞文本分類問題”案例建設(shè)構(gòu)想及案例設(shè)計方案;②課程組根據(jù)專業(yè)人才培養(yǎng)方案,對案例所覆蓋的知識點,與人才培養(yǎng)的能力點進行對照和論證;③任課教師組織創(chuàng)新實驗室學(xué)生團隊,聯(lián)合進行案例編碼和文檔編制;由任課教師制定案例編碼規(guī)范及案例文檔規(guī)范;④參與大案例建設(shè)的學(xué)生創(chuàng)新團隊,成為課程實踐教學(xué)的助教團隊。實驗室通過招新更新助教團隊,助教團隊內(nèi)部進行傳、幫、帶,配合任課教師進行大案例的維護和更新。
上述方法較好地規(guī)范了大案例的構(gòu)建流程,一是通過課程組對案例設(shè)計方案的論證,在一定程度上保證案例質(zhì)量;二是充分調(diào)動了專業(yè)實驗室的學(xué)生創(chuàng)新團隊輔助課程建設(shè),較好地緩解了教師因案例建設(shè)工作量大導(dǎo)致的積極性不足的問題。同時,通過案例建設(shè),可以提高實驗室學(xué)生創(chuàng)新團隊的綜合能力,鍛煉和帶動一批本科學(xué)生助教,使大案例的構(gòu)建和教學(xué)實踐形成使教師、學(xué)生雙方受益的良性循環(huán),保證案例建設(shè)的長效性。
雖然論文提出以教師為主導(dǎo)、學(xué)生團隊為主體的案例構(gòu)建方法,但是為保證教師能準確把握案例實施的重點、難點問題,在案例構(gòu)建時,應(yīng)保證任課教師的高參與度。例如,重慶理工大學(xué)的大案例構(gòu)建由任課教師獨立完成案例第一版本,再以教師為主導(dǎo)、學(xué)生團隊為主體進行后續(xù)的案例升級和維護。
2)引入企業(yè)工程師指導(dǎo)案例構(gòu)建。
大案例不僅應(yīng)在背景問題上契合企業(yè)需求,同時在案例編碼、文檔編制方面,都應(yīng)符合一定的規(guī)范。對此,可邀請合作企業(yè)的工程師協(xié)同進行案例構(gòu)建,對案例編碼、文檔規(guī)范等進行指導(dǎo)。例如,重慶理工大學(xué)的“機車圖像中的車號識別”案例在建設(shè)時,多次邀請該項目的合作企業(yè)工程師進校講座,與教師及學(xué)生進行研討。目前,重慶理工大學(xué)計算機專業(yè)申請的教育部產(chǎn)學(xué)合作協(xié)同育人項目,也計劃借鑒Oracle公司的成功商業(yè)案例,用于指導(dǎo)專業(yè)課程教學(xué)大案例的制作規(guī)范。
重慶理工大學(xué)數(shù)據(jù)結(jié)構(gòu)課程面向產(chǎn)業(yè)需求,以深化高等工程教育改革[3]、培養(yǎng)高水平應(yīng)用型人才為目標,提出了建設(shè)具有“一定規(guī)模、一定邏輯結(jié)構(gòu)、一定形態(tài)”的大案例[4]的實踐教學(xué)內(nèi)容,建設(shè)目標是滿足產(chǎn)業(yè)對高水平應(yīng)用型計算機本科人才的需求,并在課程實踐內(nèi)容建設(shè)方面進行有益探索。筆者針對大案例構(gòu)建中面臨的問題,提出從教師科研項目、工程實踐項目中提煉優(yōu)質(zhì)案例資源,以教師、學(xué)生創(chuàng)新團隊、企業(yè)工程師協(xié)同的方式,進行大案例構(gòu)建。這種構(gòu)建方法,可以較好地調(diào)動教師將科研成果轉(zhuǎn)化為教學(xué)內(nèi)容的積極性,培養(yǎng)一批富有責(zé)任感和良好工程實踐能力的學(xué)生創(chuàng)新團隊,同時引入企業(yè)工程師參與教學(xué)案例建設(shè),為計算機專業(yè)培養(yǎng)高水平應(yīng)用型人才探索出了多種途徑。近兩年,重慶理工大學(xué)運用這種案例構(gòu)建方法,數(shù)據(jù)結(jié)構(gòu)課程已逐步建設(shè)了“樸素貝葉斯新聞分類問題”“基于KNN的新聞文本分類問題”案例,同時正在建立“結(jié)合倒排索引的問答系統(tǒng)”“機車圖像中的車號識別”等大案例。這些案例運用在數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計中,取得了良好的教學(xué)效果。此外,課程組試探性地在本科一年級學(xué)生的計算機導(dǎo)論課程中講解大案例,引發(fā)了學(xué)生對相關(guān)領(lǐng)域濃厚的學(xué)習(xí)熱情。重慶理工大學(xué)本科學(xué)生廣泛參與各類大數(shù)據(jù)、智能計算領(lǐng)域的競賽,如CCF中文信息評測、中國大數(shù)據(jù)創(chuàng)新創(chuàng)業(yè)大賽等,取得了良好成績,這與數(shù)據(jù)結(jié)構(gòu)課程逐步運用大案例,進行實踐教學(xué)內(nèi)容改革和升級是密切相關(guān)的,從一定程度反映了課程教學(xué)目標的達成。筆者將在如何有效地推進大案例實施和針對大案例的教學(xué)方法設(shè)計方面展開進一步的研究。