打算參加數模學術活動,但是沒有什么經驗,想知道如果負責編程的話,需要怎樣學習?需要掌握哪些知識和技能?具體應該怎樣做呢?
先理一理每個參賽隊需要掌握的計算機技能,至于哪些由“負責編程的同學”承擔,這屬于隊內分工問題,顯然每個隊情況都不一樣,協調好就可以了。之前在?其他回答?中提到過這部分內容,限于篇幅,比較簡略。下面按照重要程度稍微詳細地介紹一下。
要求:
數學符號和公式。正確排版數學符號和公式,特別是行內公式要規范。
圖、表。能夠插入圖、表,其編號、標題位置符合規范。
參考文獻。元信息準確,按指定樣式生成參考文獻列表,正文中的引用準確。
編號、交叉索引。目錄、公式、圖、表、參考文獻的編號和交叉索引準確規范。
所用軟件主要是兩大類,以MS Word為代表的所見即所得類編輯軟件,和LaTeX。
功能:兩類軟件理論上都可以用于排版學術活動論文,但是工作方式完全不同。
學習成本:很多人認為LaTeX的學習成本遠高于Word,其實不然。相當一部分Word用戶所謂“會用Word”,實際上只會三板斧:輸入文字,調整字體,調整字號。完全沒有樣式表,自動編號,交叉索引的概念,文章的目錄都無法自動生成,一切都要靠蠻力。如果這樣也算是“會用”,那LaTeX更容易。我個人的觀點,就學術活動論文排版而言,Word和LaTeX的學習成本相當,或許LaTeX還簡單些。
效率:其他事情不好說,但在學術活動論文排版方面,Word的“能用”和LaTeX的“好用”完全沒有可比性。
無論哪種軟件,會用的標準都是一樣的,那就是要能按上面的要求正確的排版學術活動論文。賽前一定要實際排版過2到3篇以上的論文,不能相當然的認為自己會用。
個人的建議:
理工科的同學,特別是數學、物理、計算機等專業,花一點時間學習LaTeX是非常值得的投資。
但是,如果Word類的軟件已經用的很熟,賽前準備時間很緊張,就不需要專門再學LaTeX。在符合學術活動論文要求的前提下,決定論文獎項的最主要因素是論文的內容,而不是所用的軟件。
要求:
掌握表格的排版方法,格式要求和習慣
了解常用圖形的特點和適用場合,掌握其繪制方法,以及排版要求
學術活動論文少不了圖和表,合適的圖、表可以向讀者簡潔、準確傳達信息。
Word制表功能較直觀,一般操作不會有問題,關鍵是要設計表格的內容。而LaTeX排版常見樣式的表格很容易,但是排版非標準復雜表格的方式不直觀,容易出錯?;蛘咴谫惽岸嗑毩?,或者放棄使用特別復雜的表格。
學術活動論文中經常需要繪制的圖形大體可以分為三類。
數據圖。直方圖、散點圖、折線圖、函數圖像等。常見的高級程序語言都能繪制這些圖形。或者是將數據導出后利用專門的繪圖軟件繪制。Excel畫出來的圖形也不錯。
流程圖。一般用于描述算法流程,系統框架等。相關軟件很多,賽前選一個,簡單練習即可,比如?draw.io.
示意圖,包括各種受力分析圖、內部結構圖等。這一類圖形相對用的少些,也沒有特別合適的軟件推薦。LaTeX的?TikZ/PGF?包完全可以勝任,但是對多數人來說過于繁瑣,學習成本較高。?GeoGebra?是一個免費的幾何作圖軟件,繪制幾何圖形時可以考慮。
要求:
掌握搜索引擎的使用方法(搜索語法,如filetype, site, 雙引號等)
不要使用百度
掌握論文全文數據庫的訪問權限和使用方法
其他數據源(聯合國數據庫,世界銀行數據庫等)
建議:
搜索引擎的用法請查閱?Google Search Tips & Tricks
無論題目是中文還是英文,都要重視查閱英文的文獻。
建議學習至少一種文獻管理軟件,以提高效率,比如?Mendeley.
以上幾個方面主要是與寫作有關,而編程能力是計算能力的核心。最關鍵的是設計算法的能力以及根據算法寫代碼的能力。
要求:
至少能夠熟練使用一種高級語言。
熟悉常見的數據結構和算法
純文本文件讀取、處理
常見的數值計算方法
Lingo等求解優化問題的專業軟件(選修)
常用的圖論算法(選修)
計算機仿真(選修)
數字圖像(選修。基本概念,讀取,簡單加工)
建議:
目前主流的高級語言功能都比較完整,只要熟練,任何一種都可以。如果一定要推薦一種,可以考慮Python。
無論用哪種語言,純文本文件總是可以讀寫的??梢岳眉兾谋疚募鳛槌绦蜉斎搿⑤敵鰯祿闹薪?。
插值、擬合、解方程(組)這些常見的數值計算任務,盡量用現成的軟件包或者函數。
優化問題經常出現,如果已經掌握Matlab、Python等通用語言,不見得一定要學Lingo。但是對于大規模的問題,Lingo的性能最好。
與圖、網絡有關的賽題比較多,賽前可以熟悉一下常用的算法。但是不一定要逐個編程實現,關鍵是將算法轉化為代碼的能力。
美國賽的題目經常需要用到計算機仿真。一般沒有現成的軟件能夠直接用,需要自己編程。賽前準備,有備無患。
全國賽中有一些題目與圖像處理有關,但是總量不多,美國賽中則非常少。了解一些數字圖像處理的基本概念,在選題的時候會有更大的靈活性。
選修項目
純文本文件編輯器。如果只會用notepad,效率就太低了。相關的軟件非常多,可以參考維基百科?文件編輯器比較?這個頁面。最主要的功能包括代碼高亮、文本比較、正則表達式搜索、編碼轉換、 換行轉換、自動縮進、自動補齊、代碼折疊、列塊等。
正則表達式。清理數據的時候特別有用。
版本控制軟件。程序備份、多人合作。
如何學、如何做
上面每一個必修的項目,都要投入一定的時間才能達到得心應手的程度。沒有特別好的捷徑。內容比較多,比較泛,相關的資料、教材也不集中,早點動手。隊員之間也可以合理分工,提高效率。
賽前可以自己評估一下。自評的方法非常簡單,選同一道題目的多篇優秀論文,看看能不能搜索到合適的文獻資料,能不能找到數據,別人論文中比較好的圖,能不能畫出來,別人用的方法,自己會不會編程,等等。
針對數學建模編程基礎薄弱的學生來說,參加數維杯夏令營可以快速提升建模能力,數維杯夏令營邀請全國數學建模領域知名教授針對數學編程方面的學員進行一對一指導,團隊報名獲獎率更高。
針對編程較差同學,老師會把國賽中出現較多的建模類型詳細講解,比如預測類、優化類等問題怎樣進行編程、建模、論文寫作,最后會結合歷年國賽來為大家一對一實戰練習。
現如今在大數據時代下,數據無處不在,為了滿足社會日益增長的人才需求,培養出符合企業要求的專業人才,本屆數維杯夏令營結合自身在數學建模行業的多年經驗與積累的資源,特面向學員增加了大數據分析與挖掘課程主題,使學員能夠深入了解當下大數據分析與挖掘技術在當代各種產品中的應用,掌握該領域最關鍵的技術原理,為學員科研和項目開發工作打下堅實的基礎,本次夏令營將于2019年8月8日至8月17日在西安舉行,由數模樂園承辦。
最后提醒參加過ACM的同學,數模學術活動對計算機技能的要求與ACM是不一樣的,雖然可能確實是編程高手,但不要想當然認為一定可以應對數模學術活動的編程要求。賽前要對照一下以上的清單,以參賽隊為單位,查漏補缺。

? 2025. All Rights Reserved. 滬ICP備2023009024號-1