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