高國舉 黃河
關(guān)鍵詞:云計算技術(shù);本科教學;教學模式;多元化
1引言
“云計算技術(shù)”屬于計算機領(lǐng)域中一門綜合性很強的專業(yè)課程,其基本知識點包括云計算定義、云交付模型、云部署模式、云計算機制、虛擬化技術(shù)、云計算數(shù)據(jù)中心、數(shù)據(jù)處理與并行編程、云安全、云計算應用等[1-2]。一方面,“云計算技術(shù)”課程涉及大量的前期基礎(chǔ)知識,如云計算數(shù)據(jù)中心網(wǎng)絡拓撲問題與“計算機網(wǎng)絡”課程息息相關(guān)、云計算內(nèi)存虛擬化技術(shù)與“操作系統(tǒng)”課程密切相關(guān)、云計算存儲虛擬化技術(shù)與“計算機組成和原理”課程相關(guān)[3-4]:另一方面,該課程涉及很多前沿擴展技術(shù)[5-6],如大數(shù)據(jù)統(tǒng)計與測量技術(shù)(布隆過濾器、Count-Min和HyperLogLog等)、服務器外接存儲技術(shù)(DAS,NAS,IP/FC SAN等)、云安全與大數(shù)據(jù)隱私保護技術(shù)(K匿名、L多樣性、差分隱私等)。另外,該課程還要求學生具有強大的實踐動手能力,以搭建云計算平臺,從而實現(xiàn)云計算相關(guān)實驗(包括阿里云應用、Hadoop搭建、MapReduce操作、Spark應用等)。本課程的目的與任務是使學生通過本課程學習,從云計算的基本概念人手,由淺人深學習云計算的相關(guān)知識,掌握云計算關(guān)鍵技術(shù)和云部署模式,以及云計算機制等。本課程除了要求學生掌握云計算的基礎(chǔ)理論知識,還重點培養(yǎng)學生的分析與處理問題的能力,為今后更深入的學習打下基礎(chǔ)。
2教學現(xiàn)狀及存在的問題
教學實踐發(fā)現(xiàn),“云計算技術(shù)”課程的教學主要存在以下3個問題。
(1)前期基礎(chǔ)要求較高。正如上文所述,“云計算技術(shù)”是一門綜合性非常強的課程,其涉及大量的前期基礎(chǔ)知識結(jié)構(gòu),包括計算機網(wǎng)絡拓撲(如Fat-tree)、存儲與容錯技術(shù)(如磁盤陣列)、外接存儲技術(shù)(如DAS,NAS,SAN)、內(nèi)存虛擬化(如分段分頁技術(shù))等。若學生沒有學習過相關(guān)的前導課程,則將很難透徹地學好“云計算技術(shù)”這門課程。不僅如此,該課程包含非常多的陌生概念和技術(shù),如分布式鎖服務、虛擬化技術(shù)、分布式結(jié)構(gòu)化數(shù)據(jù)表、分布式一致性算法(Paxos算法)、軟件定義網(wǎng)絡等,學生對相關(guān)概念的接觸較少,很難快速理解相關(guān)知識點,尤其是涉及分布式的相關(guān)概念。
(2)前沿擴展技術(shù)較多。正如課程上所介紹的,大數(shù)據(jù)是需求,云計算是手段,云計算與大數(shù)據(jù)密切相關(guān)。所以,該課程涉及很多針對大數(shù)據(jù)的前沿擴展技術(shù),如網(wǎng)絡大數(shù)據(jù)測量技術(shù)可以解決大規(guī)模網(wǎng)絡中的DDoS攻擊檢測、掃描攻擊檢測等問題,其具體包括網(wǎng)絡流量大小測量、基數(shù)測量、持續(xù)性測量等測量任務,教師在課程教學中將著重介紹Google云計算架構(gòu)包含的一些優(yōu)化技術(shù)(BitMap、布隆過濾器、HyperLogLog等),另外,還會擴展介紹一些高效的網(wǎng)絡測量數(shù)據(jù)結(jié)構(gòu).包括Count-Min Sketch等:再如,在“云安全”章節(jié)將會介紹較多大數(shù)據(jù)隱私保護技術(shù),具體包括大數(shù)據(jù)發(fā)布過程中涉及的K匿名、L多樣性匿名、T相近匿名等,大數(shù)據(jù)存儲過程中涉及的同態(tài)加密、大數(shù)據(jù)審計技術(shù)等,大數(shù)據(jù)挖掘過程中涉及的差分隱私(拉普拉斯機制和指數(shù)機制)、聯(lián)邦學習、安全多方計算等。因為涉及較多的前沿擴展技術(shù),加大了學生的學習難度。
(3)實踐能力要求較強。由于云計算課程同時包括理論知識教學和實踐教學,該課程的實驗教學主要從2個方面開展。首先,教會學生如何使用常見的商業(yè)云計算平臺,并基于此完成相關(guān)的云計算任務:其次,引導學生自己動手搭建及配置云計算平臺,加深學生對相關(guān)云計算架構(gòu)的理解。基于已有實驗課程經(jīng)驗,筆者發(fā)現(xiàn)學生的實踐操作能力還有待加強,獨立解決問題的能力也需進一步提高,所以教師需要著重培養(yǎng)學生分析問題、解決問題、獨立思考的能力。
3“云計算技術(shù)”課程多元化教學模式的探索
結(jié)合“云計算技術(shù)”課程的特點與以往的教學經(jīng)驗,筆者提出了多元化教學模式,主要從基本理論知識教學、實驗課程教學、前沿技術(shù)擴展教學3個維度對“云計算技術(shù)”課程的教學改革進行探索和實踐,以加深學生對基礎(chǔ)知識的理解.提高學生的實踐動手能力,同時拓寬學生的知識儲備和國際視野。
(1)基本理論知識教學。由于“云計算技術(shù)”課程涉及的基礎(chǔ)概念非常多,因此采用以教師為主導的啟發(fā)式講授教學法為主,以學生討論或者提問式教學為輔,同時結(jié)合課外自主學習的教學方法。一方面,為了增加課堂信息以應對該課程中大量的陌生概念,采用多媒體PPT的教學方法來講授,同時輔以板書形式加深學生理解。在此過程中,教師將首先通過簡單實例展示讓學生盡快了解云計算,從而激發(fā)學生對云計算的學習興趣,如在帶領(lǐng)學生學習Google云計算架構(gòu)中關(guān)于布隆過濾器的知識之前,教師首先提出了一個有趣的概率例子,即“三門問題”,學生均積極參與該例子的討論,甚至于課間都會圍繞教師展開激烈的探討,這極大地激發(fā)了學生的學習熱情。另一方面,對于課程中關(guān)鍵性概念、設(shè)計思想方面的問題,教師將采用課堂討論的形式,通過引導學生主動思考來加深理解,從而達到舉一反三的目的,如在講授分布式操作系統(tǒng)Yarn時,教師會引導學生加入針對該架構(gòu)的優(yōu)缺點討論,從而提高學生的主動性和積極性。針對缺少前導課程的問題,教師力求以最短時間給學生補充相關(guān)知識點,包括“計算機網(wǎng)絡”“操作系統(tǒng)”“計算機組成原理”等課程的重點內(nèi)容,旨在讓學生全面深入理解云計算的知識框架,達到融會貫通的目的。
(2)實驗課程教學。實驗教學主要以學生實踐動手為主,教師講授教學為輔,并結(jié)合討論與提問的教學模式。首先,教師向?qū)W生強調(diào)編程實踐的重要性,從根本思想上提升學生的學習興趣。接著,教師合理設(shè)計實驗內(nèi)容,尤其是注重實驗內(nèi)容的典型性和趣味性,讓實踐課程達到全面提高學生動手能力和解決實際問題能力的目的。最后,教師編寫相關(guān)的實驗手冊,既能引導學生的實驗步驟,又不至于讓學生簡單照著實驗步驟執(zhí)行而缺少自己的思考。實驗教學的核心是培養(yǎng)學生的實踐編程能力,以及分析問題、解決問題、自主反思的能力。擬從3個方面展開實驗教學,首先是基于阿里云搭建Java Web開發(fā)環(huán)境,在此基礎(chǔ)上設(shè)計實現(xiàn)動態(tài)的項目(如設(shè)計可統(tǒng)計展示不同客戶端IP訪問次數(shù)的個性化界面),接著是基于VMWare部署Hadoop、配置并操作HDFS、設(shè)置SSH免密操作,在此基礎(chǔ)上編寫運行MapReduce程序(如文本中的詞頻統(tǒng)計),最后是基于VMWare環(huán)境搭建、配置、測試Spark,并且能基于Spark完成大數(shù)據(jù)分析處理。
(3)前沿擴展技術(shù)教學?!霸朴嬎慵夹g(shù)”課程的特點是與前沿技術(shù)的結(jié)合非常緊密,為了開闊學生的思維和眼界,本課程將介紹較多的前沿擴展技術(shù)。在講解Google分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable的性能優(yōu)化時,教師將著重介紹布隆過濾器的相關(guān)內(nèi)容,尤其是為了引出布隆過濾器的設(shè)計動機,教師將首先介紹BitMap結(jié)構(gòu),由于BitMap的空間效果仍然沒達到最好的效果,因此教師引出了性能較好的基于概率性的數(shù)據(jù)結(jié)構(gòu)——布隆過濾器,并且進一步給學生講解布隆過濾器的優(yōu)缺點,從而帶領(lǐng)學生一起討論布隆過濾器假陽性的分析過程。另外,教師還將給學生介紹Google云計算架構(gòu)采用高效的大數(shù)據(jù)基數(shù)測量技術(shù)HyperLogLog算法,首先是介紹HyperLogLog算法的設(shè)計動機,通過擲硬幣這個滿足伯努利過程的簡單例子出發(fā),帶領(lǐng)學生理解基本概念,引導學生思考該過程,并能分析出相關(guān)的理論界限。該部分主要采用“拋錨式”教學法,即在講授過程中基于簡單實例提出相關(guān)問題(如HyperLogLog為什么采用調(diào)和平均數(shù)而不是算術(shù)平均數(shù)),引導學生進一步思考,然后通過不斷深入介紹,讓學生由淺入深地理解HyperLogLog算法的本質(zhì)。最后,通過課后作業(yè)的形式加深學生的理解,并且拋出Count-Min這個高效的網(wǎng)絡流量大小測量的概念,讓學生通過自己查找相關(guān)資料達到學習前沿技術(shù)的目的。同時,教師還將在講授云計算數(shù)據(jù)中心架構(gòu)的過程中通過東西向流量問題引出SDN模型,在講解存儲虛擬化的過程中引出服務器外接存儲技術(shù)(DAS,NAS,IP/FC SAN)的概念,在講解云安全的過程中引出大數(shù)據(jù)隱私保護技術(shù)(K匿名、L多樣性、T相近、同態(tài)加密、差分隱私等)。
4結(jié)束語
通過本課程理論知識教學,學生能夠掌握云計算的基本概念、實現(xiàn)機制、分布式系統(tǒng)架構(gòu)、虛擬化技術(shù)、云存儲與云安全等相關(guān)知識;通過實踐課程教學,學生不僅能夠掌握商業(yè)云平臺的運行模式和使用方式,而且可以自己動手搭建云計算架構(gòu),從而完成分布式計算任務(即MapReduce程序),進一步加強學生實踐動手能力與大數(shù)據(jù)分析處理能力:通過前沿擴展技術(shù)教學,學生不僅可以更好地理解云計算整體架構(gòu),而且可以開闊眼界,不至于閉門造車,從而進一步開啟科學的思維方式,增強不斷學習和適應計算機技術(shù)快速發(fā)展的能力。由此可見,本文提出的多元化教學模式可以切實提升“云計算技術(shù)”課程的教學效果。