張曉黎
摘要:很多學生認為《Java數(shù)據(jù)科學》課程是純技術課程,上課時動手實踐能力弱,遇到技術問題時分析解決能力欠缺,也無法結(jié)合實證理解數(shù)據(jù)分析結(jié)論。針對這一現(xiàn)狀,提出財經(jīng)類院?!禞ava數(shù)據(jù)科學》課程思政的教學內(nèi)容設計和教學實踐模式探索。教學內(nèi)容以實事求是和通過實踐檢驗理論為教學主旨,以Java語言和第三方工具包為教學主線,介紹社會、經(jīng)濟管理領域的大數(shù)據(jù)建模與可視化分析。教學模式采取課堂教學+網(wǎng)絡教學平臺反轉(zhuǎn)教學+課程論文演示。
關鍵詞:Java數(shù)據(jù)科學;課程思政;經(jīng)濟管理建模;大數(shù)據(jù)建模與可視化
中圖分類號:G642 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)34-0180-03
1 《Java數(shù)據(jù)科學》課程思政研究的必要性
在理工科院校,《Java程序設計》課程是計算機專業(yè)和部分理工科專業(yè)的必修課程之一。開設該課程的主要目的是熟練掌握主流程序設計語言,面向企業(yè)軟件系統(tǒng)開發(fā)需求。課程內(nèi)容是以Java程序設計語言語法為基礎,介紹其進行系統(tǒng)開發(fā)和設計時的邏輯分解、組織及實現(xiàn)。財經(jīng)院校該以何種形式引入《Java數(shù)據(jù)科學》課程呢?技術類課程進行思政研究的必要性和途徑是什么?
現(xiàn)代企業(yè)進行大數(shù)據(jù)分析時,需要具有經(jīng)管知識、數(shù)學建模和編程能力的復合型人才。如果以后計劃碩士或博士學習,也需要掌握1到2門可開發(fā)軟件進行算法設計和定量分析。Java語言是開源程序設計語言,其語法對初學者相對較難,但其具備較強大的科學計算模塊,數(shù)據(jù)分析模塊,可視化與繪圖模塊。因此適合財經(jīng)類院校的統(tǒng)計、人工智能、信息管理與電子商務等專業(yè)的拓展教學。在財經(jīng)院校開設《Java數(shù)據(jù)科學》課程的教學目的、教學內(nèi)容和組織形式應區(qū)別于理工類院校的。不能單純講解程序設計語法,而應緊扣社會經(jīng)濟管理新問題,進行數(shù)學統(tǒng)計建模、算法設計與分析及編程實現(xiàn)的能力培養(yǎng)。
教育部印發(fā)《高等學校課程思政建設指導綱要》,全面推進高校課程思政建設?!皩τ诶韺W、工學類專業(yè)課程,要在課程教學中把馬克思主義立場觀點方法的教育與科學精神的培養(yǎng)結(jié)合起來,提高學生正確認識問題、分析問題和解決問題的能力。理學類專業(yè)課程,要注重科學思維方法的訓練和科學倫理的教育,培養(yǎng)學生探索未知、追求真理、勇攀科學高峰的責任感和使命感。工學類專業(yè)課程,要注重強化學生工程倫理教育,培養(yǎng)學生精益求精的大國工匠精神,激發(fā)學生科技報國的家國情懷和使命擔當。對于經(jīng)濟學、管理學、法學類專業(yè)課程。要在課程教學中堅持以馬克思主義為指導,加快構(gòu)建中國特色哲學社會科學學科體系、學術體系、話語體系。要幫助學生了解相關專業(yè)和行業(yè)領域的國家戰(zhàn)略、法律法規(guī)和相關政策,引導學生深入社會實踐、關注現(xiàn)實問題,培育學生經(jīng)世濟民、誠信服務、德法兼修的職業(yè)素養(yǎng)?!盵1]《Java數(shù)據(jù)科學》課程是以理工類技術為基礎,但研究的問題又是與經(jīng)濟管理類課程相關的專業(yè)課程。因此在進行課程思政建設時應謹遵實事求是馬克思主義根本觀點,引導學生關注國內(nèi)外時政和現(xiàn)實問題,培養(yǎng)學生正確認識問題、分析問題和解決問題的能力。教學主要內(nèi)容涉及社會經(jīng)濟管理熱點問題的大數(shù)據(jù)分析、數(shù)學及統(tǒng)計學建模及算法設計、程序?qū)崿F(xiàn)與結(jié)果可視化輸出分析。
習主席指出:“實事求是,是馬克思主義的根本觀點,是中國共產(chǎn)黨人認識世界、改造世界的根本要求”?!皩嵤隆本褪强陀^存在著的一切事物,“是”就是客觀事物的內(nèi)部聯(lián)系,即規(guī)律性,“求”就是我們?nèi)パ芯?。堅持實事求是,就要做到:一是堅持一切從實際出發(fā)來研究和解決問題。研究問題、做出決策,都必須從不斷變化的客觀實際出發(fā)[2]。因此,在設計《Java數(shù)據(jù)科學》課程的教學內(nèi)容和課程實踐題目時,數(shù)據(jù)分析類題目緊扣國家經(jīng)濟時政,算法類題目緊扣最新技術熱點。二是堅持理論聯(lián)系實際來制定和形成指導實踐發(fā)展的路線方針政策。理論只有與實際緊密聯(lián)系,才能發(fā)揮對實踐的指導作用,才能實現(xiàn)自身的價值和意義。三是堅持在實踐中檢驗真理和發(fā)展真理。理論是從實踐中產(chǎn)生的,實踐是認識的源泉,是真理的檢驗標準,理論是否正確要接受實踐檢驗并要在實踐中不斷豐富和發(fā)展。因此,在設計《Java數(shù)據(jù)科學》課程的教學內(nèi)容時不單純灌輸,而是讓學生通過課堂實踐、課后實踐和課程論文實踐去總結(jié)技術上的理論,驗證經(jīng)濟管理的理論知識。
2 《Java數(shù)據(jù)科學》課程的思政教學內(nèi)容和模式探索
財經(jīng)院校引入《Java數(shù)據(jù)科學》課程,進行課程思政的主旨是培養(yǎng)學生實事求是,理論聯(lián)系實際,通過實驗實踐檢驗真理的精神,加強利用Java語言進行問題分析、大數(shù)據(jù)建模分析和算法實現(xiàn)的能力。遵循在財經(jīng)院校引入《Java數(shù)據(jù)科學》課程的主旨,筆者在教學內(nèi)容方面進行以下創(chuàng)新:
以Java語言和第三方工具包為教學主線,但并不局限在語法和工具包介紹,而是結(jié)合技術相關實際案例和社會經(jīng)濟管理實證數(shù)據(jù),引導學生關注國內(nèi)外技術創(chuàng)新新動向和比較優(yōu)勢,國內(nèi)外社會經(jīng)濟貿(mào)易基礎問題,進行大數(shù)據(jù)可視化和建模分析。課堂教學與實驗實踐,均從技術實現(xiàn)難點、實際問題解決和分析等方面設計實現(xiàn)。在教學模式方面也進行了以下有益的探索,創(chuàng)建課程QQ群,搜集學生建模和編程實踐出現(xiàn)的問題。利用BlackBoard教學平臺發(fā)布教學內(nèi)容文檔、教學視頻。課堂上,針對學生在QQ群里提出的典型性問題,編程上的語法錯誤和邏輯錯誤,引導學生根據(jù)實驗錯誤提示倒推查找導致錯誤的原因。利用Zoom視頻會議軟件進行綜合案例問題的討論和交流,鼓勵學生進行大數(shù)據(jù)建模研究時多關注國內(nèi)外社會經(jīng)濟的時政問題,遵循實事求是、不信口開河的科學研究精神。針對同一個問題,不同學生解決問題的思路往往不同。通過交流演示開拓學生通過實驗實踐進行問題研究的視野,提升編程經(jīng)驗。主要教學內(nèi)容參見表1。
下面,以信用卡欺詐檢測問題及其應用,機器學習典型算法及其應用來介紹該教學模式。
信用卡支付為日常生活中常見的一種支付方式。交易中可能會存在著欺詐行為。如果可以利用機器學習完成對欺詐情況的預測,有助于發(fā)卡機構(gòu)實現(xiàn)反欺詐,保護持卡人的財產(chǎn)安全。本文利用了creditcard.arff信用卡交易文件,該文件記錄了2013年9月歐洲信用卡持有者所發(fā)生的交易記錄。該數(shù)據(jù)集的V1變量到V28變量是通過PCA主成分變換得到的數(shù)值型屬性。Amount變量是交易金額,數(shù)值型屬性。Class為標稱型屬性,取值yes表示欺詐,取值no表示不欺詐。在65569條交易記錄中僅包含3000多條欺詐記錄,即Class屬性上取值為yes個案僅有3000多條記錄。顯然,該數(shù)據(jù)集是不平衡的,欺詐這個類別(Class屬性上取值為yes的個案)僅僅占了很少比例,約0.5%。但該問題重點關注的卻恰恰是這些少數(shù)欺詐個案。因此,本文選擇J48、RandomForest、NaiveBayes、AdaBoostM1、Logistic五個分類模型對同一數(shù)據(jù)集進行機器學習建模,比較訓練結(jié)果,選擇最優(yōu)模型。讓三組學生分別采取以下三種方法進行機器學習建模,并從數(shù)據(jù)集大小和特點、驗證方法、運行速度和運行結(jié)果等四個方面比較三種方法的差異。讓學生分小組匯報自己方法的特點、編程實現(xiàn)和實驗結(jié)論,自己總結(jié)實驗后的結(jié)論。結(jié)合本問題建模思路,探討其在課程論文《利用大數(shù)據(jù)對新冠肺炎患者檢出問題》的應用方式。
方法1,隨機挑選10%的數(shù)據(jù)做訓練集,對上述模型進行十折交叉驗證。隨機抽樣10%數(shù)據(jù)后,運行速度較快。但因為是隨機抽樣,仍然是Class屬性上取值為yes的個案很少,抽樣后的數(shù)據(jù)集仍舊分布不均衡,欺詐檢出效率并沒有得到有效提高。方法2,使用全樣本數(shù)據(jù),隨機抽取70%做訓練集,剩余30%做測試集,用測試集進行分類評估。該方法對原始數(shù)據(jù)集沒有抽樣,而是利用了全部數(shù)據(jù)集訓練分類器。因此運行速度很慢,但是欺詐檢出效率得到一定程度提升。方法3,通過抽樣方法生成相對平衡數(shù)據(jù)集,即將所有Class屬性值為yes的個案進入新數(shù)據(jù)集,再在Class為no的個案中隨機抽取與yes個案數(shù)量一致的個案進入新數(shù)據(jù)集。新數(shù)據(jù)集個案數(shù)是原有數(shù)據(jù)集的10%,并且Class屬性上取值分布均勻,即Class屬性取值為yes的個案數(shù)量與取值為no的個案數(shù)量相當。對該模型進行十折交叉驗證。該種方法抽樣得到了平衡數(shù)據(jù)集,由于數(shù)據(jù)量只是原數(shù)據(jù)集的10%,運行速度得到有效提高,同時由于數(shù)據(jù)分布均衡因此欺詐檢出效果得到了較大程度提高。但是該種方法采用十折交叉驗證,且對Class為yes的個案重復抽取,因此存在過采樣風險。
在實現(xiàn)時間序列相似度距離測量算法時,分小組實現(xiàn)。一組同學實現(xiàn)王釗的《基于漲落模式的時間序列相似性度量研究》涉及的算法,用結(jié)構(gòu)化程序設計思想實現(xiàn)算法,并完成從數(shù)據(jù)采集及可視化、算法實現(xiàn)和魯棒性分析等工作。一組同學實現(xiàn)李敏的《基于LSH的時間序列DTW相似性查詢》涉及的算法,用面向?qū)ο蟮某绦蛟O計思想實現(xiàn)算法,并完成從數(shù)據(jù)采集及可視化、算法實現(xiàn)與比較分析等工作。這兩篇文獻在處理時間序列相似性度量時基本思路一致,均采用最長公共子序列算法。但是在對時間序列進行整數(shù)編碼和算法應用時卻有不同,時間序列的漲落模式對數(shù)據(jù)進行了較大平滑,基于LSH的時間序列編碼則對原始序列波動形態(tài)做了較好保留。因此在算法的魯棒性和效率方面有比較明顯區(qū)別。同學們在進行匯報演示時提到自己算法實現(xiàn)時遇到的問題,老師可以引導學生對這兩篇文獻的算法進行比較。這使學生比較直觀體會了不同程序設計方式的差異和執(zhí)行效率。學生在進行聚類分析時,不太注意數(shù)據(jù)類型、數(shù)據(jù)屬性數(shù)量和對距離方法的選擇,盲目選擇不太合適的聚類方法進行聚類分析。結(jié)合時間序列相似性度量算法實現(xiàn),可以引導學生在進行聚類分析時,如果遇到類似大批量時間序列或特征序列聚類問題時,應該如何進行機器學習算法設計。學生發(fā)現(xiàn)可以把每條序列當作個案,序列的取值當作屬性值。序列相似性度量可以測量任意兩條不同長度的序列距離,這個距離的測量可以為后續(xù)進行序列聚類分析打下基礎。在進行課堂演示和討論時,引導學生探討時間序列相似度測量在基因序列相似度測量方面的應用。
3 《Java數(shù)據(jù)科學》課程網(wǎng)絡直播教學實驗實踐模式探索
今年由于受新冠肺炎疫情影響,大學都實施了全面的網(wǎng)絡授課模式。老師通過直播平臺,如ZOOM、暢課等平臺進行直播教學,師生之間可以通過提問和回答形式一定程度進行教學互動。學生通過非直播形式網(wǎng)絡教學平臺獲取教學課件、教學視頻和學習軟件。這種教學方式對于實驗實踐型課程存在一個很大的問題,就是學生的實驗實踐環(huán)節(jié)無法很好監(jiān)控,老師無法通過屏幕獲知學生在網(wǎng)絡另一端是否在認真實驗實踐。因此必須在課程實踐模式方面進行創(chuàng)新,一是對學生的課堂實踐環(huán)節(jié)進行有效監(jiān)控,二是激發(fā)學生課后利用Java建模相應專業(yè)領域問題的興趣。因此,結(jié)合上海市創(chuàng)新創(chuàng)業(yè)項目、上海對外經(jīng)貿(mào)大學萬企大調(diào)查項目、當前社會經(jīng)濟管理領域的熱點問題及本科畢業(yè)論文基本要求,設計《Java數(shù)據(jù)科學》課程的綜合實驗實踐題目。讓學生按自身能力和興趣進行獨立或者分組綜合實驗、撰寫報告和直播答辯。學生利用課堂時間,組隊完成綜合實驗報告中與當堂教學內(nèi)容相關的實驗部分,并及時利用課堂時間進行交流匯報和演示。老師可通過直播平臺,控制學生機器,對學生的實驗問題進行直接和及時的解答。課后,學生可以充分利用QQ群討論和交流,分享數(shù)學建模和算法開發(fā)經(jīng)驗,對綜合實驗已經(jīng)實現(xiàn)部分進行組裝和測試,并及時調(diào)整后續(xù)實驗設計方向。課程結(jié)束,可以將課程綜合實驗報告精彩的演示匯報上傳教學平臺,供學生二次學習和討論。綜合實驗報告涉及社會經(jīng)濟管理問題陳述,相關問題的數(shù)學或統(tǒng)計模型構(gòu)建,算法設計和程序代碼實現(xiàn),輸出結(jié)果、測試和分析等。針對以上海市創(chuàng)新創(chuàng)業(yè)項目和上海對外經(jīng)貿(mào)大學萬企大調(diào)查項目為題的小組,要求給出項目資金使用明細。這樣,學生通過課程綜合實驗,將數(shù)學建模、算法設計和社會經(jīng)濟管理問題相結(jié),不僅提高了Java編程能力,還可以一定程度掌握項目管理和財務表格制作。
參考文獻:
[1] 張蓋倫.7大專業(yè)課程都有明確目標教育部全面推進課程思政建設[N].科技日報, 2020-06-12.
[2] 孫經(jīng)國.堅持實事求是[N].解放軍報,2019-07-31.
[3] 徐艷艷,陳廣貴.關于如何激發(fā)學生學習數(shù)學分析課興趣的幾點思考[J].高等教育研究,2014,31(1):18-20.
[4] 郝以雪,李君,謝合明.論慕課對財務管理專業(yè)教學的影響[J].高等教育研究,2015.32(1):34-36.
[5] 王文奇,劉??h,田榮燕等.利用多媒體和即時通信軟件提高教學效果[J].高等教育研究,2014,31(4):35-37.
[6] 唐明偉.信息網(wǎng)絡化條件下教師角色的轉(zhuǎn)變與教學方法的改進[J].高等教育研究,2014,31(4):38-41.
[7] 張向華,李軍.新建地方本科院校培養(yǎng)本科技術技能型人才的思考[J].高等教育研究,2015,36(1):62-64.
[8] 張曉黎.財經(jīng)院校《計算機應用基礎》教學改革探討[J].河南職業(yè)技術師范學院學報,2009(1):122-124.
[9] 王釗,湯子健.基于漲落模式的時間序列相似性度量研究[J].計算機應用研究,2017,34(3):697-701.
[10] 李敏,于長永,張峰,馬海濤,趙宇海.基于LSH的時間序列DTW相似性查詢[J].小型微型計算機系統(tǒng),2019,40(10):2155-2159.
【通聯(lián)編輯:王力】