摘? 要:針對目前研究生專業(yè)選修課教學中采用教師講課、學生寫讀書報告等教學形式,缺少工程素養(yǎng)的系統(tǒng)性訓練等問題,在“大數(shù)據(jù)處理技術(shù)”課程中,探究專業(yè)選修課的教學改革方法。在講授大數(shù)據(jù)知識的同時,通過設(shè)計與實現(xiàn)小組項目,培養(yǎng)學生系統(tǒng)分析與設(shè)計能力,以及團隊協(xié)作和解決工程問題的能力。實踐證明,面向能力培養(yǎng)的教學方式效果良好,學生高度認可。
關(guān)鍵詞:新工科;大數(shù)據(jù);工程能力;教學研究
中圖分類號:TP392? ? ?文獻標識碼:A
文章編號:2096-1472(2021)-01-47-03
Abstract: Currently, teacher lectures and reads reports are popular teaching methods in current postgraduate professional elective courses, which lacks of systematic training of engineering literacy. Therefore, it is necessary to explore a new teaching method for data processing technology course. The new teaching method aims to cultivate students capabilities of system analysis and design, teamwork and engineering problem solving capabilities, through design and implementation of group projects. The capability-oriented teaching method has proved to be effective and highly recognized by students.
Keywords: new engineering; big data; engineering ability; teaching research
1? ?引言(Introduction)
新工科致力于培養(yǎng)德才兼?zhèn)涞木哂猩疃葘W習、人工智能和大數(shù)據(jù)處理與分析等多元化技術(shù)的創(chuàng)新型人才,使之具有較強的工程實踐能力[1]。隨著大數(shù)據(jù)應用的興起,對大數(shù)據(jù)應用人才的需求急劇增長。大數(shù)據(jù)應用人才應具備數(shù)據(jù)科學相關(guān)的專業(yè)知識和工程能力。專業(yè)知識包括人文社會科學知識、數(shù)據(jù)科學基礎(chǔ)知識和數(shù)據(jù)科學專業(yè)知識[2]。大數(shù)據(jù)創(chuàng)新型人才的培養(yǎng)首先必須培養(yǎng)學生跨學科的數(shù)據(jù)思維,同時還應培養(yǎng)他們具備工程應用的能力。“大數(shù)據(jù)處理技術(shù)”是湖南大學信息科學與工程學院面向碩士研究生開設(shè)的選修課程,旨在系統(tǒng)地介紹大數(shù)據(jù)處理和應用開發(fā)相關(guān)知識與技能[3]?!按髷?shù)據(jù)處理技術(shù)”課程在傳授研究生大數(shù)據(jù)專門知識的同時,特別強調(diào)培養(yǎng)他們解決新工科工程問題的能力。
2? ?課程現(xiàn)狀(Course status)
目前國內(nèi)一些大學研究生選修課程的教學形式主要是采用任課老師講解部分內(nèi)容,博士生做幾個技術(shù)講座,研究生寫一篇讀書報告或者是寫一篇課程論文,老師根據(jù)讀書報告或者課程論文給出學生課程成績。這樣的教學方式存在著一些問題,要學生在一個學期的課程學習中寫出一篇有價值的論文實在是困難。如何提高研究生課程的授課質(zhì)量?如何實現(xiàn)從知識傳授到能力培養(yǎng)的轉(zhuǎn)變?如何把學生的被動學習轉(zhuǎn)變?yōu)樽灾鲗W習,提高學生的終身學習能力?這些問題需要高等教育的管理人員和任課教師深入思考。
3? ?課程教學模式(Course teaching mode)
目前許多大學都開設(shè)大數(shù)據(jù)分析相關(guān)課程,不同大學開設(shè)的大數(shù)據(jù)課程,其知識的側(cè)重點都不一樣。但是,基本上可以分成下面幾類:一是針對數(shù)據(jù)分析和數(shù)據(jù)挖掘的課程;二是針對并行與分布式編程架構(gòu)和模型的課程,主要是對Hadoop MapReduce以及Spark生態(tài)系統(tǒng)的講述;三是面向非結(jié)構(gòu)化數(shù)據(jù)處理與存儲管理的NoSQL數(shù)據(jù)庫和NewSQL數(shù)據(jù)庫技術(shù)以及面向云存儲的課程[4]。
通過查閱世界一流大學大數(shù)據(jù)相關(guān)課程,采用下面的知識點作為大數(shù)據(jù)應用技術(shù)課程的主要教學內(nèi)容:大數(shù)據(jù)存儲與管理技術(shù)、大數(shù)據(jù)編程模型、大數(shù)據(jù)分析和可視化技術(shù),以及商業(yè)智能和數(shù)據(jù)湖等新的大數(shù)據(jù)應用技術(shù)[5]。
課程學習是研究生面臨的一個重要學習過程,專業(yè)課程學習可以使研究生掌握更廣泛的專業(yè)知識,在未來的研究中發(fā)揮重要作用。研究生專業(yè)選修課教學應該根據(jù)課程的性質(zhì)和學生的特點,采用不同于以往的教學方式和教學模式。教學模式不應該是單一的,需要結(jié)合課程特點采用多種教學方法。在“大數(shù)據(jù)處理技術(shù)”研究生課程教學中,采用授課、技術(shù)講座、課程實驗、討論會、課程小組項目等多種方式進行。課程講解大數(shù)據(jù)生態(tài)系統(tǒng)中的軟件架構(gòu)和相應的軟件產(chǎn)品與處理技術(shù),對學生難以理解的重要理論知識作出詳細和深入闡述,使學生掌握核心的數(shù)據(jù)科學專業(yè)知識。針對每一個重要的知識環(huán)節(jié),安排獨立的實驗,學生必須單獨完成。通過實驗,使學生掌握大數(shù)據(jù)生態(tài)系統(tǒng)的基礎(chǔ)和核心技術(shù),結(jié)合實際的操作和編程實驗,鞏固課堂教學內(nèi)容,使學生將所學理論與實際技能相結(jié)合,能夠應用主流的大數(shù)據(jù)開發(fā)技術(shù)和開發(fā)工具。此外,課程需要結(jié)合當前研究的熱點問題,通過提出問題和分小組完成一個大數(shù)據(jù)相關(guān)的工程項目。通過運用軟件工程的原理與方法,小組成員全程參與問題描述、需求分析、算法(系統(tǒng))設(shè)計、編程實現(xiàn)到測試等每一個開發(fā)環(huán)節(jié),培養(yǎng)學生系統(tǒng)分析與設(shè)計能力以及團隊協(xié)作和解決工程問題的能力。
4? ?課程教學目標(Course teaching objectives)
大數(shù)據(jù)已經(jīng)成為企業(yè)和公司使用信息增進用戶體驗和改變運營模式的極其重要的新技術(shù)。如何有效使用大數(shù)據(jù)?如何從大數(shù)據(jù)分析中獲取知識和智慧?“大數(shù)據(jù)處理技術(shù)”課程將把最新的大數(shù)據(jù)處理技術(shù)介紹給學生,幫助學生掌握從海量的異構(gòu)數(shù)據(jù)源中對大數(shù)據(jù)進行存儲與管理、高效處理、有效應用與分析的技能。
4.1? ?理論教學目標
課程涵蓋大數(shù)據(jù)技術(shù)的基本概念、大數(shù)據(jù)生態(tài)系統(tǒng)、大數(shù)據(jù)存儲模型、大數(shù)據(jù)編程模型、大數(shù)據(jù)分析技術(shù)、大數(shù)據(jù)可視化技術(shù)和大數(shù)據(jù)主流應用技術(shù)。
4.2? ?工程能力培養(yǎng)目標
學生解決工程問題能力的培養(yǎng)通過課程實驗以及設(shè)計課程中綜合性的工程項目來達成。工程能力的培養(yǎng)問題不僅僅是個人的問題,工程問題的解決需要團隊協(xié)作?!按髷?shù)據(jù)處理技術(shù)”課程希望通過項目小組的形式,培養(yǎng)學生團隊合作、有效溝通、項目管理和終身學習的能力[6]。(1)團隊合作,讓學生分成討論與項目小組,因為工程項目無法一人獨立解決,需與他人合作。(2)有效溝通,討論課讓學生書面及口頭報告,大家一起討論,形成最終解決方案。(3)主動學習、終身學習,讓學生主動學習,減少教師課堂講授。學生須設(shè)計實驗來驗證、解決問題,須自己或團隊搜集資料、尋求資源、增進專業(yè)素養(yǎng)。(4)項目管理,讓學生嘗試執(zhí)行項目,規(guī)劃任務和時間。
5? ?課程教學實施(Course teaching implementation)
5.1? ?課時安排
“大數(shù)據(jù)處理技術(shù)”為研究生選修課,共48學時,課程通過課堂講授、課程實驗、文獻閱讀、小組討論、課程小組項目和期末考試等環(huán)節(jié)來組織教學。教師用32課時講解核心的大數(shù)據(jù)生態(tài)系統(tǒng)架構(gòu)和關(guān)鍵技術(shù),選修課程的學生2—4人組成項目小組,必須完成一個與大數(shù)據(jù)處理技術(shù)相關(guān)的工程項目。教師安排4個課時點評學生的文獻閱讀報告和小組擬進行的工程項目開題報告,對工作量、難易程度、實驗數(shù)據(jù)來源、關(guān)鍵技術(shù)和算法等方面進行把關(guān)。每個項目小組就項目的開題報告、實驗環(huán)境搭建、實現(xiàn)的關(guān)鍵技術(shù)與算法設(shè)計、編程實現(xiàn)、系統(tǒng)測試、問題描述與解決方案等內(nèi)容在課堂上進行討論。由各研究生小組成員講解或演示,共6次,12課時,教師參與討論與引導,學生遇到問題時給出解決方案的建議。
5.2? ?理論教學內(nèi)容
“大數(shù)據(jù)處理技術(shù)”課程的主要內(nèi)容分為四個部分:大數(shù)據(jù)處理與算法、大數(shù)據(jù)存儲與管理、大數(shù)據(jù)分析與可視化、大數(shù)據(jù)應用技術(shù)。課程內(nèi)容和主要知識點如表1所示。
5.2.1? ?大數(shù)據(jù)存儲與管理
近十多年來,對存儲和處理大規(guī)模數(shù)據(jù)集的需求不斷增長,一直推動著數(shù)據(jù)存儲技術(shù)和并行計算技術(shù)以及數(shù)據(jù)庫技術(shù)快速發(fā)展。從本地存儲到集群,從分布式存儲到云數(shù)據(jù)庫存儲,數(shù)據(jù)存儲方法得到了極大的增強[7]。數(shù)據(jù)庫系統(tǒng)已從傳統(tǒng)的關(guān)系數(shù)據(jù)庫系統(tǒng)進化到最新的基于NoSQL和支持數(shù)據(jù)庫完整性約束的NewSQL數(shù)據(jù)庫系統(tǒng)。大數(shù)據(jù)除結(jié)構(gòu)化的數(shù)據(jù)外,主要涉及大量的非結(jié)構(gòu)化數(shù)據(jù),NoSQL和NewSQL是非結(jié)構(gòu)數(shù)據(jù)存儲的新方法。大數(shù)據(jù)存儲建立在分布式文件系統(tǒng)之上,HDFS是使用最廣泛的分布式文件系統(tǒng)。NoSQL數(shù)據(jù)庫的類型很多,有文檔的、圖的、列簇的和鍵值等[8]。課程將講解大數(shù)據(jù)存儲模型和管理技術(shù),大多數(shù)NoSQL數(shù)據(jù)庫系統(tǒng)都是開源的,因此很容易納入大數(shù)據(jù)課程的實驗環(huán)節(jié)中。
5.2.2? ?大數(shù)據(jù)編程模型
并行分布式計算與處理模型是大數(shù)據(jù)應用系統(tǒng)架構(gòu)的核心。大數(shù)據(jù)編程模型提供了編寫大數(shù)據(jù)應用系統(tǒng)通用的接口,為構(gòu)建大數(shù)據(jù)應用程序系統(tǒng)提供了簡單的途徑。大數(shù)據(jù)通常涉及在集群上的分布式并行計算技術(shù)。MapReduce是主流的并行計算算法框架,它可以支持各種數(shù)據(jù)密集型程序,是事實上的大數(shù)據(jù)編程模型。大數(shù)據(jù)處理的核心是采用兩個基本過程對象Mapper和Reducer,它通過兩種特殊的計算方式Map和Reduce歸約到集群不同節(jié)點上進行處理[9]。大數(shù)據(jù)處理另外一個廣泛應用的算法框架是基于Spark平臺中實現(xiàn)的彈性分布式數(shù)據(jù)集RDD(Resilient Distributed Dataset)。通過使用RDD,用戶不必擔心底層數(shù)據(jù)的分布式特性,只需要將具體的應用邏輯表達為一系列轉(zhuǎn)換處理,就可以實現(xiàn)管道化,從而避免了中間結(jié)果的存儲,大大降低了數(shù)據(jù)復制、磁盤I/O和數(shù)據(jù)序列化的開銷。
課程將通過比較具體的代碼示例,全面闡述大數(shù)據(jù)框架Hadoop和Spark中的不同編程模型。
5.2.3? ?大數(shù)據(jù)分析與可視化
可視化已成為從大數(shù)據(jù)分析結(jié)果中提取有意義信息并帶來價值的一項核心技術(shù)。有效地工具和技術(shù),可以輕松地可視化雜亂的海量大數(shù)據(jù),通過可視化大數(shù)據(jù)來改善企業(yè)的經(jīng)營決策能力。為了實現(xiàn)強大的數(shù)據(jù)分析和出色的可視化,在Hadoop上使用R語言將提供一個彈性的數(shù)據(jù)分析平臺。R語言提供了最流行的開放源代碼數(shù)據(jù)統(tǒng)計分析軟件包,Hadoop強大的數(shù)據(jù)處理能力和R強大的可視化分析能力相結(jié)合的Rhadoop,提供了很好的大數(shù)據(jù)分析平臺。課程將介紹R語言和Tableau等可視化工具。
5.2.4? ?大數(shù)據(jù)應用技術(shù)
隨著大數(shù)據(jù)技術(shù)的不斷更新和迭代,數(shù)據(jù)管理工具得到了飛速的發(fā)展,相關(guān)概念層出不窮,如從最初決策支持系統(tǒng)(DSS)到商業(yè)智能(BI)、數(shù)據(jù)倉庫、數(shù)據(jù)湖、數(shù)據(jù)中臺等。數(shù)據(jù)湖是企業(yè)所有數(shù)據(jù)的單一存儲,包括源系統(tǒng)數(shù)據(jù)的原始副本,以及用于報告、可視化、分析和機器學習等任務的轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)湖可以包括各種類型的數(shù)據(jù):關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)(CSV、日志、XML、JSON);非結(jié)構(gòu)化數(shù)據(jù)(電子郵件、文檔、PDF)和二進制數(shù)據(jù)(圖像、音頻、視頻)。Hadoop是最常用的部署數(shù)據(jù)湖的技術(shù)。數(shù)據(jù)中臺是一個承接技術(shù)、引領(lǐng)業(yè)務、構(gòu)建規(guī)范定義的智能數(shù)據(jù)處理平臺。許多企業(yè)已經(jīng)開始嘗試使用大數(shù)據(jù)和云技術(shù)來構(gòu)建數(shù)據(jù)湖和數(shù)據(jù)中臺,并支持數(shù)據(jù)驅(qū)動的智能決策。如今,世界上頂級的公司和大型企業(yè)已經(jīng)部署或正在部署數(shù)據(jù)湖和數(shù)據(jù)中臺。課程將向?qū)W生介紹這些新的技術(shù),讓學生了解企業(yè)大數(shù)據(jù)應用的真實現(xiàn)狀。
5.3? ?課程實驗設(shè)置
大數(shù)據(jù)處理技術(shù)課程安排了多次實驗,老師編寫了實驗指導書,對大數(shù)據(jù)實驗環(huán)境的構(gòu)建、開發(fā)平臺和開發(fā)工具都有基本的規(guī)定。對大數(shù)據(jù)主要技術(shù)都安排了至少一次的實驗內(nèi)容,需要學生在規(guī)定的時間內(nèi)、課外獨立完成。所有實驗為一個整體,有其延續(xù)性,如果不能完成當次實驗將會影響下次實驗。每次實驗后,必須認真填寫實驗報告,在要求的時間提交實驗報告的電子版,超過規(guī)定時間,該次實驗成績以零分計。
5.4? ?小組課程項目
大學的核心任務是培養(yǎng)人才,大學教學的本質(zhì)應該是以學生為中心,以能力為本位的研究型教學,以培養(yǎng)學生的自主學習、終身學習、研究性學習和解決工程問題的能力。“大數(shù)據(jù)處理技術(shù)”課程教學體系的另外一個重要組成部分是學生按2—4個人組成一個課程討論與項目小組,項目小組的人數(shù)不能超過5人。學生自選具有一定難度和工作量的與大數(shù)據(jù)處理相關(guān)的研究或工程類題目,鼓勵結(jié)合導師的研究工作選擇項目,完成一個項目的開發(fā)。各小組進行查閱資料、文獻閱讀、進度分享、實驗操作、成果展示等多個階段。在查閱文獻、資料的過程中,訓練學生的文獻檢索能力以及理解能力,組內(nèi)每位成員參與討論,增強溝通能力。
(1)項目小組的組織與控制
項目小組成員要求有熟悉Java、Linux或Unix等技術(shù)的學生。小組長負責任務的劃分,組織、討論詳細設(shè)計,組織和協(xié)調(diào)本小組的開發(fā)、文檔整理等工作,確保開發(fā)過程中及時完成各個里程碑任務。研究生課程沒有配備助教,但是“大數(shù)據(jù)處理技術(shù)”課程采用自愿報名的方式選擇一位課代表,負責協(xié)助主講教師管理課程的相關(guān)事宜,包括實驗報告的歸檔,記錄每組討論內(nèi)容。項目的討論課上,要求所有小組成員都能有機會上講臺講解,而不只是項目組長的事情,鍛煉學生的表達能力。
(2)項目小組需要提交的技術(shù)文檔
課程需要填寫、檢查、整理和歸檔項目的過程報告。開題報告的目的是為了評估課程設(shè)計選題的內(nèi)容和難度是否達到一定要求,主要內(nèi)容包括:小組成員信息(人員、學號、聯(lián)系信息)、各個成員初步的項目分工計劃、項目題目、研究問題背景、主要技術(shù)難點、主要解決方法和算法設(shè)計思路等。小組項目總結(jié)報告主要包括的內(nèi)容:小組信息(人員、學號、聯(lián)系信息);小組具體的分工,需要明確說明各成員在整個課題中分工負責完成的內(nèi)容,所做貢獻的比例;研究問題的背景、主要技術(shù)難點、解決方法和算法設(shè)計思想;詳細的設(shè)計說明,包括詳細算法設(shè)計、程序框架、功能模塊、主要類的設(shè)計說明、程序運行和實驗結(jié)果的說明及分析,在完成系統(tǒng)的功能、性能、擴展性等方面存在的不足和可能的改進之處。
5.5? ?成績評定方法
課程強調(diào)學生大數(shù)據(jù)素養(yǎng)和能力培養(yǎng),課程的考評采用課程實驗成績、小組項目、考勤和期末考試綜合評定的方法進行,期末成績=個人課程實驗25%+小組項目35%+期末考試30%+考勤10%。
6? ?結(jié)論(Conclusion)
“大數(shù)據(jù)處理技術(shù)”課程的授課,讓學生熟悉了大數(shù)據(jù)管理和分析的基本概念和主流技術(shù);能夠勝任處理大數(shù)據(jù)應用程序所面臨的挑戰(zhàn),并可提出可擴展性的解決方案?!按髷?shù)據(jù)處理技術(shù)”課程采用學生小組項目的方式,在教師講解專業(yè)知識的同時,學生通過一個小組,完成大數(shù)據(jù)應用開發(fā)項目工程能力的培養(yǎng)。通過論文宣講、學生匯報討論,教師依據(jù)自己的經(jīng)驗點評,學生的收獲很大。這一教學形式很受歡迎,效果良好。
大數(shù)據(jù)技術(shù)涵蓋的主題非常多,要在一個學期的課程中全面涵蓋大數(shù)據(jù)處理和應用的技術(shù)是不現(xiàn)實的,還有許多重要的技術(shù),比如大數(shù)據(jù)的數(shù)據(jù)采集與預處理、大數(shù)據(jù)流處理以及大數(shù)據(jù)安全與隱私保護等只能引導學生在課后自學。
參考文獻(References)
[1] 陳燕.新工科研究進展與前瞻[J].天津大學學報(社會科學版), 2020,22(3):214-222.
[2] 田緒紅,鄺穎杰.大數(shù)據(jù)應用人才的知識、能力、素質(zhì)結(jié)構(gòu)及其培養(yǎng)[J].計算機教育,2017(8):57-60.
[3] DePratti, R., Dancik, et al. Challenges in designing an introductory course in big data programming[J]. Journal of Computing Sciences in College, 2015, 30(6):104-105.
[4] Adam H. Villa. Motivating the development of an advanced database systems course[J]. Journal of Computing Sciences in College, 2016, 31(3):119-127.
[5] Yuri Demchenko. Big Data Platforms and Tools for Data Analytics in the Data Science Engineering Curriculum[C]. International Conference on Cloud and Big Data Computing, 2019:60-64.
[6] 劉爽,陳鵬,王巍,等.基于工程教育認證背景的民族院校大數(shù)據(jù)課程體系設(shè)計[J].計算機時代,2020(5):74-77.
[7] Xiong,W., Hawley, D., Monismith, D. NoSQL in database education[J]. Journal of Computing Sciences in College, 2015, 30(5):151-152.
[8] Grolinger, K., Higashino, W.A., Tiwari, A.. Data management in cloud environments: NoSQL and NewSQL data stores[J]. Journal of Cloud Computing: Advances, Systems and Applications, 2013, 22(2):1-24.
[9] 劉萍.基于Hadoop與Spark的高校校園大數(shù)據(jù)平臺研究.軟件工程,2018,21(5):15-18.
作者簡介:
戴牡紅(1964-),男,碩士,教授.研究領(lǐng)域:數(shù)據(jù)科學.