(蘇州科技大學(xué)電子與信息工程學(xué)院,江蘇 蘇州 215000)
隨著當(dāng)前信息技術(shù)的不斷深化和發(fā)展,以及我國(guó)“互聯(lián)網(wǎng)+”、“智能制造2025”和“一帶一路”等國(guó)家發(fā)展戰(zhàn)略規(guī)劃的推進(jìn),大數(shù)據(jù)時(shí)代已經(jīng)撲面而來(lái),云計(jì)算與大數(shù)據(jù)技術(shù)越來(lái)越得到重視和普及,甚至已經(jīng)成為企業(yè)實(shí)力競(jìng)爭(zhēng)的核心以及國(guó)家競(jìng)爭(zhēng)和戰(zhàn)略發(fā)展的核心[1][2][3][4]。云計(jì)算與大數(shù)據(jù)技術(shù)的出現(xiàn)再次給社會(huì)各行各業(yè)帶來(lái)技術(shù)層面更高、影響力更廣的一次全方位變革,有調(diào)查數(shù)據(jù)顯示,目前32.5%的公司正在搭建大數(shù)據(jù)平臺(tái),32.5%的公司已經(jīng)在生產(chǎn)環(huán)境實(shí)踐大數(shù)據(jù),并有成功的用例或產(chǎn)品;24.5%的公司已經(jīng)做了足夠的了解,開發(fā)準(zhǔn)備就緒。云計(jì)算與大數(shù)據(jù)技術(shù)的普及應(yīng)用和高速發(fā)展也帶來(lái)了對(duì)相關(guān)人才的巨量需求。著名研究機(jī)構(gòu)IDC經(jīng)過調(diào)查發(fā)現(xiàn)亞太區(qū)的云計(jì)算相關(guān)人才需求年增長(zhǎng)率達(dá)32%,領(lǐng)英發(fā)布的《2016年中國(guó)最熱職位人才報(bào)告》中基于領(lǐng)英平臺(tái)上約50萬(wàn)的中國(guó)各個(gè)行業(yè)人才大數(shù)據(jù)的分析表明,大數(shù)據(jù)相關(guān)人才最為稀缺。2017年100offer的調(diào)查顯示,云計(jì)算、大數(shù)據(jù)領(lǐng)域的人才需求,無(wú)論從市場(chǎng)需求、面試邀請(qǐng)數(shù)量還是薪資水平,都呈大幅度領(lǐng)先的狀況。
顯然,作為國(guó)家中、高端人才的培養(yǎng)基地,高等院校如何順應(yīng)這一趨勢(shì),在大學(xué)課程體系中建設(shè)具有針對(duì)性的課程[1],積極培養(yǎng)具備大數(shù)據(jù)分析和應(yīng)用基礎(chǔ)知識(shí)、基礎(chǔ)技能的本科生,已成為擺在高校教師和管理人員面前的一個(gè)迫切任務(wù)。
然而大數(shù)據(jù)與云計(jì)算技術(shù)體系龐雜,技術(shù)覆蓋數(shù)據(jù)采集、預(yù)處理、分布式存儲(chǔ)、NOSQL數(shù)據(jù)庫(kù)、多模式計(jì)算(批處理、在線處理、實(shí)時(shí)流處理、內(nèi)存處理)、多模態(tài)計(jì)算(圖像、文本、視頻、音頻)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、人工智能、深度學(xué)習(xí)、并行計(jì)算、可視化等各種技術(shù)范疇和不同的層面。相對(duì)于國(guó)內(nèi)大學(xué)計(jì)算機(jī)學(xué)科的教學(xué)內(nèi)容而言,一方面這些技術(shù)與現(xiàn)有課程體系中的很多關(guān)鍵課程、基礎(chǔ)課程息息相關(guān),另一方面則由于大數(shù)據(jù)、云計(jì)算技術(shù)應(yīng)用性強(qiáng)、綜合性高,現(xiàn)有課程往往缺乏較為成熟和體系化的思路來(lái)實(shí)現(xiàn)對(duì)大數(shù)據(jù)的課程進(jìn)行支撐。因此最終大數(shù)據(jù)、云計(jì)算的課程設(shè)置大多浮于表面,獨(dú)立設(shè)置其內(nèi)容,既無(wú)法利用和銜接現(xiàn)有課程,也無(wú)法對(duì)現(xiàn)有課程體系起到深化和發(fā)展作用,有學(xué)生反映大數(shù)據(jù)與云計(jì)算課程更像一門課外興趣活動(dòng)課,而不是整個(gè)課程體系的有機(jī)組成部分。
由此可見,為了適應(yīng)大數(shù)據(jù)與云計(jì)算等技術(shù)發(fā)展及人才培養(yǎng)的需求,需要從大數(shù)據(jù)與云計(jì)算和已有課程的相互協(xié)同出發(fā),研究將大數(shù)據(jù)與云計(jì)算“嵌入”現(xiàn)有課程體系的方法,設(shè)計(jì)有針對(duì)性的大數(shù)據(jù)與云計(jì)算的教學(xué)目標(biāo)、內(nèi)容、實(shí)踐以及評(píng)價(jià)方法,從而更好的培養(yǎng)具備大數(shù)據(jù)相關(guān)技術(shù)能力基礎(chǔ)的本科人才[2][3]。
從現(xiàn)有的教學(xué)過程和反饋來(lái)看[4][5][6],大數(shù)據(jù)與云計(jì)算是一門應(yīng)用性強(qiáng)、綜合性高、難度較大的課程,欲開展教學(xué),學(xué)校在現(xiàn)有課程中需要滿足如下條件:首先需要保證在基礎(chǔ)課程方面為學(xué)生打下較為堅(jiān)實(shí)的技術(shù)和能力基礎(chǔ);其次,各門課程都牢固樹立以培養(yǎng)學(xué)生實(shí)踐能力、工程能力為核心的培養(yǎng)目標(biāo);最后,在課程體系建設(shè)、教學(xué)內(nèi)容安排以及學(xué)生考核評(píng)估方面貫徹以動(dòng)手能力和實(shí)踐創(chuàng)新能力為依據(jù)的原則。
蘇州科技大學(xué)電子與信息工程學(xué)院已經(jīng)具備了較為堅(jiān)實(shí)的基礎(chǔ),計(jì)算機(jī)科學(xué)與工程專業(yè)分別入選了“江蘇省地方高校服務(wù)外包人才試點(diǎn)專業(yè)”、“江蘇省卓越工程師教育培養(yǎng)計(jì)劃(軟件類)”,建立了一套以培養(yǎng)實(shí)踐創(chuàng)新能力為核心的立體化的培養(yǎng)方案和計(jì)算機(jī)課程體系,其教學(xué)內(nèi)容和學(xué)生考評(píng)在近幾年的教學(xué)中進(jìn)行了充分的實(shí)踐檢驗(yàn),此外還通過“學(xué)生研究訓(xùn)練中心”搭建了計(jì)算機(jī)專業(yè)的學(xué)生科研訓(xùn)練平臺(tái),學(xué)生的基礎(chǔ)技術(shù)能力、創(chuàng)新實(shí)踐能力培養(yǎng)都能夠得到保障。
在上述基礎(chǔ)上,基于“嵌入式”的建設(shè)思路,使用模塊化建設(shè)方法,綜合大數(shù)據(jù)與云計(jì)算的課程特點(diǎn),提出了相應(yīng)的課程設(shè)置思路,將其“嵌入”現(xiàn)有的課程體系中,其設(shè)置思路及建設(shè)后的課程體系如圖1所示。
圖1 “嵌入式”大數(shù)據(jù)與云計(jì)算課程設(shè)置思路
該體系將大數(shù)據(jù)與云計(jì)算課程“嵌入”現(xiàn)有課程體系過程中,其前期支撐課程為傳統(tǒng)計(jì)算機(jī)基礎(chǔ)知識(shí)和基礎(chǔ)能力課程,后續(xù)發(fā)展課程則為具體特色應(yīng)用方向,從而體現(xiàn)大數(shù)據(jù)與云計(jì)算課程的核心和關(guān)鍵作用。
在上述思路指導(dǎo)基礎(chǔ)上,本校在大數(shù)據(jù)與云計(jì)算課程的教學(xué)組織方面也進(jìn)行了相應(yīng)的探索,主要從如何銜接和協(xié)同現(xiàn)有課程體系方面入手,從模塊化、實(shí)踐化角度,通過與現(xiàn)有課程相關(guān)聯(lián)的實(shí)踐案例驅(qū)動(dòng)和典型場(chǎng)景設(shè)計(jì)等,在教學(xué)內(nèi)容組織、學(xué)生組織和管理以及教學(xué)效果的考核與評(píng)定三個(gè)方面展開討論。
大數(shù)據(jù)與云計(jì)算課程的教學(xué)內(nèi)容本身覆蓋面較廣,知識(shí)點(diǎn)分散,另外還需要考慮與現(xiàn)有課程體系的銜接和協(xié)同,因此教學(xué)內(nèi)容組織的主要做法包括理論知識(shí)點(diǎn)的模塊化劃分和實(shí)踐內(nèi)容的案例驅(qū)動(dòng)與典型場(chǎng)景設(shè)計(jì),分別說明如下。
1.理論知識(shí)點(diǎn)的模塊化劃分
課程教學(xué)內(nèi)容采用模塊化協(xié)作體系,分三個(gè)模塊:框架平臺(tái)及運(yùn)維、大數(shù)據(jù)存儲(chǔ)技術(shù)、大數(shù)據(jù)分析與處理技術(shù),三個(gè)模塊具體說明如下。
模塊1:框架平臺(tái)與運(yùn)維,主要教學(xué)內(nèi)容包括:云計(jì)算與大數(shù)據(jù)技術(shù)概述(云計(jì)算技術(shù)的歷史演化及特點(diǎn)、云計(jì)算平臺(tái)相關(guān)的Linux系統(tǒng)基本操作方法、Google相關(guān)的云計(jì)算、虛擬化技術(shù)和計(jì)算框架介紹、基于Google平臺(tái)的典型大數(shù)據(jù)應(yīng)用場(chǎng)景);基于Google File Systemde的分布式文件平臺(tái)配置和運(yùn)維(基于典型場(chǎng)景的GFS、Hadoop等應(yīng)用平臺(tái)的搭建方法、常用的Hadoop配置運(yùn)維方法、MapReduce Job的運(yùn)行過程與原理);Spark部署及應(yīng)用(基于典型場(chǎng)景的Spark生態(tài)系統(tǒng)、Spark架構(gòu)功能和技術(shù)特點(diǎn)、Spark的安裝和配置)。
模塊2:大數(shù)據(jù)存儲(chǔ)技術(shù),主要教學(xué)內(nèi)容包括:基于Google File System的分布式數(shù)據(jù)存儲(chǔ)技術(shù)(GFS、Colossus以及HDFS系統(tǒng)架構(gòu)與原理、相關(guān)平臺(tái)功能與運(yùn)行原理、相關(guān)分布式文件系統(tǒng)基本操作方法);基于Google技術(shù)的數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)(Bigtable、HBase、Hive等非關(guān)系型數(shù)據(jù)庫(kù)的技術(shù)特點(diǎn)和典型應(yīng)用場(chǎng)景、Hive等基于分布式文件數(shù)據(jù)倉(cāng)庫(kù)的技術(shù)特點(diǎn)和典型應(yīng)用場(chǎng)景);基于Google技術(shù)非關(guān)系型數(shù)據(jù)庫(kù)應(yīng)用(Bigtable、HBase、Hive等的數(shù)據(jù)庫(kù)體系結(jié)構(gòu)及配置運(yùn)維方法,Bigtable、HBase的基本操作方法及典型應(yīng)用場(chǎng)景,基于Hive的HiveQL基本操作以及典型應(yīng)用場(chǎng)景)。
模塊3:大數(shù)據(jù)分析與處理技術(shù),主要教學(xué)內(nèi)容包括:基于Map-Reduce的大數(shù)據(jù)分析技術(shù)(分布式計(jì)算理論初步、Map-Reduce編程框架和數(shù)據(jù)流處理流程、Map-Reduce編程的分布式輸入與輸出、基于Eclipse的Map-Reduce編程環(huán)境配置與使用和基本開發(fā)技術(shù));基于Google技術(shù)的數(shù)據(jù)分析與處理(面向BigTable、HBase非關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)分析和處理技術(shù)、面向Hive分布式文件的數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)分析和處理技術(shù));包括Caffeine引擎在內(nèi)的Google新技術(shù)及典型應(yīng)用場(chǎng)景介紹。
2.基于案例驅(qū)動(dòng)和典型場(chǎng)景設(shè)計(jì)的實(shí)踐內(nèi)容設(shè)計(jì)
與理論知識(shí)相對(duì)獨(dú)立的特點(diǎn)不同,實(shí)踐內(nèi)容設(shè)計(jì)則可以充分考慮與現(xiàn)有課程的協(xié)同,尤其是現(xiàn)有課程在實(shí)踐方面的協(xié)同,具體設(shè)計(jì)安排如表1所示。
表1 實(shí)踐內(nèi)容及協(xié)同課程設(shè)計(jì)
從表中可以看出,每個(gè)模塊都有相關(guān)的協(xié)同課程,因此在實(shí)驗(yàn)指導(dǎo)、操作以及評(píng)價(jià)時(shí)可以充分考慮將已有課程的知識(shí)點(diǎn)以及實(shí)驗(yàn)相連接,例如Hadoop平臺(tái)的安裝與Linux的操作命令協(xié)同,Hbase的存儲(chǔ)操作與數(shù)據(jù)結(jié)構(gòu)的算法協(xié)同;MR編程思路及步驟與程序設(shè)計(jì)基礎(chǔ)和算法分析課程協(xié)同,等等,只要能夠?qū)?shí)踐內(nèi)容的設(shè)計(jì)與相關(guān)課程進(jìn)行充分協(xié)調(diào),最終都能很好的與課程進(jìn)度相融合。
除了和其他課程協(xié)調(diào)以外,每個(gè)模塊的實(shí)踐內(nèi)容之間也能夠充分協(xié)同,即不同模塊的實(shí)踐最終可以匯總為一個(gè)整體案例,并與JavaEE開發(fā)技術(shù)、Web應(yīng)用開發(fā)等課程進(jìn)一步融合,從而完成一個(gè)具備較為完整功能的實(shí)際商業(yè)應(yīng)用,下面給出幾個(gè)參考案例。
案例1:帶推薦系統(tǒng)的電子商務(wù)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn),基于大數(shù)據(jù)與云計(jì)算平臺(tái)部署,能夠?qū)τ脩糍?gòu)買活動(dòng)數(shù)據(jù)進(jìn)行包括關(guān)聯(lián)性等在內(nèi)的大數(shù)據(jù)分析,從而進(jìn)行推薦,并基于Web或APP向用戶提供訪問的應(yīng)用平臺(tái)。
案例2:搜索引擎設(shè)計(jì)與實(shí)現(xiàn),基于大數(shù)據(jù)與云計(jì)算平臺(tái)部署,能夠?qū)W(wǎng)頁(yè)進(jìn)行爬取以及進(jìn)行PageRank等在內(nèi)的大數(shù)據(jù)分析,從而實(shí)現(xiàn)搜索,并基于Web或APP向用戶提供訪問的應(yīng)用平臺(tái)。
案例3:餐飲評(píng)價(jià)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn),基于大數(shù)據(jù)與云計(jì)算平臺(tái)部署,能夠?qū)τ脩舨惋嫽顒?dòng)和評(píng)價(jià)進(jìn)行統(tǒng)計(jì)等大數(shù)據(jù)分析,從而進(jìn)行評(píng)價(jià)、推薦,并基于Web或APP向用戶提供訪問的應(yīng)用平臺(tái)。
3.教學(xué)課時(shí)安排和組織方法
作為一門實(shí)踐課,從本校現(xiàn)有反饋來(lái)看,大數(shù)據(jù)與云計(jì)算課程需要增加實(shí)踐學(xué)時(shí),使其達(dá)到所有學(xué)時(shí)的一半左右較為合理,除此以外,實(shí)踐案例和場(chǎng)景大多需要團(tuán)隊(duì)討論和合作,因此還需要安排一定的課外時(shí)間,進(jìn)行項(xiàng)目中的需求討論、分析、概要框架的設(shè)計(jì)以及用戶手冊(cè)的編寫等,而理論內(nèi)容教學(xué)則可壓縮。
具體組織方面,學(xué)生先確定所進(jìn)行的案例和場(chǎng)景,在項(xiàng)目啟動(dòng)前,教師根據(jù)場(chǎng)景安排確定較為具體的目標(biāo),在每個(gè)模塊階段開始時(shí)讓學(xué)生團(tuán)隊(duì)討論、分析需求,然后分階段部署平臺(tái),實(shí)現(xiàn)框架,設(shè)計(jì)核心算法,完成詳細(xì)設(shè)計(jì)。學(xué)生進(jìn)行開發(fā)實(shí)現(xiàn)、測(cè)試之后還要再回到課堂,完成用戶手冊(cè)等文檔工作。最后,每個(gè)小組的具體應(yīng)用需要在課堂上進(jìn)行公開演示,通過全班學(xué)生和教師的評(píng)價(jià)之后才算完成實(shí)驗(yàn)。
根據(jù)軟件開發(fā)的需求,以上三個(gè)模塊的項(xiàng)目進(jìn)行過程中,學(xué)生應(yīng)以團(tuán)隊(duì)方式完成,但由于每個(gè)項(xiàng)目的難度和內(nèi)容并不一致而呈增量式發(fā)展趨勢(shì),因此學(xué)生的團(tuán)隊(duì)組成也并非一成不變,筆者采取以下方案:
在課程第1模塊階段,不采用團(tuán)隊(duì)方式,所有學(xué)生獨(dú)自完成任務(wù),教師組織學(xué)生互相考評(píng),從而方便學(xué)生互相之間了解技術(shù)能力、思考方式以及個(gè)人喜好等因素,利于在第2模塊階段開始進(jìn)行自由組隊(duì),最終全班按4~6人左右組成若干個(gè)團(tuán)隊(duì)。為了避免團(tuán)隊(duì)間過度的能力不均衡,教師可以對(duì)組團(tuán)進(jìn)行微調(diào)。
除了組團(tuán)以外,教師還需要在每個(gè)模塊階段開始前進(jìn)行一定的輔導(dǎo)。特別是在前兩個(gè)模塊階段,由于學(xué)生一般都是第一次接觸類似項(xiàng)目,教師應(yīng)該詳細(xì)介紹項(xiàng)目的設(shè)計(jì)流程,尤其應(yīng)該介紹其他課程如Linux操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、算法與程序設(shè)計(jì)等方面的知識(shí),另外幫助學(xué)生做好分組工作,指派組長(zhǎng)及成員的工作內(nèi)容,并強(qiáng)調(diào)分工合作。另外,每次模塊階段之前,教師還要幫助學(xué)生做需求分析,提供一些建議,引導(dǎo)學(xué)生設(shè)計(jì)一個(gè)合理的目標(biāo)。具體實(shí)踐中,教師還要幫助學(xué)生處理一些算法以及設(shè)計(jì)方法方面的輔導(dǎo)工作??傊處熭o導(dǎo)的重點(diǎn)在于幫助學(xué)生學(xué)會(huì)自己解決問題,而不是幫助學(xué)生解決問題,即“授人以漁”,而非“授人以魚”。
學(xué)生在剛接觸一門課程的時(shí)候,最關(guān)注的問題往往是如何通過考試。大數(shù)據(jù)與云計(jì)算課程的最終成績(jī)由考試成績(jī)和項(xiàng)目實(shí)踐成績(jī)組成,其中考試成績(jī)只占30%,而剩余部分全部依賴于學(xué)生的項(xiàng)目實(shí)踐成績(jī)。因此,學(xué)生只有在平時(shí)就努力學(xué)習(xí),努力完成項(xiàng)目實(shí)踐,才能獲得良好的成績(jī),這樣不僅可以使日常教學(xué)獲得良好的效果,也減輕了學(xué)生考試的壓力。
項(xiàng)目實(shí)踐成績(jī)的組成則由演示陳述、平臺(tái)運(yùn)維、算法設(shè)計(jì)等類別構(gòu)成,其中演示陳述將占較大比重,該部分成績(jī)的評(píng)定方法為:每個(gè)項(xiàng)目階段工作完成之后,用公開演示的辦法來(lái)引導(dǎo)學(xué)生參與評(píng)價(jià),由于是公開評(píng)價(jià),所以每個(gè)學(xué)生小組都處在競(jìng)爭(zhēng)之中,另外演示需要學(xué)生上臺(tái)演講,也培養(yǎng)了學(xué)生口才等一些綜合素質(zhì)方面的才能。最后將各方面的成績(jī)通過綜合,構(gòu)成平時(shí)成績(jī),成績(jī)較為公平和公開。
通過本校近兩年的實(shí)踐,基于“嵌入式”思想的大數(shù)據(jù)與云計(jì)算這門課程取得了良好的教學(xué)效果,整體而言,“嵌入式”大數(shù)據(jù)與云計(jì)算課程具備以下優(yōu)勢(shì):
(1)能有效結(jié)合現(xiàn)有課程的培養(yǎng)特色,體現(xiàn)出寬口徑教學(xué)課程以及學(xué)生實(shí)踐能力訓(xùn)練的優(yōu)勢(shì),能夠?yàn)閷W(xué)生開展大數(shù)據(jù)應(yīng)用和分析課程學(xué)習(xí)提供堅(jiān)實(shí)的基礎(chǔ)。
(2)采用“案例驅(qū)動(dòng)、典型場(chǎng)景教學(xué)、理論與實(shí)踐一體化”的教學(xué)方法,遵循了高等工程教育的理念和認(rèn)知規(guī)律。
(3)多模塊、分階段的項(xiàng)目案例,促進(jìn)學(xué)生的自主學(xué)習(xí)能力、團(tuán)隊(duì)協(xié)作能力、交流溝通能力的提升。
(4)充分呼應(yīng)現(xiàn)有學(xué)科培養(yǎng)方法和目標(biāo),培養(yǎng)學(xué)生的創(chuàng)新思維與創(chuàng)新能力,全面開發(fā)學(xué)生的潛力。
今后,我們?cè)谙乱徊降恼n程教學(xué)改革過程中將采取更有深度和廣度的研究,以使得大數(shù)據(jù)與云計(jì)算課程和計(jì)算機(jī)學(xué)科傳統(tǒng)課程結(jié)合得更為緊密,同時(shí)深化大數(shù)據(jù)及相關(guān)技術(shù)的核心和關(guān)鍵性,為計(jì)算機(jī)學(xué)科教育發(fā)展提供思路和支撐。