閆彩霞,賈嵐,冀建平
摘要:隨著信息技術的發(fā)展,傳統(tǒng)的瀑布開發(fā)模式已經(jīng)逐漸被敏捷開發(fā)模式取代。大數(shù)據(jù)時代的到來,對高職教育提出了新的需求。本文以學生熟悉的電商推送場景為例,提出一種線上線下混合式教學模式并設計教案,模擬企業(yè)敏捷開發(fā)過程,設計用戶故事、任務看板、技術點探索、交付項目,在Java語言程序設計課程中融入電商大數(shù)據(jù)推送項目,以迭代的形式最終使學生完成一個可交付的電商大數(shù)據(jù)推送模擬項目,增加了學習的趣味性。學生在學習Java語言的同時,了解企業(yè)生產(chǎn)實踐中流行的大數(shù)據(jù)和敏捷相關概念。
關鍵詞:大數(shù)據(jù)推送;敏捷;教學模式
中圖分類號:TP311,G711? ? ? 文獻標識碼: A
文章編號:1009-3044(2021)20-0257-03
1 引言
Java語言是當今世界最流行的編程語言之一,TIOBE公布的編程語言排行榜顯示,Java語言多年位居編程語言榜首[1]。無論是開發(fā)大中小型應用系統(tǒng)軟件還是大數(shù)據(jù)服務、云服務,Java語言都是非常好的選擇,因此各大高校都開設Java語言程序設計課程作為計算機專業(yè)課。大數(shù)據(jù)產(chǎn)業(yè)持續(xù)健康發(fā)展,是黨中央、國務院做出的重大戰(zhàn)略部署,是實施大數(shù)據(jù)戰(zhàn)略、實現(xiàn)我國從數(shù)據(jù)大國向數(shù)據(jù)強國轉(zhuǎn)變的重要舉措。從2015年開始,國家出臺了多項大數(shù)據(jù)相關政策,表1列出了部分政策。大數(shù)據(jù)是與業(yè)務場景相結(jié)合使用的,如電商業(yè)務、ERP業(yè)務、工業(yè)業(yè)務、醫(yī)療健康業(yè)務等,通過業(yè)務場景數(shù)據(jù)分析結(jié)果,協(xié)助企業(yè)做出正確決策。在程序設計語言教學中融入大數(shù)據(jù)業(yè)務場景,再聯(lián)系企業(yè)生產(chǎn)實際,可以提高學生實踐能力,培養(yǎng)適應社會發(fā)展需要的應用型人才。目前該類課程多以傳統(tǒng)的理論教學加課內(nèi)實驗的方式進行。
2 敏捷開發(fā)
敏捷開發(fā)(Agile Development)是一種以人為核心、迭代、循序漸進的開發(fā)方法。它是一種軟件開發(fā)的流程,指導我們用規(guī)定的環(huán)節(jié)一步一步完成項目的開發(fā),主要驅(qū)動核心是人,采用的是迭代式開發(fā)[7]。每個迭代都可以交付客戶可使用的產(chǎn)品,注重與客戶的溝通,幾個迭代過后,交付最終產(chǎn)品。傳統(tǒng)的瀑布式開發(fā),非常重視最初的計劃,嚴格遵循預先計劃的需求分析、產(chǎn)品設計、編碼、測試、集成、運維的步驟順序進行,最終按計劃交付產(chǎn)品,在計劃后如有需求調(diào)整,代價高昂。敏捷開發(fā)相對于瀑布開發(fā)可以對客戶提出的變化需求做出快速響應。無論是在傳統(tǒng)行業(yè)還是互聯(lián)網(wǎng)公司,敏捷開發(fā)深受歡迎。
3 電商大數(shù)據(jù)推送項目
基于大數(shù)據(jù)技術進行用戶信息采集、畫像,以及通過各類線上渠道針對消費者個性化需求進行商品信息廣告推送,因其較高的客戶轉(zhuǎn)換率成為線上營銷的主要手段[7]??蛻粼谔詫殹⒕〇|、美團等電商平臺購物或者瀏覽商品后,電商會根據(jù)我們的購物歷史或者瀏覽歷史推送相似商品,這個過程其實就是電商大數(shù)據(jù)推送。電商App或者購物網(wǎng)站通常使用埋點日志方式搜集用戶購買意向,日志的格式通常是固定的,后臺大數(shù)據(jù)系統(tǒng)根據(jù)埋點日志進行大數(shù)據(jù)分析處理,給用戶打上標簽,如大學生、80后、工薪階層、新爸爸媽媽等,系統(tǒng)會根據(jù)標簽推送相關商品,也可以根據(jù)客戶購買商品的價格為其推送價格相似的商品,如某客戶定外賣,定的都是海底撈之類高價位的,就為該客戶推送價位相對高些的商品。如圖1所示,各行各業(yè),大數(shù)據(jù)的處理流程通常都分為采集、清洗、存儲、分析四個階段,真實的電商大數(shù)據(jù)平臺推送系統(tǒng)也是一樣。
4 教案設計
北京經(jīng)濟管理職業(yè)學院信息學院開設有《大數(shù)據(jù)技術與應用》專業(yè),本教案根據(jù)自編項目式活頁教材,將電商大數(shù)據(jù)推送項目貫穿始終,將企業(yè)中流行的敏捷開發(fā)引入教學,采用任務驅(qū)動、技術探索式教學模式。模擬電商大數(shù)據(jù)推送的流程,并不使用Spark、HDFS等真正的大數(shù)據(jù)技術,因為本教案是java語言程序設計教案,不是大數(shù)據(jù)專業(yè)課教案,只是以當前非常流行的大數(shù)據(jù)項目為依托,以生活中常見的業(yè)務場景為背景,使學生學習Java的同時,能了解大數(shù)據(jù)的流程,為將來從事應用軟件開發(fā)、測試、運維、產(chǎn)品設計或者大數(shù)據(jù)相關開發(fā)、運維等工作奠定基礎。通過該課程的學習,學生能夠系統(tǒng)全面地掌握 Java 語言面向?qū)ο蟮某绦蛟O計方法,熟練使用 Java 語言進行程序設計,具備大數(shù)據(jù)分析及開發(fā)等崗位所需的面向?qū)ο缶幊趟季S及編程技能,并為以后繼續(xù)深入地學習大數(shù)據(jù)方向相關知識打下良好的基礎。此外,通過在課程中融入思政元素,在培養(yǎng)學生掌握面向?qū)ο蟮木幊碳寄艿耐瑫r,將做人做事的基本道理、把社會主義核心價值觀的要求、實現(xiàn)民族復興的理想和責任融入課程教學之中,使學生領悟做人做事的道理、強調(diào)學生社會主義核心價值觀的樹立和職業(yè)素養(yǎng)、勞動精神的價值塑造,實現(xiàn)“思政引領、實踐育人” 的目的。
教案案例中涉及的電商客戶群體,選擇大學生最熟悉的群體——大學生作為客戶,購買的商品定義為學生容易理解的書籍。希望大學生能靜下心來,多讀書,拓展視野,提高專業(yè)知識。
數(shù)據(jù)的采集,使用最常用的讀取CSV日志文件,按照刪除缺失值的規(guī)則清洗,將日志數(shù)據(jù)存入數(shù)據(jù)庫(存儲),同時分析日志數(shù)據(jù),為用戶打標簽,當用戶再次購物時,推送商品(分析、應用)。
本教案設計使用編程語言排行榜領頭軍Java開發(fā)完成一個電商大數(shù)據(jù)推送項目,模擬數(shù)據(jù)的采集、清洗、存儲、分析四個階段。教案設計的教學時間為兩學期。采用敏捷的形式完成項目,分為四個迭代,每個迭代覆蓋一定的知識點,根據(jù)知識點為各迭代設計多個子任務。每個迭代都是一個敏捷交付項目。各個迭代采用相同的教學模式完成,迭代中設計有用戶故事、任務看板、技術點探索、交付項目。
迭代一:大數(shù)據(jù)推送框架
通過引導學生查看編程語言排行榜,了解Java語言的排名,激發(fā)學生學習Java語言的動力。本迭代主要學習java語言基礎,根據(jù)任務看板的任務,引導學生去做技術點探索,包括Java語言運行環(huán)境配置、開發(fā)工具、數(shù)據(jù)類型、運算符、數(shù)組、流程控制語句、字符串。由于本階段是學習起步階段,這里不涉及日志文件讀取,將數(shù)據(jù)預先定義好,存儲在數(shù)組,完成一個簡單的推送系統(tǒng)。從知識點角度,打好Java語言編程的基本語法知識;從項目角度,從一個個小任務,一點一點編織出項目的基本組成功能模塊。迭代一是整個項目的基礎部分。