鄒先霞 杜威(、暨南大學計算系,廣東廣州5063 、廣東警官學院計算機系,廣東廣州5030)
?
利用翻轉課堂將大數(shù)據(jù)引入數(shù)據(jù)庫課程的教學設計與實踐*
鄒先霞1杜威2
(1、暨南大學計算系,廣東廣州510632 2、廣東警官學院計算機系,廣東廣州510230)
摘要:大數(shù)據(jù)是信息科學最新發(fā)展的關鍵技術,將大數(shù)據(jù)引入數(shù)據(jù)庫課程幫助學生掌握IT行業(yè)的最新技術,為將來更好地適應行業(yè)需求打下基礎。大數(shù)據(jù)引入信息科學技術專業(yè)課堂具有非常重要的意義,但由于受到學時、教學大綱、知識難度等條件限制,教師難以直接在課堂上講授大數(shù)據(jù)。翻轉課堂顛覆了傳統(tǒng)的教學模式,為學生提供靈活的學習方法。本文對將大數(shù)據(jù)引入數(shù)據(jù)庫課程的翻轉課堂的教學資源、引導學生自主學習等方面進行了教學研究,設計了MapReduce學習單元的翻轉課堂教學設計,經(jīng)過教學與實踐,取得良好的教學效果。
關鍵詞:數(shù)據(jù)庫課程;大數(shù)據(jù);MapReduce;翻轉課堂
*本文受廣東省高等教育教學研究和改革項目“基于創(chuàng)新人才培養(yǎng)的數(shù)據(jù)庫系統(tǒng)原理實踐教學改革與實踐”(項目編號:GDJG20142082)、廣東省教育教學成果獎培育項目“基于應用型本科人才培養(yǎng)的數(shù)據(jù)庫系統(tǒng)原理課程的教學改革與實踐”支持。
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個V:數(shù)據(jù)量大(Volume)、速度快(Velocity)、類型多(Variety)、真實性(Veracity),融合了一切新興元素,成為繼傳統(tǒng)IT之后下一個提高生產率的技術前沿,是計算機科學技術最新發(fā)展的關鍵技術之一,在醫(yī)療保健、金融、制造、政府、零售行業(yè)等領域獲得了成功的應用。
大數(shù)據(jù)作為計算機專業(yè)課程的一部分,特別是作為數(shù)據(jù)庫或數(shù)據(jù)管理課程的一部分,將有利于信息技術專業(yè)的學生掌握最新的數(shù)據(jù)管理技術,為將來從事數(shù)據(jù)庫或數(shù)據(jù)分析能力打下堅實的基礎。大數(shù)據(jù)作為IT行業(yè)的最新技術,國外很多知名大學(如加州大學伯克利分校等)已將大數(shù)據(jù)作為數(shù)據(jù)庫課程的重要內容[1,2],國內一些重點大學也開設了類似的選修課。但在大部分高校里,要開設一門新課程,將面臨培養(yǎng)計劃的修訂,總學分的限制,教學大綱的制訂等;另外新開一門選修課,學生也可能不太了解熱點技術,而導致選修人數(shù)不夠課程開不出來的情況。大數(shù)據(jù)作為一個新的技術熱點,新聞、會議主題或各種論壇上有很多的討論,但要作為課堂教學則要考慮到學生的接受程度、什么時候適合給學生講解這部分內容,教學內容如何組織等問題。
翻轉課堂,或稱顛倒課堂(Flipped Class/In-verted Classroom),是將知識傳授和知識內化的順序顛倒,教師針對學習內容提供教學視頻和課件、學生在課前自主安排學習知識,在課堂中教師組織展開深入交流并提供個性化輔導的一種新型教學模式[4,5]。翻轉課堂的教學方式將有效地解決大數(shù)據(jù)引入數(shù)據(jù)庫課程所面臨教學學時、選修課開不出來等難題。翻轉課堂教學模式[6]將大數(shù)據(jù)引入數(shù)據(jù)庫課程不影響教學學時,拓展了學習內容,讓學生可以選擇最適合自己的學習方法,大大提高了學習效率和效果,鍛煉了學習者的自學能力。
暨南大學網(wǎng)絡中心購買了Blackboad平臺,該平臺具有共享性、可擴展性和高可靠性,提供資料共享、在線答疑、Blog、Wiki、小組協(xié)作等多項功能。Blackboad為翻轉課堂教學資源共享、跟蹤和管理學生學習進程、師生在線交流等提供了技術支持[7]。本文作者長期從事數(shù)據(jù)庫相關領域的研究工作和數(shù)據(jù)庫課程的教學工作[3],對大數(shù)據(jù)有較為深入的認識,對將大數(shù)據(jù)哪些知識點作為教學內容、如何實施這部分教學內容進入深入的思考,經(jīng)過教學和實踐,取得良好的教學效果。
翻轉課堂教學模式的首要任務是教學資源的開發(fā),即編寫教學內容,制作課件、錄制視頻和實踐安排等。大數(shù)據(jù)作為信息科學的熱點技術,暫時不屬于培養(yǎng)計劃的范疇,沒有教學大綱,沒有教學學時,如何選擇教學內容變得非常關鍵。大數(shù)據(jù)的教學內容既要能融入數(shù)據(jù)庫課程,又要適合學生的學習能力,我們針對所在學校的學生情況選定了與數(shù)據(jù)庫課程相關性強的學習單元。
MapReduce:用于大規(guī)模數(shù)據(jù)集的并行運算。概念“Map(映射)”和“Reduce(歸約)”是從函數(shù)式編程語言和矢量編程語言里借來的特性。MapReduce框架能處理并行編程中分布式存儲、工作調度、負載均衡、容錯均衡、容錯處理以及網(wǎng)絡通信等復雜問題,被認為是大數(shù)據(jù)處理的核心編程模型。MapReduce實例主要有Apache Hadoop、Google MapReduce和Microsoft Dryad等,我們選用開源的Apache Hadoop作為主要講授內容,是對數(shù)據(jù)庫編程知識的拓展。
我們將這些學習單元納入了數(shù)據(jù)庫系統(tǒng)原理課程,學習目標分為三個層次:
(1)能夠掌握現(xiàn)有大數(shù)據(jù)管理系統(tǒng)的主要特性、優(yōu)點和局限性;
(2)能用某類大數(shù)據(jù)管理系統(tǒng)建立具體的應用實例;(3)能針對具體的應用選擇合適的大數(shù)據(jù)管理系統(tǒng)。
我們通過設計翻轉課堂教學模式的四個步聚:教學資源開發(fā)、學生自主學習、課堂講解及課后總結來逐步實現(xiàn)教學目標。
(一)MapReduce并行框架
MapReduce是大數(shù)據(jù)處理的核心技術,教學目標要求學生掌握并行編程的基本框架,具體教學內容包括Hadoop MapRdeuc介紹、Hadoop集群、
Hadoop MapReduce是一個開源分布式計算平臺,以Hadoop分布式文件系統(tǒng)(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的開源實現(xiàn))為核心,為用戶提供了系統(tǒng)底層細節(jié)透明的分布式基礎架構。Hadoop的集群可以分成兩大類角色:Master和Salve。一個HDFS集群是由一個NameNode和若干個DataNode組成的。其中NameNode作為主服務器,管理文件系統(tǒng)的命名空間和客戶端對文件系統(tǒng)的訪問操作;集群中的DataNode管理存儲的數(shù)據(jù)。MapReduce框架是由一個單獨運行在主節(jié)點上的JobTracker和運行在每個集群從節(jié)點的TaskTracker共同組成的。主節(jié)點負責調度構成一個作業(yè)的所有任務,這些任務分布在不同的從節(jié)點上。主節(jié)點監(jiān)控它們的執(zhí)行情況,并且重新執(zhí)行之前的失敗任務;從節(jié)點僅負責由主節(jié)點指派的任務。當一個Job被提交時,Job-Tracker接收到提交作業(yè)和配置信息之后,就會將配置信息等分發(fā)給從節(jié)點,同時調度任務并監(jiān)控TaskTracker的執(zhí)行。
Map/Reduce框架運轉在
Map:(k1,v1)→list(k2,v2)
Reduce:(k2,list(v2)→list(k3,v3)
對基礎理論教師主要制作課件PPT和微視頻及收集文檔資料,再利用Blackboad實施翻轉課堂。Blackboard平臺提供了教學過程和教學時間的安排。在教師指定的時間段內將學習資源、論壇等開放,該時間段后學習資源就會關閉,通過時間安排教師可有效地控制學生的學習過程和學習步驟,從而達到學習的有效性。利用Blackboard平臺教師可實施答疑、實踐、總結等系列過程,既完成了教學活動,又給了學生學習的自由度。在學生自主學習過程中,設計二種交流形式。一種方式是教師引導學生利用Blackboad平臺的Wiki總結知識點,老師首先將鍵-值、Map、Reduce、Shuttle等概念作一個最簡單的解釋,同學們再根據(jù)自己的理解對老師和其他同學提供的解釋進行補充和修訂,形成一個較為嚴格、完整的概念。另一種方式是利用Blackboad的論壇進行自由式的討論。Blackboad記錄了學生參與活動的次數(shù)和時間,利用這些記錄Blackboad設計了學生的學習過程和交流形式對學生進行適當?shù)莫剟睿膭顚W生參與自主學習,激發(fā)他們的熱情。
(二)實踐教學
理論知識對掌握大數(shù)據(jù)是遠遠不夠的,還需要設計實踐教學。首先是開發(fā)環(huán)境的搭建,我們?yōu)閷W生設計了一個虛擬集群環(huán)境,利用虛擬機(Virtual Machine,VM)來搭建一個偽分布式環(huán)境來運行MapReduce。虛擬機上需要安裝:操作系統(tǒng)Linux;Hadoop-1.0.4-bin(包含了Hadoop MapReduc程序框架和Hadoop的分布式文件系統(tǒng)HDFS);jdk-7u21-linux-x64和Hadoop Eclipse的插件;具體過程包括:網(wǎng)絡配置、安裝JDK、建立SSH互信和配置Hadoop。MapReduce處理所需的數(shù)據(jù)集通過DataFactory產生數(shù)據(jù),然后從關系數(shù)據(jù)庫導出。集群環(huán)境所需軟件和搭建過程作為教學資源放在Blackboad平臺,學生分組搭建集群環(huán)境。
為了讓學生掌握MapReduce并行編程思想,實踐教學提供應用示例和編程模板。WordCount是Hadoop MapReduce自帶的一個例子,用于計算指定數(shù)據(jù)集中每一個單詞出現(xiàn)的次數(shù),該示例簡單明了地闡述Map/Reduce的處理過程。WordCount的算法描述如圖1所示。

