崔曉龍,張 敏,張 磊,邊勝琴,郭 茜
(北京科技大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,材料領(lǐng)域知識工程北京市重點(diǎn)實(shí)驗(yàn)室,北京 100083)
新工科建設(shè)以新技術(shù)、新產(chǎn)業(yè)、新業(yè)態(tài)和新模式為特征,各高校正在加速改造升級傳統(tǒng)工科專業(yè),加快培養(yǎng)新興領(lǐng)域工程科技人才。當(dāng)前,新一代信息技術(shù)正在全球孕育興起,科技創(chuàng)新、產(chǎn)業(yè)形態(tài)和應(yīng)用格局正發(fā)生著重大變革,隨著數(shù)據(jù)獲取和計(jì)算技術(shù)的進(jìn)步,大數(shù)據(jù)已成為一種新的戰(zhàn)略資源,引起了學(xué)術(shù)界、產(chǎn)業(yè)界的高度關(guān)注。在未來5~10 年,大數(shù)據(jù)產(chǎn)業(yè)將迎來井噴式發(fā)展,對大數(shù)據(jù)專業(yè)人才的需求也將會非常巨大。因此,加速新一代信息技術(shù)人才培養(yǎng)以滿足大數(shù)據(jù)行業(yè)的人才需求迫在眉睫[1-2]。
現(xiàn)階段信息類專業(yè)作為信息技術(shù)人才培養(yǎng)的主陣地,必須緊跟時(shí)代形勢,為大數(shù)據(jù)相關(guān)領(lǐng)域輸送高科技人才,這就要求專業(yè)人才培養(yǎng)方案符合大數(shù)據(jù)行業(yè)人才需求。然而高校信息類相關(guān)專業(yè)面臨著諸如課程體系陳舊、大數(shù)據(jù)課程僅講授理論知識、實(shí)踐環(huán)節(jié)嚴(yán)重不足甚至未開設(shè)大數(shù)據(jù)相關(guān)課程等問題,這就要求傳統(tǒng)信息類專業(yè)調(diào)整課程體系結(jié)構(gòu),開設(shè)相關(guān)大數(shù)據(jù)課程并注重知識結(jié)構(gòu)的完整性,以確保技術(shù)內(nèi)容的通用性、普適性與先進(jìn)性;同時(shí)要遵循教育規(guī)律,加強(qiáng)能力培養(yǎng),必須精選行業(yè)真實(shí)數(shù)據(jù)制作案例,讓學(xué)生真正學(xué)習(xí)到行業(yè)中大數(shù)據(jù)的分析處理方法,并感受到強(qiáng)大的統(tǒng)計(jì)成果,從而達(dá)到開闊學(xué)生視野、培養(yǎng)學(xué)生興趣并啟發(fā)創(chuàng)新思維的目的[3-4]。
目前北京科技大學(xué)計(jì)算機(jī)類專業(yè)已開設(shè)“Python語言程序設(shè)計(jì)”“Java 面向?qū)ο蟪绦蛟O(shè)計(jì)”“大數(shù)據(jù)認(rèn)知與技術(shù)實(shí)踐”“Hadoop 技術(shù)實(shí)踐”“大數(shù)據(jù)工程綜合實(shí)踐”等大數(shù)據(jù)相關(guān)課程。其中“大數(shù)據(jù)認(rèn)知與技術(shù)實(shí)踐”是基礎(chǔ)類專選課,該課程作為大數(shù)據(jù)導(dǎo)論課主要面向計(jì)算機(jī)類專業(yè)低年級學(xué)生,講述大數(shù)據(jù)的概念、應(yīng)用及發(fā)展現(xiàn)狀,通過簡單的操作及案例讓學(xué)生動手體驗(yàn)大數(shù)據(jù)的各個(gè)處理環(huán)節(jié),讓低年級學(xué)生能夠?qū)Υ髷?shù)據(jù)有基礎(chǔ)的認(rèn)識;進(jìn)階類專選課“Hadoop 技術(shù)實(shí)踐”“大數(shù)據(jù)工程綜合實(shí)踐”則面向計(jì)算機(jī)類專業(yè)高年級學(xué)生,主要講授Hadoop 生態(tài)系統(tǒng)組件的原理及實(shí)際應(yīng)用,偏重于學(xué)生實(shí)踐環(huán)節(jié),通過實(shí)驗(yàn)讓學(xué)生對各核心組件如HDFS、HBase、Hive 等組件的使用有深入的學(xué)習(xí),同時(shí)課程中將會通過實(shí)際案例對開源數(shù)據(jù)進(jìn)行處理,提高學(xué)生對大數(shù)據(jù)技術(shù)選型的理解與大數(shù)據(jù)應(yīng)用開發(fā)的認(rèn)識。未來大數(shù)據(jù)課程群將緊跟技術(shù)發(fā)展前沿,開設(shè)大數(shù)據(jù)技術(shù)從基礎(chǔ)到核心課程并講授新的技術(shù),如Spark、Flink 等,為學(xué)生從事大數(shù)據(jù)行業(yè)或相關(guān)方向的科研工作奠定基礎(chǔ)。
大數(shù)據(jù)人才需要具備的能力比較全面,理論上計(jì)算機(jī)專業(yè)、信息專業(yè)、數(shù)學(xué)專業(yè)、管理專業(yè)等都可以進(jìn)入大數(shù)據(jù)領(lǐng)域。大數(shù)據(jù)工程師以技術(shù)性工作為主,必須具備Java、大數(shù)據(jù)開發(fā)、大數(shù)據(jù)架構(gòu)、軟件開發(fā)工程等技術(shù)背景,這就要求進(jìn)行大數(shù)據(jù)工程師培養(yǎng)時(shí)課程體系除了理論知識之外,還必須安排充分的技術(shù)實(shí)踐,同時(shí)多接觸大數(shù)據(jù)處理的實(shí)際案例,這樣才能滿足大數(shù)據(jù)人才培養(yǎng)的需求[3]。
大數(shù)據(jù)技術(shù)目前已經(jīng)形成了較龐大的知識體系,如圖1 所示,其中學(xué)生需要掌握較多的先修知識如Java 基礎(chǔ)、Linux 基礎(chǔ)、數(shù)據(jù)庫原理以及R 或Python語言編程等,因此大數(shù)據(jù)課程往往作為高年級本科生或研究生課程來講授。目前主流大數(shù)據(jù)技術(shù)以Hadoop、Spark 和Flink 相關(guān)技術(shù)為代表,這三部分將作為課程的核心內(nèi)容來講授。對于Hadoop 生態(tài)圈將重點(diǎn)講授分布式文件系統(tǒng)HDFS、分布式數(shù)據(jù)庫HBase以及數(shù)據(jù)倉庫工具Hive;對于Spark 生態(tài)圈,則需要講授SparkRDD 各種算子的使用、Spark Streaming、Spark SQL 和MLlib 的使用;對于Flink 技術(shù),講授其基本原理和核心API,掌握這部分核心知識,能夠讓學(xué)生快速構(gòu)建出大型的離線或?qū)崟r(shí)的應(yīng)用項(xiàng)目。另外要完成整個(gè)大數(shù)據(jù)分析處理過程,除了上述核心技術(shù),數(shù)據(jù)采集、數(shù)據(jù)可視化等過程也是必不可少的,課程將選取典型的相關(guān)技術(shù)進(jìn)行講授,如數(shù)據(jù)采集中的Kafka、Flume 和Sqoop 等技術(shù)。通過向?qū)W生展示大數(shù)據(jù)知識體系,讓學(xué)生對大數(shù)據(jù)技術(shù)有宏觀的認(rèn)識,在課程學(xué)習(xí)過程中,逐漸形成自己的學(xué)習(xí)路線和建立起自己的大數(shù)據(jù)知識體系。
圖1 大數(shù)據(jù)知識體系
大數(shù)據(jù)課程群需要基于大數(shù)據(jù)知識體系來進(jìn)行合理的建設(shè),其相關(guān)課程如表1 所示。課程類型涉及程序設(shè)計(jì)基礎(chǔ)課程、專業(yè)基礎(chǔ)課程、大數(shù)據(jù)基礎(chǔ)課程和大數(shù)據(jù)核心課程。其中程序設(shè)計(jì)基礎(chǔ)課程主要培養(yǎng)學(xué)生的基本編程能力,尤其需要掌握與大數(shù)據(jù)技術(shù)相關(guān)的Java 語言以及Python 語言,為從事大數(shù)據(jù)開發(fā)奠定基礎(chǔ);專業(yè)基礎(chǔ)課程為計(jì)算機(jī)專業(yè)的通用課程,為大數(shù)據(jù)技術(shù)提供運(yùn)行環(huán)境和操作的相關(guān)知識基礎(chǔ);大數(shù)據(jù)基礎(chǔ)課程則從宏觀上講授大數(shù)據(jù)基本概念特點(diǎn)等知識,讓學(xué)生對大數(shù)據(jù)有感性的認(rèn)識并激發(fā)其學(xué)習(xí)興趣;大數(shù)據(jù)核心課程則重點(diǎn)講授大數(shù)據(jù)的各種技術(shù)及工程應(yīng)用,讓學(xué)生接觸到大數(shù)據(jù)的真實(shí)應(yīng)用開發(fā)場景并培養(yǎng)大數(shù)據(jù)思維方式,課程群涵蓋從低年級到高年級,讓學(xué)生循序漸進(jìn)地掌握大數(shù)據(jù)的理論知識,并具備大數(shù)據(jù)開發(fā)和實(shí)踐的能力[5]。
課程群的建設(shè)離不開軟硬件平臺和理論實(shí)踐教學(xué)內(nèi)容的支撐,通過研究與建設(shè)基于大數(shù)據(jù)生態(tài)系統(tǒng)的通用大數(shù)據(jù)分析系統(tǒng),支撐大數(shù)據(jù)相關(guān)課程的案例教學(xué)及模塊化的實(shí)踐環(huán)節(jié)設(shè)計(jì),即教師通過大數(shù)據(jù)分析系統(tǒng),可在課程中針對不同行業(yè)的數(shù)據(jù)進(jìn)行定制分析處理,使學(xué)生可體會不同行業(yè)、不同類型數(shù)據(jù)的不同分析處理過程[6];并通過大數(shù)據(jù)分析系統(tǒng),有針對性地學(xué)習(xí)大數(shù)據(jù)組件安裝、使用及運(yùn)維等知識,實(shí)現(xiàn)大數(shù)據(jù)技術(shù)體系的模塊化學(xué)習(xí),同時(shí)根據(jù)大數(shù)據(jù)技術(shù)的發(fā)展不斷更新系統(tǒng)中的知識,教學(xué)與實(shí)踐環(huán)節(jié)內(nèi)容相輔相成,逐步使系統(tǒng)、教學(xué)內(nèi)容、實(shí)踐環(huán)境三個(gè)方面趨于完善。
表1 大數(shù)據(jù)課程群課程
大數(shù)據(jù)分析系統(tǒng)底層將使用Hadoop 生態(tài)系統(tǒng)以及Spark 等組件作為存儲和計(jì)算引擎,其功能模塊將主要分為主題管理模塊、數(shù)據(jù)探索模塊、數(shù)據(jù)預(yù)處理模塊、算法模型模塊四部分,如圖2 所示。
圖2 大數(shù)據(jù)分析系統(tǒng)功能結(jié)構(gòu)圖
主題管理模塊主要為解決數(shù)據(jù)安全性而設(shè)計(jì)的,數(shù)據(jù)分析人員基于業(yè)務(wù)對主題進(jìn)行描述,選擇相應(yīng)數(shù)據(jù)源,最終確定主題,每個(gè)主題對應(yīng)一套針對自己業(yè)務(wù)的數(shù)據(jù)集以及數(shù)據(jù)處理流程。由于同一數(shù)據(jù)分析人員業(yè)務(wù)背景相同,其分析不同的主題可能用到相同的數(shù)據(jù),而不同的數(shù)據(jù)分析人員可能用到相同的算法模型,因此,應(yīng)用主題管理模塊便于對數(shù)據(jù)分析人員復(fù)用權(quán)限的管理;數(shù)據(jù)探索模塊中,數(shù)據(jù)分析人員需根據(jù)數(shù)據(jù)特征的分布來判定如何對數(shù)據(jù)進(jìn)行預(yù)處理、選擇什么樣的特征以及如何構(gòu)建合適模型,當(dāng)加載數(shù)據(jù)源后,針對不同數(shù)據(jù)類型,數(shù)據(jù)分析人員往往看重的分析指標(biāo)又不盡相同,此時(shí),該模塊可根據(jù)數(shù)據(jù)列類型給出基本的數(shù)據(jù)描述字段,使數(shù)據(jù)分析人員更清楚地認(rèn)識數(shù)據(jù),為數(shù)據(jù)預(yù)處理和模型構(gòu)建做準(zhǔn)備;數(shù)據(jù)預(yù)處理模塊可對分析數(shù)據(jù)進(jìn)行半自動化預(yù)處理,系統(tǒng)通過數(shù)據(jù)分布提出相應(yīng)的數(shù)據(jù)處理建議,數(shù)據(jù)預(yù)處理方法由數(shù)據(jù)分析人員來決定;在算法模型模塊中,數(shù)據(jù)分析人員可以通過該模塊進(jìn)行算法模型的定義并上傳已實(shí)現(xiàn)的算法模型文件,其余數(shù)據(jù)分析人員可輸入指定的參數(shù)來調(diào)用模型,最終平臺按照輸出類型將結(jié)果輸出。
借助于該系統(tǒng)的研究與建設(shè),可支撐大數(shù)據(jù)相關(guān)技術(shù)的教學(xué)工作,一方面,教師可通過該系統(tǒng)展示相應(yīng)的課程內(nèi)容,例如,如何進(jìn)行數(shù)據(jù)的預(yù)處理、數(shù)據(jù)分析以及數(shù)據(jù)可視化效果如何等內(nèi)容,讓學(xué)生可專注于某一具體的技能進(jìn)行學(xué)習(xí);另一方面,學(xué)生通過瀏覽器訪問該系統(tǒng),可在線完成開放式實(shí)驗(yàn),學(xué)生可選擇深入學(xué)習(xí)某一技能,也可通過流程完成整個(gè)大數(shù)據(jù)分析的過程,從局部和整體掌握大數(shù)據(jù)知識[7-10]。
針對大數(shù)據(jù)課程中課程內(nèi)容滯后于應(yīng)用的現(xiàn)狀,通用大數(shù)據(jù)分析系統(tǒng)的建設(shè),將為教師教學(xué)和學(xué)生學(xué)習(xí)提供面向不同行業(yè)的數(shù)據(jù)分析場景。大數(shù)據(jù)的技術(shù)框架本身多種多樣,學(xué)生全部掌握從課程學(xué)時(shí)和學(xué)生時(shí)間上來說都是不允許的,所以考慮用一個(gè)案例貫穿課程全部,將案例進(jìn)行分解后對應(yīng)到課程章節(jié)的內(nèi)容之中,這樣每次課學(xué)生可學(xué)習(xí)到部分的內(nèi)容,并通過案例來直觀了解到每部分內(nèi)容是如何來實(shí)現(xiàn)實(shí)際應(yīng)用的,同時(shí)將案例分解為子任務(wù),采用任務(wù)驅(qū)動的形式讓學(xué)生能夠保持不斷地學(xué)習(xí)和實(shí)踐,以加深對每個(gè)知識點(diǎn)的理解。另外可考慮提供多種不同的案例供學(xué)生進(jìn)行選擇,這樣課程在主體內(nèi)容不變的情況下,讓不同的學(xué)生體會到不同的數(shù)據(jù)處理場景在技術(shù)選型上的差別,從而增加學(xué)習(xí)的有效性,最終可設(shè)置答辯展示環(huán)節(jié)讓大家多參與并感受到不同的案例在實(shí)施上的不同,引發(fā)更多的思考和體會。
大數(shù)據(jù)許多理論知識比較難以理解,僅靠講授原理難免讓學(xué)生感覺抽象乏味,另外大數(shù)據(jù)技術(shù)框架復(fù)雜,讓學(xué)生在課時(shí)內(nèi)掌握所有技術(shù)也不現(xiàn)實(shí),可以采用案例式教學(xué)方法,具體為:課程內(nèi)學(xué)時(shí)讓學(xué)生學(xué)習(xí)一套該案例的解決方案,課程外學(xué)時(shí)可讓學(xué)生去探索不同的解決方案或其他類似案例的一套完整解決方案,這樣就起到了舉一反三的效果;同時(shí)案例式教學(xué)的方式,使學(xué)生學(xué)到的知識可以快速落地,快速看到自己完成的成果,從而提高自身的學(xué)習(xí)興趣[11]。
表2 展示了“以Spark 對電影評分?jǐn)?shù)據(jù)集的處理并實(shí)現(xiàn)推薦系統(tǒng)”為例的案例式教學(xué)設(shè)計(jì),在課程講授Spark 基礎(chǔ)知識時(shí),可對該案例進(jìn)行引入,同時(shí)對數(shù)據(jù)集進(jìn)行說明,讓學(xué)生思考借助于Spark 的知識如何去處理該數(shù)據(jù),同時(shí)將Spark MLlib 中的協(xié)同過濾算法對應(yīng)到處理需求中去,讓學(xué)生更直觀地體會到該算法的處理過程;在基本操作環(huán)節(jié),可借助于Spark Shell 操作對數(shù)據(jù)進(jìn)行一些簡單的操作和探索,讓學(xué)生對基本操作有一定的掌握;而最終目標(biāo)是實(shí)現(xiàn)數(shù)據(jù)處理功能,則要講授應(yīng)用開發(fā)的一些方法和模式,讓學(xué)生能夠動手編程來實(shí)現(xiàn)推薦系統(tǒng);對于平臺維護(hù)方面,則需要在課程中講解基本的配置方法,并讓學(xué)生在實(shí)現(xiàn)這個(gè)案例的過程中自己進(jìn)行環(huán)境配置并調(diào)試出現(xiàn)的bug。這樣,一個(gè)完整的數(shù)據(jù)處理案例就被結(jié)合到課程講授過程中,學(xué)生可以更容易地對整個(gè)數(shù)據(jù)處理過程有清晰的認(rèn)識,并通過理論加實(shí)踐的教學(xué)過程掌握Spark 組件的知識點(diǎn)。
表2 案例式教學(xué)設(shè)計(jì)(以Spark 為例)
由于將案例貫穿到整個(gè)課程的教學(xué)過程中,可讓學(xué)生從課程開始就進(jìn)行案例的探索與實(shí)踐,即自然地采用任務(wù)驅(qū)動式教學(xué)模式。整門課程讓學(xué)生在學(xué)習(xí)知識點(diǎn)的同時(shí)進(jìn)行實(shí)踐,達(dá)到理論和實(shí)踐相輔相成的目的,這就需要精心設(shè)計(jì)理論和實(shí)踐環(huán)節(jié),將整個(gè)案例設(shè)計(jì)成子任務(wù)的形式。
以“Hadoop 技術(shù)實(shí)踐”課程為例,了解和掌握大數(shù)據(jù)的整個(gè)處理流程是本課程教學(xué)內(nèi)容建設(shè)的關(guān)鍵,因?yàn)橹挥薪Y(jié)合具體的大數(shù)據(jù)處理流程才能做到真正將Hadoop 技術(shù)付諸實(shí)踐[12],大數(shù)據(jù)的處理流程主要包括數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲、數(shù)據(jù)分析挖掘以及數(shù)據(jù)可視化,同時(shí)還要考慮大數(shù)據(jù)安全等問題,可將這些問題貫穿到整個(gè)大數(shù)據(jù)課程教學(xué)中。以該課程采用的手機(jī)銷售和評論數(shù)據(jù)分析系統(tǒng)作為案例,通過用戶的評價(jià)信息分析用戶的購買習(xí)慣和偏好,并為用戶推薦合適的產(chǎn)品,系統(tǒng)的整體架構(gòu)如圖3 所示。
圖3 購物系統(tǒng)架構(gòu)設(shè)計(jì)
基于該整體架構(gòu)并分析后將整個(gè)項(xiàng)目分解成子任務(wù)的形式,見表3。這些子任務(wù)伴隨著課程的相關(guān)知識點(diǎn),通過實(shí)踐讓學(xué)生加深對大數(shù)據(jù)處理過程的認(rèn)識,并對相關(guān)大數(shù)據(jù)技能進(jìn)行掌握。
表3 案例任務(wù)分解
“模塊式”的概念可以從兩個(gè)層面來理解,首先是技術(shù)內(nèi)容的抽取,相關(guān)專業(yè)可以按照自身課程內(nèi)容的設(shè)置、課時(shí)安排靈活地從大數(shù)據(jù)分析系統(tǒng)中,選取與理論內(nèi)容相對應(yīng)的實(shí)驗(yàn)內(nèi)容來構(gòu)成適合教學(xué)內(nèi)容的實(shí)驗(yàn)教材;另外實(shí)驗(yàn)內(nèi)容的抽取,實(shí)踐環(huán)節(jié)為每一個(gè)技術(shù)都設(shè)計(jì)了一定數(shù)量的實(shí)驗(yàn),教師可根據(jù)學(xué)生的能力以及課時(shí)安排來為每個(gè)技術(shù)選擇相應(yīng)的實(shí)驗(yàn)內(nèi)容[13-14]。
在大數(shù)據(jù)實(shí)踐內(nèi)容設(shè)計(jì)上,將大數(shù)據(jù)技術(shù)分門別類后組成不同的技能模塊,如分布式存儲模塊、大數(shù)據(jù)通用處理平臺模塊和機(jī)器學(xué)習(xí)模塊等,如圖4 所示,所涉及的技術(shù)都能及時(shí)反映當(dāng)前行業(yè)中大數(shù)據(jù)相關(guān)領(lǐng)域的主流技術(shù),每個(gè)技術(shù)框架都有單獨(dú)的實(shí)驗(yàn),學(xué)生可根據(jù)自己感興趣的方向?qū)W習(xí)相關(guān)的知識,如學(xué)生對數(shù)據(jù)分析挖掘感興趣,則可學(xué)習(xí)編程語言模塊中的Python 技能和數(shù)據(jù)分析挖掘模塊中的相關(guān)數(shù)據(jù)分析挖掘方法;而教師在準(zhǔn)備實(shí)驗(yàn)內(nèi)容時(shí)可根據(jù)課程要求挑選相關(guān)的實(shí)驗(yàn),如機(jī)器學(xué)習(xí)課程可重點(diǎn)選擇機(jī)器學(xué)習(xí)模塊中的各類算法實(shí)驗(yàn)以及機(jī)器學(xué)習(xí)工具模塊中的某種具體工具包實(shí)驗(yàn)來組合完成課程實(shí)驗(yàn)內(nèi)容。這種模塊式的實(shí)驗(yàn)設(shè)計(jì)方案,使得教師教學(xué)和學(xué)生學(xué)習(xí)知識更加靈活,同時(shí)有利于學(xué)生對不同模塊之間的知識組合進(jìn)行探索,如學(xué)生要完成某一具體的大數(shù)據(jù)分析案例,則需要根據(jù)應(yīng)用場景進(jìn)行技術(shù)選型的工作,模塊式的結(jié)構(gòu)可讓學(xué)生從相應(yīng)功能的模塊中選擇符合場景的技術(shù)來進(jìn)行組合后完成應(yīng)用的功能。
圖4 大數(shù)據(jù)技能模塊圖譜
另外,大數(shù)據(jù)技術(shù)領(lǐng)域非常多,且每個(gè)技術(shù)領(lǐng)域涉及到各種不同的組件,如數(shù)據(jù)處理的主流技術(shù)就有MapReduce、Spark、Storm、Flink 等,教師在學(xué)時(shí)內(nèi)不可能將所有的技術(shù)都教給學(xué)生,采用模塊化的設(shè)計(jì)有助于將各類技術(shù)分門別類后供選擇學(xué)習(xí)使用,且對不同模塊進(jìn)行技術(shù)選型后進(jìn)行組合又可完成一個(gè)完整的大數(shù)據(jù)案例,圖5 是數(shù)據(jù)倉庫模塊中Hive 相關(guān)內(nèi)容,可以看出僅Hive 的內(nèi)容就有很多部分,教師可根據(jù)課程內(nèi)容選擇講授與實(shí)踐,如僅僅使用Hive 構(gòu)建數(shù)據(jù)倉庫并進(jìn)行簡單數(shù)據(jù)分析,則可僅講授Hive 體系架構(gòu)、Hive 命令行、HiveQL、數(shù)據(jù)表設(shè)計(jì)的知識,其余內(nèi)容則由學(xué)生根據(jù)興趣進(jìn)行選擇,在有限的課時(shí)內(nèi),讓學(xué)生抓住課程的核心內(nèi)容。
實(shí)踐環(huán)節(jié)是確保大數(shù)據(jù)課程教學(xué)質(zhì)量的重要環(huán)節(jié)。大數(shù)據(jù)課程群實(shí)驗(yàn)教學(xué)分為課內(nèi)實(shí)驗(yàn)教學(xué)和課外實(shí)訓(xùn)教學(xué),課內(nèi)實(shí)驗(yàn)學(xué)時(shí)往往較少,為了讓學(xué)生能夠更好地理解大數(shù)據(jù)的理論知識,通常包括驗(yàn)證型實(shí)驗(yàn)、設(shè)計(jì)型實(shí)驗(yàn)兩部分,驗(yàn)證型實(shí)驗(yàn)由教師提供實(shí)驗(yàn)內(nèi)容和步驟,由學(xué)生進(jìn)行實(shí)驗(yàn)結(jié)果的復(fù)現(xiàn),設(shè)計(jì)型實(shí)驗(yàn)則由教師給出應(yīng)用場景,由學(xué)生進(jìn)行設(shè)計(jì)并實(shí)現(xiàn)。課外實(shí)訓(xùn)教學(xué)是獨(dú)立于課程教學(xué)特設(shè)的實(shí)驗(yàn)教學(xué)項(xiàng)目,通常采用綜合型實(shí)驗(yàn)項(xiàng)目,讓學(xué)生綜合運(yùn)用大數(shù)據(jù)技術(shù),解決實(shí)際應(yīng)用場景中的問題。
圖5 數(shù)據(jù)倉庫模塊內(nèi)容——以Hive 為例
表4 是以HDFS 為例展示的實(shí)訓(xùn)內(nèi)容,其中,驗(yàn)證型是讓學(xué)生熟悉HDFS 的基本操作以及開發(fā)接口,設(shè)計(jì)型是單獨(dú)使用HDFS 完成其常用功能的開發(fā)如網(wǎng)盤的設(shè)計(jì)與實(shí)現(xiàn),學(xué)生需要考慮HDFS 的特點(diǎn)并且結(jié)合系統(tǒng)開發(fā)的知識來完成,綜合型則需要學(xué)生綜合使用多種大數(shù)據(jù)組件,根據(jù)實(shí)際應(yīng)用場景需求,進(jìn)行技術(shù)選型后,搭建系統(tǒng)并進(jìn)行相應(yīng)的開發(fā)工作,這就需要學(xué)生對各個(gè)組件之間的連接進(jìn)行實(shí)踐。
表4 實(shí)訓(xùn)內(nèi)容(以HDFS 為例)
除了讓學(xué)生完成教學(xué)計(jì)劃中的實(shí)訓(xùn)課程,還應(yīng)該通過其他實(shí)踐形式讓學(xué)生接觸大數(shù)據(jù)的相關(guān)場景。例如,目前大數(shù)據(jù)及機(jī)器學(xué)習(xí)相關(guān)的學(xué)科競賽較多,應(yīng)組織感興趣的同學(xué)積極參加;高校教師承擔(dān)的相關(guān)科研項(xiàng)目可向部分本科生開放,使他們較早地接觸到科研工作;通過實(shí)習(xí)或畢業(yè)設(shè)計(jì)環(huán)節(jié)來讓學(xué)生接觸并實(shí)踐更多的大數(shù)據(jù)課題,培養(yǎng)學(xué)生解決復(fù)雜問題的能力。
以“新工科”專業(yè)人才培養(yǎng)為目標(biāo),借助云計(jì)算與大數(shù)據(jù)平臺作為支撐,設(shè)計(jì)相關(guān)課程內(nèi)容和體系以及配套的實(shí)踐教學(xué)內(nèi)容,利用大數(shù)據(jù)和機(jī)器學(xué)習(xí)相關(guān)的競賽,較好地培養(yǎng)學(xué)生大數(shù)據(jù)分析處理的能力,使其在就業(yè)上更有競爭力。