鄒先霞 杜威(、暨南大學(xué)計(jì)算系,廣東廣州5063 、廣東警官學(xué)院計(jì)算機(jī)系,廣東廣州5030)
?
利用翻轉(zhuǎn)課堂將大數(shù)據(jù)引入數(shù)據(jù)庫(kù)課程的教學(xué)設(shè)計(jì)與實(shí)踐*
鄒先霞1杜威2
(1、暨南大學(xué)計(jì)算系,廣東廣州510632 2、廣東警官學(xué)院計(jì)算機(jī)系,廣東廣州510230)
摘要:大數(shù)據(jù)是信息科學(xué)最新發(fā)展的關(guān)鍵技術(shù),將大數(shù)據(jù)引入數(shù)據(jù)庫(kù)課程幫助學(xué)生掌握IT行業(yè)的最新技術(shù),為將來更好地適應(yīng)行業(yè)需求打下基礎(chǔ)。大數(shù)據(jù)引入信息科學(xué)技術(shù)專業(yè)課堂具有非常重要的意義,但由于受到學(xué)時(shí)、教學(xué)大綱、知識(shí)難度等條件限制,教師難以直接在課堂上講授大數(shù)據(jù)。翻轉(zhuǎn)課堂顛覆了傳統(tǒng)的教學(xué)模式,為學(xué)生提供靈活的學(xué)習(xí)方法。本文對(duì)將大數(shù)據(jù)引入數(shù)據(jù)庫(kù)課程的翻轉(zhuǎn)課堂的教學(xué)資源、引導(dǎo)學(xué)生自主學(xué)習(xí)等方面進(jìn)行了教學(xué)研究,設(shè)計(jì)了MapReduce學(xué)習(xí)單元的翻轉(zhuǎn)課堂教學(xué)設(shè)計(jì),經(jīng)過教學(xué)與實(shí)踐,取得良好的教學(xué)效果。
關(guān)鍵詞:數(shù)據(jù)庫(kù)課程;大數(shù)據(jù);MapReduce;翻轉(zhuǎn)課堂
*本文受廣東省高等教育教學(xué)研究和改革項(xiàng)目“基于創(chuàng)新人才培養(yǎng)的數(shù)據(jù)庫(kù)系統(tǒng)原理實(shí)踐教學(xué)改革與實(shí)踐”(項(xiàng)目編號(hào):GDJG20142082)、廣東省教育教學(xué)成果獎(jiǎng)培育項(xiàng)目“基于應(yīng)用型本科人才培養(yǎng)的數(shù)據(jù)庫(kù)系統(tǒng)原理課程的教學(xué)改革與實(shí)踐”支持。
Abstract:Big Data is an important up-to-date technological development in information science. The fact creates the need to integrate the study of Big Data as part of the database curricula which helps students master the new technology,and better meet the needs of the industry. It is vital to the teaching of information science and technology. However,it is hard to teach big data in the course because of the limitation of teaching time,teaching plan and study difficulties. Flipped class is different from traditional class and provides students with flexible study methods. The paper discusses the teaching researches from the perspectives of teaching resources of flipped class which introduces the Big Data into database curricula and guiding students to do self-study. And it also designs the learning units of MapReduce based on the flip class. After the teaching practice,the course obtains good feedback.
Keywords:database curricula;Big Data;MapReduce;flipped class
大數(shù)據(jù)被定義為4個(gè)V:數(shù)據(jù)量大(Volume)、速度快(Velocity)、類型多(Variety)、真實(shí)性(Veracity),融合了一切新興元素,成為繼傳統(tǒng)IT之后下一個(gè)提高生產(chǎn)率的技術(shù)前沿,是計(jì)算機(jī)科學(xué)技術(shù)最新發(fā)展的關(guān)鍵技術(shù)之一,在醫(yī)療保健、金融、制造、政府、零售行業(yè)等領(lǐng)域獲得了成功的應(yīng)用。
大數(shù)據(jù)作為計(jì)算機(jī)專業(yè)課程的一部分,特別是作為數(shù)據(jù)庫(kù)或數(shù)據(jù)管理課程的一部分,將有利于信息技術(shù)專業(yè)的學(xué)生掌握最新的數(shù)據(jù)管理技術(shù),為將來從事數(shù)據(jù)庫(kù)或數(shù)據(jù)分析能力打下堅(jiān)實(shí)的基礎(chǔ)。大數(shù)據(jù)作為IT行業(yè)的最新技術(shù),國(guó)外很多知名大學(xué)(如加州大學(xué)伯克利分校等)已將大數(shù)據(jù)作為數(shù)據(jù)庫(kù)課程的重要內(nèi)容[1,2],國(guó)內(nèi)一些重點(diǎn)大學(xué)也開設(shè)了類似的選修課。但在大部分高校里,要開設(shè)一門新課程,將面臨培養(yǎng)計(jì)劃的修訂,總學(xué)分的限制,教學(xué)大綱的制訂等;另外新開一門選修課,學(xué)生也可能不太了解熱點(diǎn)技術(shù),而導(dǎo)致選修人數(shù)不夠課程開不出來的情況。大數(shù)據(jù)作為一個(gè)新的技術(shù)熱點(diǎn),新聞、會(huì)議主題或各種論壇上有很多的討論,但要作為課堂教學(xué)則要考慮到學(xué)生的接受程度、什么時(shí)候適合給學(xué)生講解這部分內(nèi)容,教學(xué)內(nèi)容如何組織等問題。
翻轉(zhuǎn)課堂,或稱顛倒課堂(Flipped Class/In-verted Classroom),是將知識(shí)傳授和知識(shí)內(nèi)化的順序顛倒,教師針對(duì)學(xué)習(xí)內(nèi)容提供教學(xué)視頻和課件、學(xué)生在課前自主安排學(xué)習(xí)知識(shí),在課堂中教師組織展開深入交流并提供個(gè)性化輔導(dǎo)的一種新型教學(xué)模式[4,5]。翻轉(zhuǎn)課堂的教學(xué)方式將有效地解決大數(shù)據(jù)引入數(shù)據(jù)庫(kù)課程所面臨教學(xué)學(xué)時(shí)、選修課開不出來等難題。翻轉(zhuǎn)課堂教學(xué)模式[6]將大數(shù)據(jù)引入數(shù)據(jù)庫(kù)課程不影響教學(xué)學(xué)時(shí),拓展了學(xué)習(xí)內(nèi)容,讓學(xué)生可以選擇最適合自己的學(xué)習(xí)方法,大大提高了學(xué)習(xí)效率和效果,鍛煉了學(xué)習(xí)者的自學(xué)能力。
暨南大學(xué)網(wǎng)絡(luò)中心購(gòu)買了Blackboad平臺(tái),該平臺(tái)具有共享性、可擴(kuò)展性和高可靠性,提供資料共享、在線答疑、Blog、Wiki、小組協(xié)作等多項(xiàng)功能。Blackboad為翻轉(zhuǎn)課堂教學(xué)資源共享、跟蹤和管理學(xué)生學(xué)習(xí)進(jìn)程、師生在線交流等提供了技術(shù)支持[7]。本文作者長(zhǎng)期從事數(shù)據(jù)庫(kù)相關(guān)領(lǐng)域的研究工作和數(shù)據(jù)庫(kù)課程的教學(xué)工作[3],對(duì)大數(shù)據(jù)有較為深入的認(rèn)識(shí),對(duì)將大數(shù)據(jù)哪些知識(shí)點(diǎn)作為教學(xué)內(nèi)容、如何實(shí)施這部分教學(xué)內(nèi)容進(jìn)入深入的思考,經(jīng)過教學(xué)和實(shí)踐,取得良好的教學(xué)效果。
翻轉(zhuǎn)課堂教學(xué)模式的首要任務(wù)是教學(xué)資源的開發(fā),即編寫教學(xué)內(nèi)容,制作課件、錄制視頻和實(shí)踐安排等。大數(shù)據(jù)作為信息科學(xué)的熱點(diǎn)技術(shù),暫時(shí)不屬于培養(yǎng)計(jì)劃的范疇,沒有教學(xué)大綱,沒有教學(xué)學(xué)時(shí),如何選擇教學(xué)內(nèi)容變得非常關(guān)鍵。大數(shù)據(jù)的教學(xué)內(nèi)容既要能融入數(shù)據(jù)庫(kù)課程,又要適合學(xué)生的學(xué)習(xí)能力,我們針對(duì)所在學(xué)校的學(xué)生情況選定了與數(shù)據(jù)庫(kù)課程相關(guān)性強(qiáng)的學(xué)習(xí)單元。
MapReduce:用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。概念“Map(映射)”和“Reduce(歸約)”是從函數(shù)式編程語言和矢量編程語言里借來的特性。MapReduce框架能處理并行編程中分布式存儲(chǔ)、工作調(diào)度、負(fù)載均衡、容錯(cuò)均衡、容錯(cuò)處理以及網(wǎng)絡(luò)通信等復(fù)雜問題,被認(rèn)為是大數(shù)據(jù)處理的核心編程模型。MapReduce實(shí)例主要有Apache Hadoop、Google MapReduce和Microsoft Dryad等,我們選用開源的Apache Hadoop作為主要講授內(nèi)容,是對(duì)數(shù)據(jù)庫(kù)編程知識(shí)的拓展。
我們將這些學(xué)習(xí)單元納入了數(shù)據(jù)庫(kù)系統(tǒng)原理課程,學(xué)習(xí)目標(biāo)分為三個(gè)層次:
(1)能夠掌握現(xiàn)有大數(shù)據(jù)管理系統(tǒng)的主要特性、優(yōu)點(diǎn)和局限性;
(2)能用某類大數(shù)據(jù)管理系統(tǒng)建立具體的應(yīng)用實(shí)例;(3)能針對(duì)具體的應(yīng)用選擇合適的大數(shù)據(jù)管理系統(tǒng)。
我們通過設(shè)計(jì)翻轉(zhuǎn)課堂教學(xué)模式的四個(gè)步聚:教學(xué)資源開發(fā)、學(xué)生自主學(xué)習(xí)、課堂講解及課后總結(jié)來逐步實(shí)現(xiàn)教學(xué)目標(biāo)。
(一)MapReduce并行框架
MapReduce是大數(shù)據(jù)處理的核心技術(shù),教學(xué)目標(biāo)要求學(xué)生掌握并行編程的基本框架,具體教學(xué)內(nèi)容包括Hadoop MapRdeuc介紹、Hadoop集群、
Hadoop MapReduce是一個(gè)開源分布式計(jì)算平臺(tái),以Hadoop分布式文件系統(tǒng)(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的開源實(shí)現(xiàn))為核心,為用戶提供了系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。Hadoop的集群可以分成兩大類角色:Master和Salve。一個(gè)HDFS集群是由一個(gè)NameNode和若干個(gè)DataNode組成的。其中NameNode作為主服務(wù)器,管理文件系統(tǒng)的命名空間和客戶端對(duì)文件系統(tǒng)的訪問操作;集群中的DataNode管理存儲(chǔ)的數(shù)據(jù)。MapReduce框架是由一個(gè)單獨(dú)運(yùn)行在主節(jié)點(diǎn)上的JobTracker和運(yùn)行在每個(gè)集群從節(jié)點(diǎn)的TaskTracker共同組成的。主節(jié)點(diǎn)負(fù)責(zé)調(diào)度構(gòu)成一個(gè)作業(yè)的所有任務(wù),這些任務(wù)分布在不同的從節(jié)點(diǎn)上。主節(jié)點(diǎn)監(jiān)控它們的執(zhí)行情況,并且重新執(zhí)行之前的失敗任務(wù);從節(jié)點(diǎn)僅負(fù)責(zé)由主節(jié)點(diǎn)指派的任務(wù)。當(dāng)一個(gè)Job被提交時(shí),Job-Tracker接收到提交作業(yè)和配置信息之后,就會(huì)將配置信息等分發(fā)給從節(jié)點(diǎn),同時(shí)調(diào)度任務(wù)并監(jiān)控TaskTracker的執(zhí)行。
Map/Reduce框架運(yùn)轉(zhuǎn)在
Map:(k1,v1)→list(k2,v2)
Reduce:(k2,list(v2)→list(k3,v3)
對(duì)基礎(chǔ)理論教師主要制作課件PPT和微視頻及收集文檔資料,再利用Blackboad實(shí)施翻轉(zhuǎn)課堂。Blackboard平臺(tái)提供了教學(xué)過程和教學(xué)時(shí)間的安排。在教師指定的時(shí)間段內(nèi)將學(xué)習(xí)資源、論壇等開放,該時(shí)間段后學(xué)習(xí)資源就會(huì)關(guān)閉,通過時(shí)間安排教師可有效地控制學(xué)生的學(xué)習(xí)過程和學(xué)習(xí)步驟,從而達(dá)到學(xué)習(xí)的有效性。利用Blackboard平臺(tái)教師可實(shí)施答疑、實(shí)踐、總結(jié)等系列過程,既完成了教學(xué)活動(dòng),又給了學(xué)生學(xué)習(xí)的自由度。在學(xué)生自主學(xué)習(xí)過程中,設(shè)計(jì)二種交流形式。一種方式是教師引導(dǎo)學(xué)生利用Blackboad平臺(tái)的Wiki總結(jié)知識(shí)點(diǎn),老師首先將鍵-值、Map、Reduce、Shuttle等概念作一個(gè)最簡(jiǎn)單的解釋,同學(xué)們?cè)俑鶕?jù)自己的理解對(duì)老師和其他同學(xué)提供的解釋進(jìn)行補(bǔ)充和修訂,形成一個(gè)較為嚴(yán)格、完整的概念。另一種方式是利用Blackboad的論壇進(jìn)行自由式的討論。Blackboad記錄了學(xué)生參與活動(dòng)的次數(shù)和時(shí)間,利用這些記錄Blackboad設(shè)計(jì)了學(xué)生的學(xué)習(xí)過程和交流形式對(duì)學(xué)生進(jìn)行適當(dāng)?shù)莫?jiǎng)勵(lì),鼓勵(lì)學(xué)生參與自主學(xué)習(xí),激發(fā)他們的熱情。
(二)實(shí)踐教學(xué)
理論知識(shí)對(duì)掌握大數(shù)據(jù)是遠(yuǎn)遠(yuǎn)不夠的,還需要設(shè)計(jì)實(shí)踐教學(xué)。首先是開發(fā)環(huán)境的搭建,我們?yōu)閷W(xué)生設(shè)計(jì)了一個(gè)虛擬集群環(huán)境,利用虛擬機(jī)(Virtual Machine,VM)來搭建一個(gè)偽分布式環(huán)境來運(yùn)行MapReduce。虛擬機(jī)上需要安裝:操作系統(tǒng)Linux;Hadoop-1.0.4-bin(包含了Hadoop MapReduc程序框架和Hadoop的分布式文件系統(tǒng)HDFS);jdk-7u21-linux-x64和Hadoop Eclipse的插件;具體過程包括:網(wǎng)絡(luò)配置、安裝JDK、建立SSH互信和配置Hadoop。MapReduce處理所需的數(shù)據(jù)集通過DataFactory產(chǎn)生數(shù)據(jù),然后從關(guān)系數(shù)據(jù)庫(kù)導(dǎo)出。集群環(huán)境所需軟件和搭建過程作為教學(xué)資源放在Blackboad平臺(tái),學(xué)生分組搭建集群環(huán)境。
為了讓學(xué)生掌握MapReduce并行編程思想,實(shí)踐教學(xué)提供應(yīng)用示例和編程模板。WordCount是Hadoop MapReduce自帶的一個(gè)例子,用于計(jì)算指定數(shù)據(jù)集中每一個(gè)單詞出現(xiàn)的次數(shù),該示例簡(jiǎn)單明了地闡述Map/Reduce的處理過程。WordCount的算法描述如圖1所示。
圖1 WordCount的MapReduce算法描述
圖2 WordCount-MapReduce處理
圖3 AverageTempByStation的MapReduce算法
根據(jù)WordCount實(shí)例,給學(xué)生提供一個(gè)MapReduce的模板,該模板將導(dǎo)入所有需要的庫(kù)、提供Map和Reduce方法的定義及創(chuàng)建、配置和運(yùn)行Hadoop MapReduce job的方法,讓學(xué)生理解程序結(jié)構(gòu),如圖2所示。
表1 Hadoop MapReduce的翻轉(zhuǎn)課堂教學(xué)設(shè)計(jì)
學(xué)生通過實(shí)例代碼加深對(duì)Hadoop MapReduce并行編程框架的理解,也檢驗(yàn)環(huán)境配置是否成功。
(三)Hadoop MapReduce實(shí)踐設(shè)計(jì)
學(xué)生通過示例理解了Hadoop MapReduce并行處理機(jī)制,再進(jìn)一步安排學(xué)生實(shí)踐內(nèi)容。我們?cè)O(shè)計(jì)了氣象監(jiān)測(cè)數(shù)據(jù)分析的實(shí)例,要求模擬氣象監(jiān)測(cè)點(diǎn)的數(shù)據(jù),數(shù)據(jù)集分成行,每行屬性值之間用制表符分隔,每行屬性包括:監(jiān)測(cè)點(diǎn)編號(hào)(StationID)、經(jīng)度、緯度、溫度(temp)、降水、濕度、年、月、日等。學(xué)生采用Hadoop MapReduce實(shí)現(xiàn)求各個(gè)監(jiān)測(cè)點(diǎn)的日平均溫度,其算法思想如圖3所示。
學(xué)生還可采用該數(shù)據(jù)集進(jìn)一步實(shí)現(xiàn)聚集計(jì)算如排序、最大值或最小值等,同時(shí)利用數(shù)據(jù)庫(kù)課程所學(xué)的SQL知識(shí)實(shí)現(xiàn)這些聚集運(yùn)算,并對(duì)Hadoop MapReduce和SQL聚集計(jì)算的能力進(jìn)行分析和比較。
教師在引導(dǎo)學(xué)生完成實(shí)踐教學(xué)后,歸納學(xué)生難理解的知識(shí)點(diǎn),實(shí)踐中存在的問題等進(jìn)行課堂講解,學(xué)生在聽完課后再對(duì)自己的理解和實(shí)踐進(jìn)行總結(jié)和修訂。
Hadoop MapReduce翻轉(zhuǎn)課堂的教學(xué)時(shí)數(shù)、教學(xué)內(nèi)容、教學(xué)方式等具體設(shè)計(jì)如表1所示。
大數(shù)據(jù)不在目前的數(shù)據(jù)庫(kù)課程教學(xué)大綱的范圍內(nèi),因此不作為期末筆試考試部分。為了有效地促進(jìn)學(xué)生對(duì)這部分知識(shí)的掌握,教學(xué)評(píng)價(jià)采用對(duì)學(xué)生在BlackBoad的學(xué)習(xí)軌跡分配不同的學(xué)習(xí)權(quán)重,由老師和學(xué)生共同對(duì)每個(gè)學(xué)生的學(xué)習(xí)情況進(jìn)行評(píng)分,如上機(jī)實(shí)踐情況由老師給出評(píng)分,而博文、論壇、Wiki則由訪問的學(xué)生給出評(píng)分,老師再給一個(gè)評(píng)價(jià),根據(jù)權(quán)重算出每個(gè)學(xué)生總的評(píng)分作為該課程的平時(shí)成績(jī)記入學(xué)生成績(jī)中。該評(píng)價(jià)方式一方面促進(jìn)學(xué)生的學(xué)習(xí),另一方面也提高學(xué)生的參與度,更好地激發(fā)學(xué)生的興趣。
本次教學(xué)改革對(duì)近二年的學(xué)生進(jìn)行了跟蹤調(diào)查,采用調(diào)查問卷的形式收集反饋信息,在“簡(jiǎn)略寫下你在本課程中的收獲”的提問時(shí),學(xué)生的回答有:“學(xué)會(huì)了自己主動(dòng)獨(dú)立解決不懂的問題”,“實(shí)踐出真知”,“積累了團(tuán)隊(duì)合作的經(jīng)驗(yàn)”,“實(shí)習(xí)中用到了”,“對(duì)實(shí)際工作很有用”等反饋信息,85%的同學(xué)對(duì)開展的教學(xué)改革都給予了肯定,在學(xué)校教務(wù)處的課程評(píng)價(jià)中近二年的平均得分為92.96,在全校課程評(píng)價(jià)中排名前10%。
大數(shù)據(jù)是現(xiàn)代信息技術(shù)的熱點(diǎn)問題,掌握基本的大數(shù)據(jù)處理技術(shù)對(duì)計(jì)算機(jī)科學(xué)技術(shù)專業(yè)的學(xué)生尤為重要。大數(shù)據(jù)技術(shù)非常廣泛,將哪些內(nèi)容引入教學(xué),如何開展教學(xué)是信息科學(xué)相關(guān)專業(yè)教師迫切需要解決的問題。本文針對(duì)在數(shù)據(jù)庫(kù)課程教學(xué)中引入大數(shù)據(jù)開展了教學(xué)內(nèi)容和教學(xué)方法的設(shè)計(jì)與實(shí)踐,一方面探索了數(shù)據(jù)庫(kù)課程教學(xué)內(nèi)容的改革,另一方面也是探索數(shù)據(jù)庫(kù)課程教學(xué)方法的改革。
參考文獻(xiàn)
[1]Yasin N.silva,Suzanne W.Dietrich,Jason M.Reed,and etc. Integrating big data into the computing curricula. SIGCSE 2014.
[2]Clare Stanier. Introducing NoSQL into the database curriculu m[C].10th International Workshop on the Teaching,Learning and Assessment of Databases,2012:61-72.
[3]鄒先霞,杜威.基于建構(gòu)主義的數(shù)據(jù)庫(kù)分析與設(shè)計(jì)課程教學(xué)方法探索[J].大學(xué)教育,2013(10):57-59.
[4]黃琰,蔣玲,黃磊.翻轉(zhuǎn)課堂在“現(xiàn)代教育技術(shù)”實(shí)驗(yàn)教學(xué)中的應(yīng)用研究[J].中國(guó)電化教育,2014(4):110-115.
[5]張金磊,王穎,張寶輝.翻轉(zhuǎn)課堂教學(xué)模式研究[J].遠(yuǎn)程教育雜志,2012(4):46-51.
[6]馬秀麟,趙國(guó)慶,鄔彤.大學(xué)信息技術(shù)公共課翻轉(zhuǎn)課堂教學(xué)的實(shí)證研究[J].遠(yuǎn)程教育雜志,2013(1):81-87.
[7]鐘紹春.信息技術(shù)與課程整合的資源及軟件研究[J].電化教育研究,2005(3):53-56.
中圖分類號(hào):G642
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):2096-000X(2016)10-0089-03
作者簡(jiǎn)介:鄒先霞(1974,12-),女,湖北公安人,博士,副教授,研究方向?yàn)閿?shù)據(jù)集成、大數(shù)據(jù)、數(shù)據(jù)流等。