鄧一星,王 芳,楊榮領
(華南理工大學廣州學院 計算機工程學院,廣東 廣州 510800)
隨著我國信息化發(fā)展水平日益提高,數(shù)據(jù)資源的采集、挖掘和應用水平不斷深化。政府部門、互聯(lián)網(wǎng)企業(yè)、大型集團企業(yè)積累沉淀了大量的數(shù)據(jù)資源。我國已成為產(chǎn)生和積累數(shù)據(jù)量最大、數(shù)據(jù)類型最豐富的國家之一,大數(shù)據(jù)產(chǎn)業(yè)迅速成為了塑造我國競爭力的戰(zhàn)略產(chǎn)業(yè)[1]。2016年,工信部正式發(fā)布了《大數(shù)據(jù)產(chǎn)業(yè)發(fā)展規(guī)劃(2016—2020年)》,提出到2020年,我國要基本形成技術先進、應用繁榮、保障有力的大數(shù)據(jù)產(chǎn)業(yè)體系。大數(shù)據(jù)相關產(chǎn)品和服務業(yè)務收入突破1萬億元,年均復合增長率保持30%左右,加快建設數(shù)據(jù)強國,為實現(xiàn)制造強國和網(wǎng)絡強國提供強大的產(chǎn)業(yè)支撐。隨著大數(shù)據(jù)產(chǎn)業(yè)的爆炸式發(fā)展,對數(shù)據(jù)處理的專業(yè)技能需求也隨之激增。除此之外,更精細的分工也產(chǎn)生了對以統(tǒng)計分析、數(shù)據(jù)挖掘為主要知識背景的大數(shù)據(jù)分析師,以及以計算機技術為主要知識背景、面向大數(shù)據(jù)技術應用的大數(shù)據(jù)工程師的需求[2]。
從2017年開始,陸續(xù)有高校開設大數(shù)據(jù)技術的相關專業(yè),同時,更多的高校也在各自的計算機相關專業(yè)中設置了大數(shù)據(jù)技術相關的方向。對于應用型本科高校而言,總體上還是能明確自己的培養(yǎng)目標,即以向社會培養(yǎng)從事大數(shù)據(jù)技術相關應用的數(shù)據(jù)工程師為主。
大數(shù)據(jù)產(chǎn)業(yè)屬于新興產(chǎn)業(yè),大規(guī)模發(fā)展也就是不到四五年的時間,從事大數(shù)據(jù)相關工作的人才學科背景種類繁多,掌握的技能也是五花八門,很難總結歸納出究竟哪些才是作為面向應用的大數(shù)據(jù)工程師首先需要掌握的知識。這給高校在設置大數(shù)據(jù)技術相關課程時帶來了不小的難題,在實踐的過程中,確實也產(chǎn)生了不少的問題。
(1)課程設置簡單粗放。新興學科在課程設置上,很容易犯課程體系臃腫的毛病。以前些年非常熱門的物聯(lián)網(wǎng)專業(yè)(方向)為例,目前該專業(yè)(方向)在很多應用型二本、三本院校卻受到了冷遇。原因在于,作為跨通信、計算機、網(wǎng)絡等技術的交叉學科,物聯(lián)網(wǎng)專業(yè)課程體系往往同時包含了以上幾個專業(yè)的核心課程(特別是一些理論課程),不開設說不過去,但全開起來,本科層次的學生苦不堪言。學生進入社會從事具體應用的工作,又不需要掌握那么多知識。大數(shù)據(jù)技術方向的課程建設,也很容易出現(xiàn)這樣的問題,很多高校在計算機科學(軟件工程)專業(yè)上,加入部分數(shù)理統(tǒng)計類的課程,以及分布式集群框架和數(shù)據(jù)挖掘、分析的課程。但實際上,這樣的課程體系往往缺乏可操作性,也超過了本科生的承受能力。
(2)實驗教學難開展。大數(shù)據(jù)工程師能力的培養(yǎng)非常強調對相關平臺、工具的掌握和在平臺進行項目實操的經(jīng)驗??陀^地說,許多高校的大數(shù)據(jù)實驗課,還停留在開設一些Python的編程實驗和教學生安裝和配置Hadoop平臺的階段,很難再深入組織實驗。
(3)學生課外項目實踐機會少。校內的工作室或技術團隊,主要還是以軟件開發(fā)類項目為主,學生在校內很難找到一個完整的大數(shù)據(jù)項目進行實踐,只能靠網(wǎng)上的一些視頻和公開數(shù)據(jù)集來簡單練習,缺乏結合企業(yè)實際業(yè)務的數(shù)據(jù)處理過程,能力提高比較慢,在實習畢業(yè)的時候,大多還是走回進行普通軟件開發(fā)的老路子。
應用型本科高校應著眼于服務區(qū)域經(jīng)濟發(fā)展,培養(yǎng)能在生產(chǎn)第一線從事工程實施和管理的、能解決企業(yè)實際問題的應用型人才。大數(shù)據(jù)工程師的能力培養(yǎng),不能脫離“技術+業(yè)務”這條主線,應著眼于培養(yǎng)掌握大數(shù)據(jù)應用系統(tǒng)設計、開發(fā)、調優(yōu)以及運營維護的人才。這是一個系統(tǒng)的工程,需要從課程方案設計、實驗(實踐)教學組織乃至個性化學習和項目實踐等方面綜合考慮。
(1)課程體系要精簡,主次分明,有所取舍。不建議過多開設偏數(shù)學類的統(tǒng)計分析課程,開設了的課程內容也不易過深。實際上,數(shù)據(jù)工程師并不需要在數(shù)學理論和算法上進行非常深入的研究,他們更多是作為一個算法的使用者,而絕大多數(shù)的數(shù)據(jù)分析算法,都已經(jīng)有了成熟的算法包可供各種開發(fā)工具調用。對于數(shù)據(jù)工程師來說,明白一個業(yè)務場景需要用什么算法,比了解算法的內涵更為重要,有些算法甚至可以在實踐中現(xiàn)學現(xiàn)用。以華南理工大學廣州學院軟件工程專業(yè)(以下簡稱本專業(yè))大數(shù)據(jù)技術方向為例,在保留原有的高等數(shù)學、線性代數(shù)等課程的基礎之上,再把概率論和數(shù)理統(tǒng)計分成兩門課程,這相當于增加了統(tǒng)計學教學內容的學時;同時開設一門數(shù)學模型課程,讓學生掌握基本的數(shù)學建模能力。這已可保證學生具有足夠的數(shù)學基礎。對于部分傳統(tǒng)軟件工程和軟件開發(fā)類的課程,可以適當?shù)靥蕹蜣D為選修課程,為后期的大數(shù)據(jù)課程騰出學分空間,而這部分課程可供學有余力的學生選修。
(2)加強學生對數(shù)據(jù)的認識。涉及數(shù)據(jù)組織、管理和處理的課程可適當強化。除了傳統(tǒng)的數(shù)據(jù)庫原理課程外,增加數(shù)據(jù)導入與預處理、數(shù)據(jù)倉庫、數(shù)據(jù)挖掘以及數(shù)據(jù)可視化等課程。
(3)要求學生掌握在分布式平臺和并行計算框架上進行基本的數(shù)據(jù)分析的能力。目前本方向這方面的課程主要采用Hadoop生態(tài)圈下的產(chǎn)品和工具來開展教學,開設Hadoop大數(shù)據(jù)技術和大數(shù)據(jù)分析與內存計算、機器學習3門課程。
(4)保證學生對云計算有足夠的理解和應用能力,開設云計算基礎、架構等課程。云計算與大數(shù)據(jù)的關系如同手心手背,二者缺一不可。大數(shù)據(jù)需要云計算的支持才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力,以此來適應海量、高增長率和多樣化的信息資產(chǎn)。從應用的角度看,一方面,隨著企業(yè)不斷把業(yè)務遷移到云端,數(shù)據(jù)基本上也都存在于云端;另一方面,利用云計算可以靈活快速地完成分布式計算框架的構建;除此之外,幾乎所有的機器學習算法或深度學習的模型,都可以很輕易在云端找到實現(xiàn)的工具,甚至一些常見的應用場景,都可以在云端直接進行分析。簡單地說,云計算成就了大數(shù)據(jù),有了云計算,大數(shù)據(jù)的應用才能展開,技術門檻才能降低。
完整的大數(shù)據(jù)方向課程體系如圖1所示。
大數(shù)據(jù)實驗教學目前存在的最大問題在于,從基礎的Python編程、Linux操作系統(tǒng),到Hadoop平臺,乃至Spark計算框架,似乎涉及大數(shù)據(jù)技術的每門課程都安排了相應的實驗,但各項實驗之間內容沒能形成呼應關系,不能從整體上培養(yǎng)學生解決實際問題的能力。本專業(yè)在軟件工程類課程的實驗教學上,已經(jīng)做了比較好的嘗試。采用打通實驗課教學內容的方式,即從一個需求開始,依次展開UML建模、Java EE框架開發(fā)、軟件測試和軟件項目管理等實驗內容,取得了比較好的教學效果。相關經(jīng)驗可以引用到大數(shù)據(jù)實驗教學中,從一些簡單、典型的數(shù)據(jù)集開始,展開數(shù)據(jù)預處理、大數(shù)據(jù)平臺搭建、數(shù)據(jù)分析乃至數(shù)據(jù)可視化的實驗。一個流程下來,學生對大數(shù)據(jù)處理的內容、步驟就會有一個比較完整的認識,接下去再設計1~2門集中實踐式的綜合實驗(或課程設計),讓學生獨立完成一個大數(shù)據(jù)應用項目。
圖1 大數(shù)據(jù)方向課程體系
此外,正如前面所述,云計算為大數(shù)據(jù)提供了強有力的支撐,云計算的實驗教學也不可忽視。很多學校會采用類似OpenStack這樣的開源云平臺來開展實驗,但這樣做缺點也很明顯。首先加大了實驗教學的難度,在開源平臺的實驗中,若配置稍微出點問題,糾錯改正的過程往往讓教師苦不堪言,這違背了云計算方便易用的初衷;其次,在實驗室搭建的云平臺,也很難提供足夠強大的計算能力來實現(xiàn)大數(shù)據(jù)實戰(zhàn)的需求。在大數(shù)據(jù)應用領域,企業(yè)更傾向于采用商業(yè)云平臺,按需獲得足夠強大的計算能力。本專業(yè)在獨立學院中率先建立了AWS Academy,與AWS展開了實驗課程的合作,由AWS來協(xié)助設計云計算基礎、架構和開發(fā)的實驗教學內容,提供真實的AWS云環(huán)境進行實驗,并鼓勵學生參與到后續(xù)的大數(shù)據(jù)項目中,使用AWS Segmaker等機器學習或深度學習工具。
實踐是檢驗真理的唯一標準,教學之外,還應為學生創(chuàng)造更多的課外項目實踐機會。通過鼓勵教師參與大數(shù)據(jù)相關研發(fā)項目并吸收學生參與具體工作,是一個不錯的手段。為此,華南理工大學廣州學院由計算機工程學院和管理學院共同組建了智能商務研究所,為珠三角企業(yè)提供大數(shù)據(jù)相關的技術服務。參與研究所項目的老師近10人,并在此基礎上組建了大數(shù)據(jù)學生團隊,每屆學生總數(shù)為30~40人,學生中的一部分參與研究所的具體項目研發(fā),一部分在老師指導下進行大學生創(chuàng)新創(chuàng)業(yè)實驗項目,還有一部分通過參加Kaggle比賽或天池比賽,不斷累積項目經(jīng)驗。
方案提出并在華南理工大學廣州學院軟件工程專業(yè)實施以來,取得了比較好的效果。首先改變了學生扎堆往Web開發(fā)方向上擠的局面,學生的就業(yè)面得到了拓寬,已有相當一部分學生能夠在云計算、數(shù)據(jù)分析相關的公司和崗位實習或就業(yè),就業(yè)質量也得到了顯著提高;其次,學生有了一定的大數(shù)據(jù)應用的知識基礎后,便可以積極參與大數(shù)據(jù)相關的應用研究工作,近兩年來,計算機工程學院和智能商務研究所已開展“獨立學院學生多維興趣數(shù)據(jù)的挖掘與分析”“AI智能制單”“海關通關信息自動分類”等6項課題,此外還有國家級大創(chuàng)項目1項,省級大創(chuàng)項目1項。
在此方案基礎上,華南理工大學廣州學院與教育部學校規(guī)劃建設發(fā)展中心以及中科曙光集團于2018年7月成功簽約數(shù)據(jù)中國“百校工程”產(chǎn)教融合創(chuàng)新項目,校企政三方共建大數(shù)據(jù)應用創(chuàng)新中心,打造兼具人才培養(yǎng)、科研創(chuàng)新和服務行業(yè)與地方發(fā)展功能的大數(shù)據(jù)應用協(xié)同創(chuàng)新網(wǎng)絡。
在大數(shù)據(jù)從理論研究轉向大規(guī)模應用實踐的今天,各行業(yè)對大數(shù)據(jù)工程師的需求量激增,如何開展大數(shù)據(jù)工程師的培養(yǎng)工作,是擺在應用型本科院校面前的一個現(xiàn)實問題。本文針對高校中比較常見的在軟件工程專業(yè)下設置大數(shù)據(jù)方向這種方式,對其課程設置、實驗教學和實踐環(huán)節(jié)進行分析,試圖找出一條有效的大數(shù)據(jù)工程師培養(yǎng)方案,為其他高校提供一些可供參考和借鑒的經(jīng)驗。