?

新工科背景下應用型大數據人才培養課程群研究與建設

2021-04-06 01:09崔曉龍邊勝琴
實驗技術與管理 2021年2期
關鍵詞:講授案例模塊

崔曉龍,張 敏,張 磊,邊勝琴,郭 茜

(北京科技大學 計算機與通信工程學院,材料領域知識工程北京市重點實驗室,北京 100083)

新工科建設以新技術、新產業、新業態和新模式為特征,各高校正在加速改造升級傳統工科專業,加快培養新興領域工程科技人才。當前,新一代信息技術正在全球孕育興起,科技創新、產業形態和應用格局正發生著重大變革,隨著數據獲取和計算技術的進步,大數據已成為一種新的戰略資源,引起了學術界、產業界的高度關注。在未來5~10 年,大數據產業將迎來井噴式發展,對大數據專業人才的需求也將會非常巨大。因此,加速新一代信息技術人才培養以滿足大數據行業的人才需求迫在眉睫[1-2]。

現階段信息類專業作為信息技術人才培養的主陣地,必須緊跟時代形勢,為大數據相關領域輸送高科技人才,這就要求專業人才培養方案符合大數據行業人才需求。然而高校信息類相關專業面臨著諸如課程體系陳舊、大數據課程僅講授理論知識、實踐環節嚴重不足甚至未開設大數據相關課程等問題,這就要求傳統信息類專業調整課程體系結構,開設相關大數據課程并注重知識結構的完整性,以確保技術內容的通用性、普適性與先進性;同時要遵循教育規律,加強能力培養,必須精選行業真實數據制作案例,讓學生真正學習到行業中大數據的分析處理方法,并感受到強大的統計成果,從而達到開闊學生視野、培養學生興趣并啟發創新思維的目的[3-4]。

目前北京科技大學計算機類專業已開設“Python語言程序設計”“Java 面向對象程序設計”“大數據認知與技術實踐”“Hadoop 技術實踐”“大數據工程綜合實踐”等大數據相關課程。其中“大數據認知與技術實踐”是基礎類專選課,該課程作為大數據導論課主要面向計算機類專業低年級學生,講述大數據的概念、應用及發展現狀,通過簡單的操作及案例讓學生動手體驗大數據的各個處理環節,讓低年級學生能夠對大數據有基礎的認識;進階類專選課“Hadoop 技術實踐”“大數據工程綜合實踐”則面向計算機類專業高年級學生,主要講授Hadoop 生態系統組件的原理及實際應用,偏重于學生實踐環節,通過實驗讓學生對各核心組件如HDFS、HBase、Hive 等組件的使用有深入的學習,同時課程中將會通過實際案例對開源數據進行處理,提高學生對大數據技術選型的理解與大數據應用開發的認識。未來大數據課程群將緊跟技術發展前沿,開設大數據技術從基礎到核心課程并講授新的技術,如Spark、Flink 等,為學生從事大數據行業或相關方向的科研工作奠定基礎。

1 大數據課程群總體建設

大數據人才需要具備的能力比較全面,理論上計算機專業、信息專業、數學專業、管理專業等都可以進入大數據領域。大數據工程師以技術性工作為主,必須具備Java、大數據開發、大數據架構、軟件開發工程等技術背景,這就要求進行大數據工程師培養時課程體系除了理論知識之外,還必須安排充分的技術實踐,同時多接觸大數據處理的實際案例,這樣才能滿足大數據人才培養的需求[3]。

1.1 大數據知識體系

大數據技術目前已經形成了較龐大的知識體系,如圖1 所示,其中學生需要掌握較多的先修知識如Java 基礎、Linux 基礎、數據庫原理以及R 或Python語言編程等,因此大數據課程往往作為高年級本科生或研究生課程來講授。目前主流大數據技術以Hadoop、Spark 和Flink 相關技術為代表,這三部分將作為課程的核心內容來講授。對于Hadoop 生態圈將重點講授分布式文件系統HDFS、分布式數據庫HBase以及數據倉庫工具Hive;對于Spark 生態圈,則需要講授SparkRDD 各種算子的使用、Spark Streaming、Spark SQL 和MLlib 的使用;對于Flink 技術,講授其基本原理和核心API,掌握這部分核心知識,能夠讓學生快速構建出大型的離線或實時的應用項目。另外要完成整個大數據分析處理過程,除了上述核心技術,數據采集、數據可視化等過程也是必不可少的,課程將選取典型的相關技術進行講授,如數據采集中的Kafka、Flume 和Sqoop 等技術。通過向學生展示大數據知識體系,讓學生對大數據技術有宏觀的認識,在課程學習過程中,逐漸形成自己的學習路線和建立起自己的大數據知識體系。

