張祖平
中南大學計算機學院,湖南 長沙 410083
隨著移動互聯網的興起,全球數據呈爆炸性增長,數據規模大約每兩年翻一番。而隨著人工智能環境下物聯網生態圈的形成,數據的采集、存儲、分析處理、融合共享等技術需求都能得到響應,各行各業都在體驗大數據帶來的革命,與大數據相關的技術人才需求激增。據預測,中國近年內大數據人才缺口達200萬人,全世界相關人才缺口超過千萬之多,因此培養大數據技術人才的重任落到了高等院校身上。從事數據統計、分析和應用的人才已經難以適應大數據時代的新要求。大數據具有體量巨大、速度極快、類型眾多、價值巨大的特點,對數據從產生、分析到利用提出了前所未有的新要求。高等教育只有轉變觀念,更新方法和手段,尋求變革與突破,才能在大數據與人工智能的信息大潮面前立于不敗之地。我國教育部門為了響應社會發展需要,于2016年開始正式開設“數據科學與大數據技術”本科專業與“大數據技術與應用”專科專業。近幾年,全國形成了申報與建設大數據相關專業的熱潮。
隨著大數據專業建設的推進,國內對專業知識體系與能力體系進行了探索[1-2],同時也出現了對專業課程建設與人才培養模式的討論[3-4],力圖探索大數據教育體系中可采用的具體策略和方法。從2017年開始,全國范圍內開始討論新工科,由此催生了《教育部辦公廳關于推薦新工科研究與實踐項目的通知》的發布,同時也開始了對新工科背景下大數據專業建設的探究[5-6]。大數據專業的培養體系在專業教育人才的通力協作下逐步形成,各類適用于不同高校大數據專業特點的培養方案與課程大綱也日漸成熟。
作為專業重要課程之一的專業導論課程歷來受到各類高校的高度重視,專業導論課程一般是在學生第一年統一基礎教學后開展的,旨在給學生普及相關專業知識,引導學生進行專業學習。而在新工科背景下,大數據的專業導論具有不同的要求與特點。
“數據科學與大數據技術導論”是一門面向本專業的導論性課程,旨在讓學生在大學入學最初階段就對本專業的發展歷史、知識結構、培養目標與要求及與數據科學與大數據技術相關的基礎知識、典型技術、具體應用等有直觀的認識。區別于新生課程的普識性介紹,該課程的相關內容偏專業,目標是讓學生對本專業的知識及培養要求有相對全面而直觀的了解,同時該課程也會概述性地介紹與計算機學科相關的內容及典型人物,以激發學生的學習興趣,進一步了解設置新專業的歷史背景與總體要求。
“數據科學與大數據技術導論”課程的基本要求包括以下幾個方面。
● 知識方面:較好地掌握數據科學與大數據技術的發展歷史及相關典型概念,如與數據相關的基本概念、與數據特征相關的測度概念及與大數據相關的5V特性等;了解典型的大數據分析環境包括的技術體系,如Hadoop;了解計算機典型的基礎概念,如數據、算法;了解專業需要掌握的知識體系及課程要求;對大數據技術的典型應用有相對直接的了解,并能聯想到生活中的大數據技術應用場景。
● 能力方面:使學生對本專業的課程體系有區別與選擇的能力,對典型的大數據分析環境的技術體系有一定的判別與選擇的能力,對應用系統是否要用到大數據平臺有一定的判別能力,對整個專業的知識體系有一定的預判與認知。
● 素質方面:對數據科學與大數據技術專業的相關基礎知識有相對全面的了解,逐漸形成采用數據分析的思維解決實際系統需求的意識;能夠通過網絡搜索平臺找到大數據分析平臺需要的典型開源性工具軟件,嘗試通過網上教學視頻進行安裝與調試,逐步形成直觀認識與一定的學習、操練興趣;通過課外導學的模式,從網上大量相關的實例中得到啟發,從而提升自主學習和終身學習的意識,形成不斷學習和適應發展的素質。
從以上分析可以看出,課程大綱響應了新工科突出能力與新技術的特點,從知識、能力與素質上提出了具體要求。
為了適應“數據科學與大數據技術導論”課程的課程大綱,筆者組織相關教學團隊,編寫了《數據科學與大數據技術導論》教材[7]。區別于數據科學導論方面的教材[8-9]或大數據技術導論教材[10-11],筆者單位的教材既包括數據科學與大數據技術專業的發展歷程、專業知識要求與技能基本要求等,也包括有關數據科學的基本概念、數據挖掘的基本方法及大數據分析的主要技術等,對大數據分析的各流程中采用的關鍵技術及核心技術進行了梳理,對主要的大數據技術生態體系進行了介紹,最后基于實際項目,介紹了醫療大數據與智能城市交通大數據,既為學生提供了基本的數據科學與大數據相關知識,又介紹了實際應用的技術與高層次平臺或項目申報需要表達的與大數據相關的內容,同時通過20個自主實驗強化學生的實踐能力。
本課程首先介紹了數據科學與大數據技術專業的產生背景與發展歷史、專業的特點與綜合要求、專業相關的完整知識體系與技能體系,之后介紹了與本專業密切相關的專業,如計算機科學與技術、統計學等,分析了其與這樣的專業的關聯關系,還對數據科學與大數據技術專業的出路與就業情況進行了簡述。專業課程體系總體架構如圖1所示。
在技能體系方面,筆者認為數據科學與大數據技術專業的學生需要學習從數據獲取到數據分析應用整個流程的各種技術與技能。目前,對本專業的學生或從事本專業技術工作的人員在專業技術方面沒有明確的規定,但經過了幾年的專業建設與討論,并綜合考慮了社會對專業人才的實際需求,形成了如圖2所示的專業技能體系,不要求學生掌握所有的技術,但學生需要對某些部分或環節有選擇的能力與熟知其中一二的基礎。
一般的專業導論課程主要是專業知識體系的串接,即使講到技能體系,也只是一個概括性的介紹,如概述技術的名稱與具
由于數據科學與大數據技術專業較新,可供借鑒的歷史不多,大家各自的理解不同,在課程體系方面形成了“百花齊放”的局面,究竟哪個是最好的、最完整的,暫時沒有結論。筆者提出的專業課程體系供大家參考,也供本專業學生選擇課程時參考。