圖1 WordCount的MapReduce算法描述

圖2 WordCount-MapReduce處理

圖3 AverageTempByStation的MapReduce算法
根據(jù)WordCount實例,給學生提供一個MapReduce的模板,該模板將導入所有需要的庫、提供Map和Reduce方法的定義及創(chuàng)建、配置和運行Hadoop MapReduce job的方法,讓學生理解程序結構,如圖2所示。

表1 Hadoop MapReduce的翻轉課堂教學設計
學生通過實例代碼加深對Hadoop MapReduce并行編程框架的理解,也檢驗環(huán)境配置是否成功。
(三)Hadoop MapReduce實踐設計
學生通過示例理解了Hadoop MapReduce并行處理機制,再進一步安排學生實踐內容。我們設計了氣象監(jiān)測數(shù)據(jù)分析的實例,要求模擬氣象監(jiān)測點的數(shù)據(jù),數(shù)據(jù)集分成行,每行屬性值之間用制表符分隔,每行屬性包括:監(jiān)測點編號(StationID)、經(jīng)度、緯度、溫度(temp)、降水、濕度、年、月、日等。學生采用Hadoop MapReduce實現(xiàn)求各個監(jiān)測點的日平均溫度,其算法思想如圖3所示。
學生還可采用該數(shù)據(jù)集進一步實現(xiàn)聚集計算如排序、最大值或最小值等,同時利用數(shù)據(jù)庫課程所學的SQL知識實現(xiàn)這些聚集運算,并對Hadoop MapReduce和SQL聚集計算的能力進行分析和比較。
教師在引導學生完成實踐教學后,歸納學生難理解的知識點,實踐中存在的問題等進行課堂講解,學生在聽完課后再對自己的理解和實踐進行總結和修訂。
Hadoop MapReduce翻轉課堂的教學時數(shù)、教學內容、教學方式等具體設計如表1所示。
大數(shù)據(jù)不在目前的數(shù)據(jù)庫課程教學大綱的范圍內,因此不作為期末筆試考試部分。為了有效地促進學生對這部分知識的掌握,教學評價采用對學生在BlackBoad的學習軌跡分配不同的學習權重,由老師和學生共同對每個學生的學習情況進行評分,如上機實踐情況由老師給出評分,而博文、論壇、Wiki則由訪問的學生給出評分,老師再給一個評價,根據(jù)權重算出每個學生總的評分作為該課程的平時成績記入學生成績中。該評價方式一方面促進學生的學習,另一方面也提高學生的參與度,更好地激發(fā)學生的興趣。
本次教學改革對近二年的學生進行了跟蹤調查,采用調查問卷的形式收集反饋信息,在“簡略寫下你在本課程中的收獲”的提問時,學生的回答有:“學會了自己主動獨立解決不懂的問題”,“實踐出真知”,“積累了團隊合作的經(jīng)驗”,“實習中用到了”,“對實際工作很有用”等反饋信息,85%的同學對開展的教學改革都給予了肯定,在學校教務處的課程評價中近二年的平均得分為92.96,在全校課程評價中排名前10%。
大數(shù)據(jù)是現(xiàn)代信息技術的熱點問題,掌握基本的大數(shù)據(jù)處理技術對計算機科學技術專業(yè)的學生尤為重要。大數(shù)據(jù)技術非常廣泛,將哪些內容引入教學,如何開展教學是信息科學相關專業(yè)教師迫切需要解決的問題。本文針對在數(shù)據(jù)庫課程教學中引入大數(shù)據(jù)開展了教學內容和教學方法的設計與實踐,一方面探索了數(shù)據(jù)庫課程教學內容的改革,另一方面也是探索數(shù)據(jù)庫課程教學方法的改革。
參考文獻
[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]鄒先霞,杜威.基于建構主義的數(shù)據(jù)庫分析與設計課程教學方法探索[J].大學教育,2013(10):57-59.
[4]黃琰,蔣玲,黃磊.翻轉課堂在“現(xiàn)代教育技術”實驗教學中的應用研究[J].中國電化教育,2014(4):110-115.
[5]張金磊,王穎,張寶輝.翻轉課堂教學模式研究[J].遠程教育雜志,2012(4):46-51.
[6]馬秀麟,趙國慶,鄔彤.大學信息技術公共課翻轉課堂教學的實證研究[J].遠程教育雜志,2013(1):81-87.
[7]鐘紹春.信息技術與課程整合的資源及軟件研究[J].電化教育研究,2005(3):53-56.
中圖分類號:G642
文獻標志碼:A
文章編號:2096-000X(2016)10-0089-03
作者簡介:鄒先霞(1974,12-),女,湖北公安人,博士,副教授,研究方向為數(shù)據(jù)集成、大數(shù)據(jù)、數(shù)據(jù)流等。