圖1 大數據知識體系

1.2 大數據課程群內容

大數據課程群需要基于大數據知識體系來進行合理的建設,其相關課程如表1 所示。課程類型涉及程序設計基礎課程、專業基礎課程、大數據基礎課程和大數據核心課程。其中程序設計基礎課程主要培養學生的基本編程能力,尤其需要掌握與大數據技術相關的Java 語言以及Python 語言,為從事大數據開發奠定基礎;專業基礎課程為計算機專業的通用課程,為大數據技術提供運行環境和操作的相關知識基礎;大數據基礎課程則從宏觀上講授大數據基本概念特點等知識,讓學生對大數據有感性的認識并激發其學習興趣;大數據核心課程則重點講授大數據的各種技術及工程應用,讓學生接觸到大數據的真實應用開發場景并培養大數據思維方式,課程群涵蓋從低年級到高年級,讓學生循序漸進地掌握大數據的理論知識,并具備大數據開發和實踐的能力[5]。

課程群的建設離不開軟硬件平臺和理論實踐教學內容的支撐,通過研究與建設基于大數據生態系統的通用大數據分析系統,支撐大數據相關課程的案例教學及模塊化的實踐環節設計,即教師通過大數據分析系統,可在課程中針對不同行業的數據進行定制分析處理,使學生可體會不同行業、不同類型數據的不同分析處理過程[6];并通過大數據分析系統,有針對性地學習大數據組件安裝、使用及運維等知識,實現大數據技術體系的模塊化學習,同時根據大數據技術的發展不斷更新系統中的知識,教學與實踐環節內容相輔相成,逐步使系統、教學內容、實踐環境三個方面趨于完善。

表1 大數據課程群課程

2 基于Hadoop 的通用大數據分析系統

大數據分析系統底層將使用Hadoop 生態系統以及Spark 等組件作為存儲和計算引擎,其功能模塊將主要分為主題管理模塊、數據探索模塊、數據預處理模塊、算法模型模塊四部分,如圖2 所示。

圖2 大數據分析系統功能結構圖

主題管理模塊主要為解決數據安全性而設計的,數據分析人員基于業務對主題進行描述,選擇相應數據源,最終確定主題,每個主題對應一套針對自己業務的數據集以及數據處理流程。由于同一數據分析人員業務背景相同,其分析不同的主題可能用到相同的數據,而不同的數據分析人員可能用到相同的算法模型,因此,應用主題管理模塊便于對數據分析人員復用權限的管理;數據探索模塊中,數據分析人員需根據數據特征的分布來判定如何對數據進行預處理、選擇什么樣的特征以及如何構建合適模型,當加載數據源后,針對不同數據類型,數據分析人員往往看重的分析指標又不盡相同,此時,該模塊可根據數據列類型給出基本的數據描述字段,使數據分析人員更清楚地認識數據,為數據預處理和模型構建做準備;數據預處理模塊可對分析數據進行半自動化預處理,系統通過數據分布提出相應的數據處理建議,數據預處理方法由數據分析人員來決定;在算法模型模塊中,數據分析人員可以通過該模塊進行算法模型的定義并上傳已實現的算法模型文件,其余數據分析人員可輸入指定的參數來調用模型,最終平臺按照輸出類型將結果輸出。

借助于該系統的研究與建設,可支撐大數據相關技術的教學工作,一方面,教師可通過該系統展示相應的課程內容,例如,如何進行數據的預處理、數據分析以及數據可視化效果如何等內容,讓學生可專注于某一具體的技能進行學習;另一方面,學生通過瀏覽器訪問該系統,可在線完成開放式實驗,學生可選擇深入學習某一技能,也可通過流程完成整個大數據分析的過程,從局部和整體掌握大數據知識[7-10]。

3 “案例式”大數據課程內容建設