圖1 專業課程體系總體架構

圖2 大數據技能體系
針對以上專業課程體系,專業導論課程需要將專業主要的知識點串接起來,既要從各主要課程中抽出重點的知識進行綜述性的講解,又要兼顧各知識間的關聯關系,同時由于課時的約束,內容不可能講得很多,也不可能講得很深,這是一個較難掌握的平衡度。體技術特點或要求等,不會要求學生有實踐動手的機會。但從以上技能體系分析來看,數據科學與大數據技術專業要求掌握的技術可以說既具體又豐富,而且復雜性高。在新工科背景下,如果數據科學與大數據技術專業的學生在專業導論課程的學習時,沒有形成自己動手的意識或基本的動手能力,就很難達到能力要求,也很難滿足專業就業與科研的需要。因此筆者學校在實際教學時,專業導論課程對學生的動手能力提出了具體的要求。
針對專業導論課程的大綱及定位,筆者學校將實際課程教學分為5個章節,其中第1章為專業概論,主要介紹數據科學與大數據技術專業的產生背景與發展歷史、專業的特點與綜合要求、專業相關的完整知識體系與技能體系,還介紹了本專業和與其密切相關的專業(如計算機科學與技術、統計學等)之間的關聯關系,本章還對本專業的出路與就業情況進行了簡述。
第2章為數據科學與大數據基本概念,主要介紹與數據科學與大數據技術相關的基本概念、相關技術特點、對應的社會崗位需求及對學生的知識、能力、素質要求。與數據科學與大數據技術相關的主要概念包括基本概念(如信號、數據、信息、知識等)和成體系的概念(如數據科學、數據挖掘、數據庫、大數據等)。
第3章為大數據核心技術,大數據技術主要有6個核心部分:數據采集、數據存儲與管理、數據預處理、數據清洗、數據挖掘、數據可視化。當然也有很多文獻把大數據技術劃分為5個部分,即將數據預處理合并到數據采集或數據清洗中。總體來說,大數據核心技術是大數據處理的各個核心環節的關鍵技術。
第4章為大數據環境與技術,主要介紹大數據運行環境及典型技術。大數據技術生態一般是指在數據采集、數據整理、存儲、運算、數據展示以及系統維護等各個層面用到的各類相互關聯的技術、軟件、工具等的集合。以Hadoop為例,其維護工具是Ambari,采集工具是ETL,管理工具是Sqoop、NiFi、Phoenix等,存儲工具是HDFS、HBase、Hive等,運算工具是MapReduce、Spark等,聯機分析處理(online analytical processing,OLAP)的關鍵工具是Kylin,數據展示包括很多技術或工具,Hadoop自帶的是Zeeplin。
第5章為大數據應用系統,主要介紹2個典型的大數據應用系統及實用技術展示,包括醫療大數據、交通大數據等具體應用實例,進一步強化大數據相關技術。此外,部分相關項目立項時的一些文檔內容可供大家將來參與類似項目時參考,如醫療大數據主要參考“醫療大數據應用技術國家工程實驗室”“醫學大數據協同創新中心”“數據科學與大數據技術專業”等的申報材料,交通大數據主要參考“大聯合交管中心系統”的初步設計、詳細設計、技術報告及用戶手冊等文檔。
為了響應教育部新工科研究與實踐項目的要求,從本專業導論課程開始設立相關的實驗環節,通過知識主線與技術主線把相關課程串接起來,力爭讓學生盡早有培養自己動手能力的意識與綜合利用各種技術與平臺的能力。
首先是基本編程能力的強化訓練,如講述第1章緒論時引出4個實驗。
● 實驗1:任選編程語言,實現自然數階乘累加,如1!+2!+3!+…+n!,其中n為輸入變量。
● 實驗2:R for Windows下載與安裝、測試演示(graphics)、測試數學函數。
● 實驗3:Matlab下載、安裝、測試演示、測試 fplot( )函數并生成曲線圖。
● 實驗4:ECharts下載、安裝與典型圖表可視化。
大二學生已經有了一定的編程基礎,此時,再強化訓練細節編程(階乘累加中,當n較大時需要細致處理)及常用統計分析軟件的常用功能(如R語言、Matlab及可視化工具ECharts等)的使用。這有一定的挑戰性,但是圖形結果的呈現也會給學生帶來一定的興趣。比如,實驗1看起來比較簡單,一般理解就是一個累乘循環、一個累加循環就可以了,但實際上,由于累乘的結果增長很快,需要考慮整數的位長問題。當一般的位長不夠時,就需要考慮如何保存精確的整數,當n增長到比較大的數值(如20以上)時,處理起來非常復雜(不同編程語言有不同的位長限制),這就要求有較好的綜合編程能力。有些學生可以做到結果用文件輸出,n只受計算能力的限制;有些學生開始只能做到n為10左右,但經過多次嘗試,n就可以越來越大。經過這種從看起來簡單到實際具有一定挑戰性的綜合編程訓練,學生對自己選擇的編程語言的感受是非常深刻的。
在第2章安排了4個實驗,具體如下。
● 實驗1:任選編程語言,實現數組的集中趨勢測度。
● 實驗2:任選編程語言,實現數組的離散程度測度。
● 實驗3:下載并安裝Oracle,實現在數據庫管理員(database administrator,DBA)用戶系統下的用戶管理。
● 實驗4:執行典型的SQL操作等。這部分的實驗逐步轉向專業,即數據科學中的數據統計與數據庫的相關操作,難度不大,但有專業性。
其中第2章中的實驗1、實驗2主要是數據統計方面的實驗,是一些計算公式的實驗,難度不是很大,但能形成數據統計的感性認識。實驗3、實驗4主要是數據庫操作,目標是讓學生對大型數據庫的用戶管理及基本的SQL中九大命令的操作有真實的感受。
在第3章安排了5個實驗,包括:通過開放數據庫鏈接(open database connectivity,ODBC)導入/導出數據;網絡蜘蛛的搜索與應用;SQL查重與去重;利用SQL實現數據集成;使用ECharts與Excel實現數據庫表的數據可視化。此部分更趨向于專業,且要求比較綜合,逐步提高了實驗的難度與綜合性。此章的實驗逐步向大數據技術靠近,有多種方式的數據采集、數據的預處理、數據整合與融合及分析結果呈現等,各個實驗都有一定的設計性與綜合性,要求也就相應地提高了。
第4章介紹了典型的大數據技術的相關操作,而第5章安排了2個設計性的實驗,包括:分類統計重癥肌無力診療數據庫中的首發癥狀類別及與年齡的關聯關系;基于交通大數據中環線路面卡口研判。難度不言而喻,同時也不要求所有學生都做到,力爭通過演示的形式,給大家一個參考,讓學生感受真正的大數據分析與一般的統計分析差別到底在哪里,從而使學生對大數據實際分析有一個感性的認識。
我國于2016年開設了數據科學與大數據技術本科專業,國外雖然有數據分析工程的本科專業或碩士專業[12],但專業培養方案與課程大綱可供借鑒性較小。本文針對數據科學與大數據技術專業中重要的專業導論課程,從知識體系與能力體系等方面分析了培養的要求與目標定位,在知識點的串接、動手能力意識的培養與實際操作方面提出了可供參考的方案,該方案的特點是針對新工科的要求,在具體教學中引入了大量的專業實踐,為學生形成良好的能力訓練意識與真實感受大數據提供了機會。未來需要進一步完善的是針對課程教學與教材,形成數據科學與大數據專業實踐資源管理與服務平臺。