張繼連
摘要:計(jì)算機(jī)是人類歷史上最重要的技術(shù)發(fā)明之一,它的出現(xiàn)深刻的影響了社會(huì)的發(fā)展,為各行各業(yè)帶來了深遠(yuǎn)的技術(shù)革命。作為計(jì)算機(jī)科學(xué)中最重要的基礎(chǔ)分支,數(shù)據(jù)庫一直以來都受到學(xué)術(shù)界和工業(yè)界的重視。然而,對(duì)于高校計(jì)算機(jī)本科及低年級(jí)研究生而言,數(shù)據(jù)庫方面的授課內(nèi)容及教學(xué)方法大多數(shù)還局限于七、八十年代的數(shù)據(jù)庫基礎(chǔ)理論和略顯陳舊的技術(shù),教學(xué)方法也過于單一,這不利于培養(yǎng)和選撥能夠緊跟信息時(shí)代技術(shù)發(fā)展的人才。針對(duì)這些不足,本文參考了國(guó)際上知名高校和科研機(jī)構(gòu)在數(shù)據(jù)庫和數(shù)據(jù)科學(xué)領(lǐng)域最新的教學(xué)和科研動(dòng)向,提出從基礎(chǔ)層面到應(yīng)用層面的教學(xué)法,嘗試將最新的數(shù)據(jù)科學(xué)知識(shí)框架引入到傳統(tǒng)的數(shù)據(jù)庫課程。通過在相關(guān)課程上進(jìn)行的教學(xué)實(shí)踐,作者發(fā)現(xiàn)學(xué)生能夠更深刻的理解和掌握傳統(tǒng)數(shù)據(jù)庫的相關(guān)理論,并對(duì)前沿的數(shù)據(jù)科學(xué)領(lǐng)域也有了全面的了解,極大的提高了學(xué)生的學(xué)習(xí)主動(dòng)性和對(duì)科研的興趣。
關(guān)鍵詞:計(jì)算機(jī)科學(xué);數(shù)據(jù)科學(xué);數(shù)據(jù)管理;教學(xué)方法;教學(xué)質(zhì)量;
【中圖分類號(hào)】TP3-4
0 引言
進(jìn)入二十一世紀(jì)以來,隨著通訊技術(shù)和信息技術(shù)的飛速發(fā)展,人們產(chǎn)生和收集數(shù)據(jù)的能力以幾何級(jí)數(shù)的方式增長(zhǎng),例如,騰訊、新浪微博等每天處理的用戶訊息達(dá)上億條。如何有效的管理這些生成的海量數(shù)據(jù)并從中分析挖掘出有用的信息,是計(jì)算機(jī)學(xué)術(shù)界和工業(yè)界關(guān)注的焦點(diǎn)。作為計(jì)算機(jī)科學(xué)中最基礎(chǔ)最重要的分支,傳統(tǒng)的數(shù)據(jù)庫理論和技術(shù)在近幾十年來一直是管理關(guān)系型數(shù)據(jù)的最有效的工具和手段。然而,伴隨著各種新應(yīng)用的產(chǎn)生,傳統(tǒng)的數(shù)據(jù)庫技術(shù)已經(jīng)很難應(yīng)對(duì)這些應(yīng)用所產(chǎn)生的非關(guān)系型數(shù)據(jù),例如,車載導(dǎo)航儀產(chǎn)生的GPS軌跡數(shù)據(jù),微博產(chǎn)生的文本流數(shù)據(jù),社交網(wǎng)絡(luò)產(chǎn)生的關(guān)系圖數(shù)據(jù),等等。然而,目前高校計(jì)算機(jī)專業(yè)本科生及低年級(jí)研究生的數(shù)據(jù)庫課程大多數(shù)還沿襲著傳統(tǒng)關(guān)系數(shù)據(jù)庫的理論知識(shí)框架,很少涉及最新的數(shù)據(jù)管理技術(shù)和數(shù)據(jù)科學(xué)。因此,如何將數(shù)據(jù)科學(xué)與傳統(tǒng)數(shù)據(jù)庫知識(shí)相融合,這對(duì)于幫助學(xué)生掌握最新信息技術(shù)及培養(yǎng)學(xué)生的創(chuàng)新能力將具有非常重要的意義。
1、 目前現(xiàn)狀
數(shù)據(jù)庫課程是最受學(xué)生重視,但是又沒有多少興趣和動(dòng)力去學(xué)好的課程。一方面,傳統(tǒng)的數(shù)據(jù)庫課程主要基于六、七十年代發(fā)明的關(guān)系數(shù)據(jù)模型,內(nèi)容包括關(guān)系代數(shù)、關(guān)系演算、SQL查詢語言等。這些知識(shí)點(diǎn)側(cè)重于理論,同時(shí)教學(xué)內(nèi)容和應(yīng)用實(shí)例相對(duì)而言也比較枯燥。另一方面,一些學(xué)生并不是因?yàn)榕d趣去選擇數(shù)據(jù)庫課程,而是因?yàn)樗歉咝S?jì)算機(jī)專業(yè)的必修課之一,為了拿到學(xué)分而不得不努力應(yīng)付。
目前高校計(jì)算機(jī)本科生及低年級(jí)研究生的數(shù)據(jù)庫課程相對(duì)國(guó)外而言存在著一定的差距,主要體現(xiàn)在以下幾點(diǎn)。首先,相關(guān)的數(shù)據(jù)庫教材內(nèi)容相對(duì)陳舊,新知識(shí)點(diǎn)不多。這是因?yàn)樾畔⒓夹g(shù)的推陳出新速度非常快,每隔一年甚至是半年,都會(huì)有大量的新應(yīng)用新技術(shù)出現(xiàn),而作為教材而言,更新速度遠(yuǎn)遠(yuǎn)跟不上業(yè)界的技術(shù)發(fā)展。其次,信息產(chǎn)業(yè)的創(chuàng)新源頭主要集中在歐美等發(fā)達(dá)國(guó)家,并且大量的技術(shù)文獻(xiàn)和最新的研究論文都是用英文撰寫。這些新技術(shù)傳播到國(guó)內(nèi)自然會(huì)有一定的時(shí)間差,例如,由于技術(shù)堡壘問題歐美國(guó)家的企業(yè)會(huì)對(duì)最新的計(jì)算機(jī)技術(shù)進(jìn)行一段時(shí)期的保密封鎖,即使獲得了相關(guān)的技術(shù)文檔,將這些英文文獻(xiàn)翻譯成中文也需要一定的時(shí)間。另外,國(guó)內(nèi)的計(jì)算機(jī)類公司采用的數(shù)據(jù)庫技術(shù)與國(guó)外相比也有一定的差距,大部分公司對(duì)計(jì)算機(jī)類畢業(yè)生的知識(shí)結(jié)構(gòu)要求不是特別高,掌握傳統(tǒng)的數(shù)據(jù)庫理論和一些簡(jiǎn)單技術(shù)已經(jīng)能基本達(dá)到公司的要求,所以一些高校也不太注重及時(shí)更新數(shù)據(jù)庫課程的內(nèi)容和知識(shí)點(diǎn)。目前數(shù)據(jù)庫教學(xué)的現(xiàn)狀,也說明了一個(gè)普遍的問題:如果不緊緊跟隨最新的技術(shù)發(fā)展趨勢(shì),就不太可能有所創(chuàng)新,也不太可能做出有影響的研究成果。
而對(duì)于國(guó)外高校及研究機(jī)構(gòu)而言,為了適應(yīng)信息技術(shù)的發(fā)展,它們的教學(xué)和科研重心也開始從傳統(tǒng)的數(shù)據(jù)庫向數(shù)據(jù)科學(xué)慢慢轉(zhuǎn)變。例如,在2014年美國(guó)ACM數(shù)據(jù)管理國(guó)際會(huì)議(ACM SIGMOD)上,來自世界知名高校和研究機(jī)構(gòu)的幾十名計(jì)算機(jī)科學(xué)家召開研討會(huì),商討對(duì)數(shù)據(jù)庫教學(xué)進(jìn)行改革,并倡導(dǎo)用數(shù)據(jù)科學(xué)來代替?zhèn)鹘y(tǒng)的數(shù)據(jù)庫課程。在短短半年時(shí)間里,很多高校,例如華盛頓大學(xué)、加州大學(xué)伯克利分校、紐約大學(xué)、佛羅里達(dá)大學(xué)等,都積極響應(yīng)這一倡導(dǎo),開設(shè)了針對(duì)本科生及博士生的數(shù)據(jù)科學(xué)課程,得到了廣大師生的肯定和歡迎。鑒于此,本文提出了兩種教學(xué)方法,嘗試將數(shù)據(jù)科學(xué)這一新的知識(shí)框架引入到傳統(tǒng)的數(shù)據(jù)庫課程中,讓學(xué)生對(duì)新技術(shù)產(chǎn)生好奇心,緊跟著國(guó)際最新技術(shù)動(dòng)向并激發(fā)學(xué)生的創(chuàng)新思維和探索精神。
2、 從數(shù)據(jù)庫到數(shù)據(jù)科學(xué)
如何有效的把學(xué)生的學(xué)習(xí)重點(diǎn)及興趣從傳統(tǒng)的數(shù)據(jù)庫知識(shí)引入到數(shù)據(jù)科學(xué)領(lǐng)域,是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。經(jīng)過分析國(guó)內(nèi)外知名院校的計(jì)算機(jī)課程內(nèi)容安排和它們的優(yōu)劣,我們總結(jié)出適用于國(guó)內(nèi)本科生及低年級(jí)研究生的教學(xué)法。具體而言,我們采用了兩種方法,從基礎(chǔ)層面和應(yīng)用層面來對(duì)傳統(tǒng)數(shù)據(jù)庫與現(xiàn)代數(shù)據(jù)科學(xué)知識(shí)框架進(jìn)行對(duì)比學(xué)習(xí)。
2.1 基礎(chǔ)層面
為了加深學(xué)生對(duì)數(shù)據(jù)庫、數(shù)據(jù)科學(xué)各種概念和模型的理解,我們提出了一種分層引入的教學(xué)方法,從兩個(gè)層面對(duì)傳統(tǒng)數(shù)據(jù)庫與數(shù)據(jù)科學(xué)進(jìn)行系統(tǒng)的對(duì)比學(xué)習(xí)。首先,根據(jù)在現(xiàn)實(shí)應(yīng)用中各種不同的新數(shù)類型,從底層的數(shù)據(jù)組織和管理方式來闡述為什么傳統(tǒng)數(shù)據(jù)庫系統(tǒng)無法勝任大數(shù)據(jù)時(shí)代的數(shù)據(jù)管理任務(wù),著重指出實(shí)體關(guān)系模型(ER model)的各種不足之處。然后在此基礎(chǔ)上,針對(duì)每種新的數(shù)據(jù)類型,我們引入相應(yīng)的最新解決方案。例如,關(guān)系數(shù)據(jù)庫使用“鍵”(key)來索引數(shù)據(jù)記錄,然后在主鍵(Primary key)上建立B+樹來提高檢索效率。這種數(shù)據(jù)管理技術(shù)對(duì)于關(guān)系型數(shù)據(jù)非常有效,但是對(duì)于非關(guān)系型數(shù)據(jù),例如文本數(shù)據(jù)和流數(shù)據(jù),人們很難找到合適的主鍵來區(qū)分?jǐn)?shù)據(jù)記錄,并且無法利用B+樹來有效的檢索這類數(shù)據(jù)。特別是,對(duì)于處理大數(shù)據(jù)而言,關(guān)系數(shù)據(jù)庫是無能為力的。針對(duì)這些缺點(diǎn),我們引入目前學(xué)術(shù)界和工業(yè)界的最新解決方案,例如使用鍵值對(duì)(key-value pair)來表示數(shù)據(jù),并采用查找時(shí)間復(fù)雜度為常數(shù)的哈希表(Hash table)來進(jìn)行檢索。通過對(duì)比分析,讓學(xué)生更深刻的理解和掌握數(shù)據(jù)管理領(lǐng)域最新的知識(shí)和技術(shù)。
2.2 應(yīng)用層面
由于采用了嚴(yán)格的關(guān)系代數(shù)理論來保障正確性,傳統(tǒng)數(shù)據(jù)庫技術(shù)的應(yīng)用面非常廣泛,例如銀行交易系統(tǒng)、交通訂票系統(tǒng)、企業(yè)ERP系統(tǒng)等等。然而,為了迎合大數(shù)據(jù)時(shí)代對(duì)信息實(shí)時(shí)性和高可用性的需求,在一些應(yīng)用中,比如電子地圖導(dǎo)航和微博信息發(fā)布等,對(duì)結(jié)果的正確性可以適當(dāng)?shù)淖龀鲆恍┱壑浴A硗?,隨著商業(yè)競(jìng)爭(zhēng)日益激烈化,企業(yè)決策者希望能夠從海量的數(shù)據(jù)中快速的找出有用的信息,為企業(yè)的商業(yè)決策提供重要的參考依據(jù)。以上這兩方面的新需求是傳統(tǒng)的數(shù)據(jù)庫技術(shù)無法解決的,而這些問題正是數(shù)據(jù)科學(xué)所涉及的范疇。因此,我們需要在應(yīng)用層面上具體的比較傳統(tǒng)數(shù)據(jù)庫與數(shù)據(jù)科學(xué)的優(yōu)劣。
首先,介紹一些生活中常見的關(guān)系數(shù)據(jù)庫應(yīng)用,如銀行交易系統(tǒng)、學(xué)生選課系統(tǒng)等,把這些系統(tǒng)對(duì)結(jié)果100%的正確性要求轉(zhuǎn)換成關(guān)系代數(shù)和關(guān)系演算問題,同時(shí)結(jié)合低層數(shù)據(jù)管理上所使用的技術(shù),使得學(xué)生更深刻的理解關(guān)系數(shù)據(jù)庫的長(zhǎng)處以及它所適用的場(chǎng)合。然后,我們給出一些關(guān)系型數(shù)據(jù)庫技術(shù)無法有效應(yīng)對(duì)的例子,如GPS導(dǎo)航、社交網(wǎng)絡(luò)、搜索引擎等,來說明對(duì)于用戶而言信息的實(shí)時(shí)性和高可用性有時(shí)候更為重要。為達(dá)到這一目標(biāo),我們引入最新的數(shù)據(jù)管理技術(shù),如對(duì)空間數(shù)據(jù)的R樹索引、圖數(shù)據(jù)的索引與查找等,并通過數(shù)學(xué)手段和算法分析來證明在一定的正確性范圍內(nèi),這些新技術(shù)是如何保證結(jié)果的實(shí)時(shí)性和可用性。最后,通過一些有趣的示例來強(qiáng)調(diào)數(shù)據(jù)科學(xué)的重要性,即如何從數(shù)據(jù)中快速、智能的找到有價(jià)值的信息,這涉及到數(shù)據(jù)挖掘(Data mining)和機(jī)器學(xué)習(xí)(Machine learning)的知識(shí)。例如,通過對(duì)超市交易數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則(Association rule)挖掘和聚類(Clustering)分析,讓學(xué)生明白如何從數(shù)據(jù)中尋找反復(fù)同時(shí)出現(xiàn)的有用的信息規(guī)律。通過這些分層對(duì)比學(xué)習(xí),使得學(xué)生能夠更牢固、更深刻的掌握關(guān)系數(shù)據(jù)庫和數(shù)據(jù)科學(xué)的相關(guān)知識(shí),緊跟上國(guó)外科研院所的信息技術(shù)教育發(fā)展趨勢(shì)。
3、 教學(xué)效果與總結(jié)
本文提出的教學(xué)法在高年級(jí)本科生和低年級(jí)研究生的數(shù)據(jù)庫相關(guān)課程中進(jìn)行了實(shí)施,取得了預(yù)期的效果,也通過學(xué)生的反饋意見總結(jié)出了一些心得和經(jīng)驗(yàn)。首先,通過對(duì)傳統(tǒng)數(shù)據(jù)庫知識(shí)及現(xiàn)代數(shù)據(jù)科學(xué)知識(shí)框架的學(xué)習(xí),學(xué)生們對(duì)計(jì)算機(jī)科學(xué)及信息產(chǎn)業(yè)產(chǎn)生了深厚的興趣,激發(fā)了他們自覺學(xué)習(xí)和勇于探索的精神。其次,在課堂中運(yùn)用各種實(shí)例,從不同層面對(duì)傳統(tǒng)數(shù)據(jù)庫與數(shù)據(jù)科學(xué)進(jìn)行了深入的分析對(duì)比,使得學(xué)生的分析能力和總結(jié)歸納能力得到了一定程度的提高。并且,學(xué)生們普遍反映從課堂中學(xué)到了最新的數(shù)據(jù)科學(xué)知識(shí),既有理論知識(shí)也有實(shí)踐技能,再也沒有以前那種“理論與實(shí)際相脫節(jié)”的感覺。然而,在教學(xué)過程中我們也發(fā)現(xiàn),需要針對(duì)不同的學(xué)生來調(diào)整授課內(nèi)容及計(jì)劃,因?yàn)閿?shù)據(jù)科學(xué)的一些理論方面的內(nèi)容相對(duì)于本科生而言偏難,例如概率論和機(jī)器學(xué)習(xí)知識(shí),而對(duì)低年級(jí)研究生來說,他們希望能夠深入學(xué)習(xí)更多的理論知識(shí)。另外,在課程作業(yè)和上機(jī)實(shí)踐環(huán)節(jié),學(xué)習(xí)們普遍反映需要更多的時(shí)間,因?yàn)閿?shù)據(jù)科學(xué)所涉及到的新東西較多,需要花時(shí)間來消化。因此,我們要在以后的教學(xué)中針對(duì)不同學(xué)生群體調(diào)整授課計(jì)劃,同時(shí)要花更多的時(shí)間給學(xué)生進(jìn)行實(shí)踐指導(dǎo)和答疑。
4、 結(jié)束語
在大數(shù)據(jù)時(shí)代,計(jì)算機(jī)專業(yè)的本科生和低年級(jí)研究生必須深刻的理解和掌握傳統(tǒng)數(shù)據(jù)庫技術(shù)以及最新的數(shù)據(jù)科學(xué)技術(shù),緊緊把握數(shù)據(jù)管理技術(shù)發(fā)展的脈搏,利用所學(xué)的知識(shí)在各自的領(lǐng)域中作出具有開創(chuàng)性和影響力的工作。然而,我們?cè)诮虒W(xué)中也深刻的認(rèn)識(shí)到,提出的教學(xué)方法也存在著一些缺點(diǎn)和需要改進(jìn)的地方,例如,如何有效的提高學(xué)生的學(xué)習(xí)興趣和主動(dòng)性,是我們需要進(jìn)一步探討和研究的方向。
參考文獻(xiàn):
[1]顧紅,孫光民.研究生課程教學(xué)方法改革與實(shí)踐[J].北京工業(yè)大學(xué)學(xué)報(bào),2003,3(4):92-93.
[2]劉飛.研究生課程教學(xué)改革的實(shí)踐與探討[J].無錫教育學(xué)院學(xué)報(bào),2002,22(3):48-50.