針對大數據課程中課程內容滯后于應用的現狀,通用大數據分析系統的建設,將為教師教學和學生學習提供面向不同行業的數據分析場景。大數據的技術框架本身多種多樣,學生全部掌握從課程學時和學生時間上來說都是不允許的,所以考慮用一個案例貫穿課程全部,將案例進行分解后對應到課程章節的內容之中,這樣每次課學生可學習到部分的內容,并通過案例來直觀了解到每部分內容是如何來實現實際應用的,同時將案例分解為子任務,采用任務驅動的形式讓學生能夠保持不斷地學習和實踐,以加深對每個知識點的理解。另外可考慮提供多種不同的案例供學生進行選擇,這樣課程在主體內容不變的情況下,讓不同的學生體會到不同的數據處理場景在技術選型上的差別,從而增加學習的有效性,最終可設置答辯展示環節讓大家多參與并感受到不同的案例在實施上的不同,引發更多的思考和體會。

3.1 案例式教學設計

大數據許多理論知識比較難以理解,僅靠講授原理難免讓學生感覺抽象乏味,另外大數據技術框架復雜,讓學生在課時內掌握所有技術也不現實,可以采用案例式教學方法,具體為:課程內學時讓學生學習一套該案例的解決方案,課程外學時可讓學生去探索不同的解決方案或其他類似案例的一套完整解決方案,這樣就起到了舉一反三的效果;同時案例式教學的方式,使學生學到的知識可以快速落地,快速看到自己完成的成果,從而提高自身的學習興趣[11]。

表2 展示了“以Spark 對電影評分數據集的處理并實現推薦系統”為例的案例式教學設計,在課程講授Spark 基礎知識時,可對該案例進行引入,同時對數據集進行說明,讓學生思考借助于Spark 的知識如何去處理該數據,同時將Spark MLlib 中的協同過濾算法對應到處理需求中去,讓學生更直觀地體會到該算法的處理過程;在基本操作環節,可借助于Spark Shell 操作對數據進行一些簡單的操作和探索,讓學生對基本操作有一定的掌握;而最終目標是實現數據處理功能,則要講授應用開發的一些方法和模式,讓學生能夠動手編程來實現推薦系統;對于平臺維護方面,則需要在課程中講解基本的配置方法,并讓學生在實現這個案例的過程中自己進行環境配置并調試出現的bug。這樣,一個完整的數據處理案例就被結合到課程講授過程中,學生可以更容易地對整個數據處理過程有清晰的認識,并通過理論加實踐的教學過程掌握Spark 組件的知識點。

表2 案例式教學設計(以Spark 為例)

3.2 任務驅動式學習

由于將案例貫穿到整個課程的教學過程中,可讓學生從課程開始就進行案例的探索與實踐,即自然地采用任務驅動式教學模式。整門課程讓學生在學習知識點的同時進行實踐,達到理論和實踐相輔相成的目的,這就需要精心設計理論和實踐環節,將整個案例設計成子任務的形式。

以“Hadoop 技術實踐”課程為例,了解和掌握大數據的整個處理流程是本課程教學內容建設的關鍵,因為只有結合具體的大數據處理流程才能做到真正將Hadoop 技術付諸實踐[12],大數據的處理流程主要包括數據采集、數據預處理、數據存儲、數據分析挖掘以及數據可視化,同時還要考慮大數據安全等問題,可將這些問題貫穿到整個大數據課程教學中。以該課程采用的手機銷售和評論數據分析系統作為案例,通過用戶的評價信息分析用戶的購買習慣和偏好,并為用戶推薦合適的產品,系統的整體架構如圖3 所示。

圖3 購物系統架構設計

基于該整體架構并分析后將整個項目分解成子任務的形式,見表3。這些子任務伴隨著課程的相關知識點,通過實踐讓學生加深對大數據處理過程的認識,并對相關大數據技能進行掌握。

表3 案例任務分解

4 “模塊式”大數據實踐環節創新設計

“模塊式”的概念可以從兩個層面來理解,首先是技術內容的抽取,相關專業可以按照自身課程內容的設置、課時安排靈活地從大數據分析系統中,選取與理論內容相對應的實驗內容來構成適合教學內容的實驗教材;另外實驗內容的抽取,實踐環節為每一個技術都設計了一定數量的實驗,教師可根據學生的能力以及課時安排來為每個技術選擇相應的實驗內容[13-14]。

4.1 模塊化實驗項目內容

