馮艷紅
(河北地質大學信息工程學院 河北·石家莊 050031)
數據科學與大數據技術是以大數據、信息技術等為依托,適應現代經濟社會發展需要的新興專業。該專業突出培養具有大數據分析能力的面向社會的數據分析與決策專門人才。R語言是現今最受歡迎的數據分析和可視化軟件之一,目前越來越多的人員在使用R來分析數據,因此,《R語言程序設計》在大數據分析和科研中具有舉足輕重的作用,對于培養學生基于統計與優化的數據分析能力大有裨益。
R語言程序設計是我校數據科學與大數據專業大學三年級第一學期的專業核心課程,課程包含32學時的理論教學和24學時的實踐教學。主要知識點包括:數據集基本操作,基本數據管理,高級數據管理,數據可視化,基本統計分析,回歸,方差分析,時間序列,聚類分析等。
R語言是一款自由、免費的開源軟件,其特點是語法簡單,所有的R函數和數據集都保存在程序包中,只要有一定的編程基礎,就可以很容易上手,因此,教師在授課過程中的主要任務不僅僅是講授基礎知識,更重要的是將前沿的知識融入教學,將教師的科研內容貫穿教學,將實際工程應用匯入教學,形成科研教學的深度融合。
科研能力是高校教師必須具備的能力,本科生科研能力的培養是高校的重要任務之一,也是我校“仰山慕水”新生培育計劃的重要組成部分。針對我國提出的建設“創新型”國家的戰略任務,本科創新人才培養不僅需要基礎知識學習,更需要加強科研素質和綜合能力的培養。由于本科生的思維還未受到各種理論的束縛和限制,創新型人才培養最重要的環節是本科階段的教育。
在該階段,基于學校“仰山慕水”培育計劃,主要分為三步走:(1)課程開始階段,邀請領域內的成功人士為學生做報告,特別是與學生專業緊密相關的、有行業背景的企業精英,使學生對整個數據科學與大數據行業有一個全面、客觀的了解。(2)教學過程中,邀請優秀的碩士研究生或者博士研究生,介紹一些與課程相關的科學技術或者與專業相關的最新科研成果,由此激發學生的科研興趣和科研意識。同時,授課教師也需要實時的把自己的科研問題引入到課堂中,引起學生對求解問題的探索與興趣,鼓勵感興趣的學生參與到自己的科研團隊。此外,授課過程也可以邀請課程組或者其他相關學院的教師講授與R語言相關的工作,打破傳統教學中“一門課程由一位教師講授”的固有模式。(3)課程結束時,讓學生提交一篇與課程內容相關的小論文并在課堂上進行介紹,由此鍛煉其信息獲取能力,創造能力、寫作與表述能力等。這個過程,學生首先需要確定研究問題,然后到網上查閱學術論文,之后要獲取數據,分析數據,數據的可視化,最后給出結論。
實踐教學是培養學生實踐動手能力、創新能力以及分析判斷和決策能力,將理論與實際結合的重要環節,所以,實驗的內容和實驗的方式非常重要。探索并研究針對不同層次的學生,設計多種實驗組合,包括“層次化”實驗內容體系,提供“菜單式”自選內容,讓學生在自己的能力范圍內完成各自任務,不僅能起到加強理論知識理解的作用,還能增強學生的自信心,使其有成就感,從而激發學生熱情。
在該階段,一部分有能力的學生可以參與到導師的科研活動中,或者學生根據自己感興趣的內容,自己尋找研究課題,并在導師指導下進行。《R語言程序設計》課程開設于三年級的第一學期,此時學生已經有了專業基礎,又逐漸增加了專業知識,因此可以開始正式進入創新與科研環節。這樣一個循序漸進的過程,使學生在畢業設計階段,能夠從事自己感興趣的研究方向,從而具有創新能力、實踐能力、科學素養和人文情懷的創新型人才。
課程的考核方式主要分為兩部分:課程設計及小論文撰寫部分(40%)、筆試部分(60%)。從學生最終提交的小論文來看,學生對于這種模式積極性比較高,任務布置之后,積極尋找問題,查閱資料,很多學生的研究內容,分析方法,統計指標,圖形展示等都是自學完成。此外,鼓勵學生用英文撰寫科技論文,少部分學生撰寫了英文論文。此外,筆試部分的考試采用河北省大學生思政教育平臺進行,考試題目從題庫里隨機抽題,考試方式更加公平。
在課程結束時,要求學生完成一篇課程論文,基本思路是利用R語言完成數據的獲取,數據的統計分析,數據的可視化。在數據獲取階段,學生可以直接使用R自帶的數據集,也可以使用R語言從網上獲取數據,部分課程論文的信息如表1所示:

表1:《R語言程序設計》課程論文信息
由表1可知:學生的科研素養得以提升,數據分析能力得以體現,學生的自主學習,創新能力得到開發,所使用的數據分析方法不僅涵蓋了課堂講授的內容,而且主動探索未知,用以求解問題。
此外,學生積極參與到教師的科研工作中,利用R的繪圖功能,繪制部分科研圖形包括:
圖1數據來源于教師的科研項目,利用四種群體算法求解多維背包問題的箱線圖。圖2的星圖則以數據科學與大數據專業的學生為研究個體,對每位學生的總體情況設計構圖并進行分析。圖3是對金融數據進行分析,抓取2019年3月-2020年2月蘋果公司、英特爾公司、微軟公司的股票數據。

圖1:四種算法求解多維背包問題(MKP)箱線圖

圖2:學習成績星型圖

圖3:英特爾公司股票收盤價格波動曲線
通過本次課程小論文的撰寫,學生不僅掌握了多種實用軟件,包括Mathtype,Endnote等,而且初步了解了科技論文寫作的規范,掌握了文獻檢索技術。
《R語言程序設計》課程首次在我校數據科學與大數據專業開設,作為一門程序設計語言課程,我們打破傳統的程序設計語言類教學方法,輕語法,重實踐。同時,在授課過程中,邀請資深數據分析師為學生作報告,使學生對數據科學的相關行業有個初步認識。在今后的教學中,擬將機器學習的相關內容融入到課程的教學中,將科研內容融入到課程教學,激發學生應用R語言求解實際問題的熱情,使學生能夠在未來的學習以及工作中,能夠應用R語言進行高效的數據分析。