陳蕓 李長偉
摘要:結合教育部對于地方高校轉型為應用型大學的精神,根據地方院校實際教學情況,按照數學軟件主要功能,針對不同專業,結合專業所學數學課程內容以及各專業學科研究特點,對各專業開設相關數學軟件類課程如何設置進行了探討。
關鍵詞:應用型;數學軟件;大學數學;課程設置
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)20-0107-02
開放科學(資源服務)標識碼(OSID):
1 引言
在如今高速發展的信息時代,隨著個人計算機以及智能手機、平板電腦等硬件的普及;以及互聯網的高速發展,相關的數學類軟件、編程語言等不再僅僅是理工科專業的專屬。隨著各種數學軟件、編程語言的易用性提高和廣泛普及,以及對課程教學積極的促進作用,其他專業對開設相關課程也提出了迫切需求,用以更加方便、科學高效的解決其專業問題。本文的目的是結合各種數學軟件、編程語言和各專業的特色,對如何開設合適的課程進行探討,以此促進教學內容以及課程體系的改革,達到學以致用的應用型人才培養目標。
2 數學軟件課程教育的現狀
現階段在基礎類數學課程如《高等數學》《線性代數》和《概率論與數理統計》等課程中加入各種數學軟件的使用和講解,已經有很多高校教師進行了諸多有益的嘗試并取得了較好的效果,為促進教學和增強學生動手實踐能力提供了很多經驗,例如文獻[1]。隨著社會的發展,在生產實踐中越來越多的實際問題必須通過數學知識、數學建模和現代數學軟件,三者相互結合才能得以解決。[2] 在一些和統計學相關的專業課程中,如《生物統計學》《醫學統計學》《管理統計學》《環境統計學》等課程中,因為實際問題計算量和規模較大,大多不便于手工求解,更加需要通過統計軟件來解決。
但如果無后續的進階學習,學生對于相關軟件掌握不牢,知識體系不夠完善,在面對實際問題中可能會遇到問題棘手、數據量大、缺失數據較多、數據格式不統一、數據需要進行預處理等一系列問題,不能像教科書中那樣易于處理,遇到此類問題時如何尋求解決方案需要給學生指明方向。同時授課對象是面向理工、文管等不同學科、不同專業的學生,不宜采用同樣的軟件或解決方案,需要結合各自專業特色進行相關軟件的講授。
3 相關數學軟件課程設置建議
3.1 符號運算與數值計算等科學計算類軟件
在很多高校開設的《數學建模》或《數學實驗》課程中,為鍛煉學生使用數學軟件求解數學模型解決實際問題的能力,都會涉及很多數學軟件。其中由美國MathWorks公司出品的商業數學軟件Matlab因為眾多的工具箱以及豐富的幫助文檔可以幫助用戶解決很多專業問題,可謂是多面手。對于機械設計及制造、自動化、通信等工科專業中開設該課程是非常適用的,例如其強大的Simulink仿真模塊在以后的學習或工作中可以繼續研究和使用。但是面對功能強大、種類繁多的各種工具箱,初學者在安裝時不好取舍,也容易造成體積龐大而臃腫。除Matlab軟件之外其他專業在《高等數學》或者《微積分》《線性代數》《概率論與數理統計》等通識教育課程中可結合實際選用Mathematica、Maple、MathCAD等軟件。同時沃爾夫勒姆公司開發的wolframalpha.com網站可以快速地實現繪圖、極限求解、求導、積分、矩陣和向量計算以及概率和統計相關計算等功能,除此之外作為計算知識引擎,可以根據用戶所提出的各種問題給出答案,而非像百度、Google等搜索引擎根據用戶的相關搜索而返回網頁鏈接等信息。該網站使用十分便利,并不需要特意去安裝軟件,只需一個可以訪問互聯網的終端設備,通過瀏覽器即可使用。在文獻[3]中采用移動端開源數學軟件SageMath在實踐教學中取得了良好的教學效果。但是由于Matlab、Mathematica、Maple、MathCAD等軟件需要付費,可以選Octave、Scilab等免費軟件替代,并且安裝體積較小。其中Octave是GNU項目下的開源科學計算軟件,Scilab軟件是由法國國家信息、自動化研究院開發的開源軟件。值得說明的是Octave其編程風格類似于Matlab軟件,熟悉Matlab的用戶學習Octave語言非常容易。與此同時來自麻省理工學院開發的Julia語言儼然成為科學計算領域一顆冉冉升起的新星,集眾家之所長,并且擁有高性能。Julia可望成為科學和工程計算的新一代主流編程語言。[4]
3.2 統計類軟件
在大數據時代,各個高校越來越重視統計分析類軟件的應用。首當其沖的是功能強大的SAS,它在諸多學科被廣泛應用,被譽為統計分析領域的標準軟件。但是對于初學者來說,因為要學習其編程語法,不容易入門,而且其體積龐大。目前,免費開源的R、Python等語言也越來越受到重視,體積小巧,程序簡潔易讀以及來自世界各地開發者貢獻的功能包來滿足使用者的需求。并且結合RStudio、Sublime、PyCharm、Jupyter等優秀的IDE進行高效的學習和深入研究。對于統計學、數據挖掘、機器學習、生物信息學等研究方向建議開設。對于社會科學、管理科學、醫學統計等研究方向建議開設SPSS課程,因SPSS具有友好的圖形菜單用戶界面,使用非常方便,容易掌握。也可以通過編程滿足個性化要求,實現更多自己需要的功能。類似的也有EViews、Stata 、Weka等軟件,其中EViews和Stata對于計量經濟學等相關方向結合較為緊密,而Weka更側重于數據挖掘方向,較為方便地實現數據預處理、回歸、聚類和分類、實現關聯規則和數據可視化等。質量管理統計軟件Minitab,對于質量改進以及試驗設計等方面有需求的可以了解學習該軟件。在社會科學領域,尤其是結構方程模型中經常使用Amos或者Mplus軟件。科學計算和統計類軟件種類繁多可針對不同專業或研究方向結合教學實際挑選合適的軟件進行講解。
3.3 數據挖掘類軟件
信息時代數據的爆炸增長對數據挖掘提出了更高的要求,其中Python語言以其高效、免費、易學易用等特點受到了極大的關注,它是一種解釋型、面向對象、動態數據類型的高級程序設計語言。結合Anaconda環境管理軟件,使得Python語言更加容易安裝和配置。使用Jupyter、Visual Studio Code 、PyCharm等優秀的IDE,以及豐富的工具包資源,可以實現Web開發、科學計算、統計與分析、數據可視化、數據挖掘、機器學習等諸多功能。同時免費的R語言和Weka等軟件也有類似的功能和廣泛的用戶群。同時商業數據挖掘軟件SPSS Modeler也有不俗的表現。
3.4可視化類軟件
隨著大數據時代的到來,數據可視化的應用越來越廣泛,無論在商業領域還是經濟、科學等領域為了便于將數據分析的結果更加直觀地呈現出來,并進行人機交互,幫助用戶更加容易地查看和了解信息,從而快速、準確的做出決策,這些都對數據可視化提出了迫切的需求。其中Tableau、PowerBI等商業智能軟件在此領域有著廣泛的用武之地。通過用戶的組合和修改,可以實現諸多的可視化效果,建議經管類專業開設相關課程。同時D3.js以及來自百度公司的ECharts,都是利用JavaScript實現的開源可視化庫,可進行高度個性化定制。建議有較強編程能力的專業如計算機等開設此類課程。在R語言中使用ggplot2等軟件包,Python語言結合matplotlib等軟件包在可視化方面也有廣泛的應用。除此之外,在R語言和Python語言中還有更多的可視化相關軟件包值得學習和嘗試。
3.5優化類軟件
雖然功能強大的Matlab可以很好地解決優化類問題,但是Lingo軟件相比Matlab軟件體積更加小巧,在求解線性、非線性和整數最優化模型時更快,更有效率,并且Lingo軟件的建模語言,可簡便的求解大規模優化問題。對于開設運籌學等優化類課程的專業建議開設此軟件。同時Matlab除了自己本身的優化工具箱外,還可以結合Cplex、YAMLIP實現求解優化問題等。值得注意的是,有關使用Julia進行優化模型求解的研究也與日俱增。
3.6論文排版軟件
科技論文寫作能力是大學生急需提高的方面。在編寫數學公式時可使用Microsoft word軟件結合MathType進行數學公式撰寫,簡單易用,在文獻[5]中表明采用MathType軟件的教學效果遠優于傳統講授,學生能夠在很短的時間內即可掌握。但是在科學研究領域,如發表論文,撰寫報告等有時需要使用LaTeX軟件進行排版與寫作,與Microsoft word軟件所見即所得不同的是LaTeX的設計思想是所見即所思。掌握LaTeX需要花費一點時間熟悉其寫作方式,但是使用LaTeX寫出的數學論文非常美觀。而且ShareLaTeX、Overleaf等網站(目前ShareLaTeX、Overleaf兩個網站已經合并)支持在線寫作LaTeX文檔。也有另一個可進行高效寫作的標記語言Markdown,通過簡單易用的語法就可以使文本擁有一定的格式,讓用戶專注于寫作。最驚喜的是可以實現LaTeX數學公式的效果。支持Markdown語法的編輯軟件有Typora、MarkdownPad等,它們相比LaTeX的相關軟件更加小巧,也易于安裝和配置。R、Python語言結合相關IDE也支持Markdown語法,如使用R Markdown包可以撰寫和發布精美的文檔或報告。在論文寫作或報告中,也有使用Origin、SigmaPlot軟件進行科學繪圖。動態數學軟件GeoGebra在制作各類數學動畫方面十分方便,如果專業方向有此需求也可根據實際情況開設課程講解。
4 結束語
在授課過程中,往往受到課時的限制。一方面要完成相關理論的講解和學習,一方面要介紹相關的軟件操作或者編程等知識,二者此消彼長,在有限的課時內想達到兩全其美的效果往往不盡如人意。可指導學生自主學習,積極探索。鼓勵優秀學生參加相關比賽來熟練應用軟件,提高利用所學理論知識解決實際問題的能力。例如可參加數學建模相關比賽,如中國大學生數學建模比賽,全國大學生電工數學建模競賽等。統計類比賽有全國大學生統計建模大賽等。數據可視化比賽有數據可視分析挑戰賽,Tableau可視化分析爭霸賽等。數據挖掘比賽有泰迪杯數據挖掘挑戰賽等。同時Kaggle、阿里天池、DataCastle、科賽等平臺提供了更多的數據挖掘、數據分析、機器學習等各種類型的比賽,也有來自公司直接組織的比賽如騰訊廣告算法大賽等。這些比賽的題目很多都是來自生產實踐,或者業界亟待解決的問題。通過參賽可極大的鍛煉選手的動手實踐能力,甚至有的還可以獲得豐厚的物質獎勵。
實現應用型人才培養與創新教育任重道遠,加強理論與實際應用的聯系是每一位教育工作者一直孜孜以求的。在高校數學相關教學中,理論聯系實際的需求十分迫切,而相關的軟件可以將理論與實踐有機地結合在一起,起到橋梁作用。由于市場上的軟件種類繁多,可實現的功能大多有交集,有的時候無法說清孰優孰劣,并且更新迭代快速,與此同時新軟件、新語言層出不窮,有時會造成選擇困難,在課程設置中應注意到這一問題,可讓學習者結合實際熟悉其中一種后,觸類旁通,再接觸其他軟件,進行學習、對比,最后選擇適合自己的。
參考文獻:
[1] 彭司萍, 楊萍. 探索大學數學教育中數學軟件應用能力培養的新方法[J]. 大學數學, 2010, 26(s1):115-117.
[2] 王海英. 數學知識、數學建模、現代數學軟件關系與結合途經的探討[J]. 中國地質教育, 2011, 20(1):95-97.
[3] 王叔洋, 楊藝. 移動端開源數學軟件在電子實踐教學中的應用[J]. 高教學刊, 2018, No.88(16):106-108+111.
[4] 王宏琳. 新一代編程語言Julia[J]. 石油工業計算機應用, 2016(2):8-11.
[5] 曹海鵬, 何珊, 邵露,等. 運用數學軟件開展高校數學基礎課程改革初探[J]. 教育教學論壇, 2017(44).
【通聯編輯:王力】