在大數據實踐內容設計上,將大數據技術分門別類后組成不同的技能模塊,如分布式存儲模塊、大數據通用處理平臺模塊和機器學習模塊等,如圖4 所示,所涉及的技術都能及時反映當前行業中大數據相關領域的主流技術,每個技術框架都有單獨的實驗,學生可根據自己感興趣的方向學習相關的知識,如學生對數據分析挖掘感興趣,則可學習編程語言模塊中的Python 技能和數據分析挖掘模塊中的相關數據分析挖掘方法;而教師在準備實驗內容時可根據課程要求挑選相關的實驗,如機器學習課程可重點選擇機器學習模塊中的各類算法實驗以及機器學習工具模塊中的某種具體工具包實驗來組合完成課程實驗內容。這種模塊式的實驗設計方案,使得教師教學和學生學習知識更加靈活,同時有利于學生對不同模塊之間的知識組合進行探索,如學生要完成某一具體的大數據分析案例,則需要根據應用場景進行技術選型的工作,模塊式的結構可讓學生從相應功能的模塊中選擇符合場景的技術來進行組合后完成應用的功能。

圖4 大數據技能模塊圖譜

另外,大數據技術領域非常多,且每個技術領域涉及到各種不同的組件,如數據處理的主流技術就有MapReduce、Spark、Storm、Flink 等,教師在學時內不可能將所有的技術都教給學生,采用模塊化的設計有助于將各類技術分門別類后供選擇學習使用,且對不同模塊進行技術選型后進行組合又可完成一個完整的大數據案例,圖5 是數據倉庫模塊中Hive 相關內容,可以看出僅Hive 的內容就有很多部分,教師可根據課程內容選擇講授與實踐,如僅僅使用Hive 構建數據倉庫并進行簡單數據分析,則可僅講授Hive 體系架構、Hive 命令行、HiveQL、數據表設計的知識,其余內容則由學生根據興趣進行選擇,在有限的課時內,讓學生抓住課程的核心內容。

4.2 應用型實訓內容

實踐環節是確保大數據課程教學質量的重要環節。大數據課程群實驗教學分為課內實驗教學和課外實訓教學,課內實驗學時往往較少,為了讓學生能夠更好地理解大數據的理論知識,通常包括驗證型實驗、設計型實驗兩部分,驗證型實驗由教師提供實驗內容和步驟,由學生進行實驗結果的復現,設計型實驗則由教師給出應用場景,由學生進行設計并實現。課外實訓教學是獨立于課程教學特設的實驗教學項目,通常采用綜合型實驗項目,讓學生綜合運用大數據技術,解決實際應用場景中的問題。

圖5 數據倉庫模塊內容——以Hive 為例

表4 是以HDFS 為例展示的實訓內容,其中,驗證型是讓學生熟悉HDFS 的基本操作以及開發接口,設計型是單獨使用HDFS 完成其常用功能的開發如網盤的設計與實現,學生需要考慮HDFS 的特點并且結合系統開發的知識來完成,綜合型則需要學生綜合使用多種大數據組件,根據實際應用場景需求,進行技術選型后,搭建系統并進行相應的開發工作,這就需要學生對各個組件之間的連接進行實踐。

表4 實訓內容(以HDFS 為例)

除了讓學生完成教學計劃中的實訓課程,還應該通過其他實踐形式讓學生接觸大數據的相關場景。例如,目前大數據及機器學習相關的學科競賽較多,應組織感興趣的同學積極參加;高校教師承擔的相關科研項目可向部分本科生開放,使他們較早地接觸到科研工作;通過實習或畢業設計環節來讓學生接觸并實踐更多的大數據課題,培養學生解決復雜問題的能力。

5 結語

以“新工科”專業人才培養為目標,借助云計算與大數據平臺作為支撐,設計相關課程內容和體系以及配套的實踐教學內容,利用大數據和機器學習相關的競賽,較好地培養學生大數據分析處理的能力,使其在就業上更有競爭力。

猜你喜歡
講授案例模塊
28通道收發處理模塊設計
“選修3—3”模塊的復習備考
案例4 奔跑吧,少年!
隨機變量分布及統計案例拔高卷
發生在你我身邊的那些治超案例
我學習和講授世界民族音樂課程的經驗和體會
一個模擬案例引發的多重思考
藥學專業藥物分析課的講授方法探討
集成水空中冷器的進氣模塊
淺談數學課堂講授的時機選擇
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合