大學端資工或是資管跟純粹數學比較相關的就是離散數學,線性代數,機率,統計學。
其他如計算機概論,系統程式,資料結構還有很多專業科目也都會用到高中的基礎數學部分。
但是不會出現高中數學那種奇怪的應用題目,重點是在基礎運算部分。
排列組合、行列式、矩陣運算(高中現在有教矩陣嗎?)
不過如過讀資工的目的是希望走「大數據」這條路...
還是選數學、物理、經濟...這類比較會接觸到「統計學」的科系比較恰當。
大數據=在分散式系統上作數值分析與統計。
目前相關科系就讀中,各個領域都略有涉獵,提供一些我目前為止的經驗讓你參考:
最一般的程式設計,注重的是邏輯,比較不會用到大部分數學領域的知識,
如果有,那也會是從題目的方向引入(例如題目要求算面積之類),不會是程式設計本身需要。
一直到了資料結構與演算法領域,就會需要用到一些方法去分析各個操作所需的時間(例如 Big-O 分析),這方面可能會需要用到數學中對函數的使用、極限的計算、多項式的操作等。或是有的資料結構或演算法本身的設計就利用到數學(例如 hash function 的設計方式、隨機演算法)等,可能會需要用到模運算、排列組合等方面的知識。大學會把這些東西放在離散數學這門課程中去教,但他的範圍廣、內容雜,對應了許多高中數學的領域,如:函數、排列組合、機率、微積分等。
而如果你想學習資料科學、機器學習等課程,會需要用到統計學、機率、微積分、線性代數等方面的知識。如果你想學習密碼學,會需要用到模運算、微積分、代數等方面的知識。其他領域可能也有各自需要的數學知識,但我比較不熟就不一一列舉。
現在回顧高中數學課程,我認為唯一幾個資訊相關科系學生可以放掉的領域,應該就是複數相關的課程,就我所知電機系比較有機會用到這方面的知識(但也可能是我見識狹窄,煩請各位補充),以及空間座標、圓等方面的課程(但這些知識還是可能從題目的方向引入)。而在資訊相關的各領域中,可能多多少少都會用到數學,雖然頻率不一定很高,但都會運用在相當重要的地方。例如在設計一個系統時,可能會需要一個滿足各種限制(時間、空間)又能達到特定目的的演算法,這時候數學越好的人,設計出來的演算法可能就越符合需求。而這個演算法可能只是整個系統中小小的一環,但卻大大影響了整個系統的運行效率。
當然演算法可以用別人的,模型可以用別人的,不管寫什麼程式,可能都可以繞過這些需要數學領域知識的部分,而不需要自己發明東西。就我所知我有許多朋友在工作時也幾乎沒有用到任何數學知識。但我認為數學知識會很大程度影響一個學生做研究的能力。就像寫機器學習時,有很多別人做好的套件,讓人就算不知道其中原理也可以直接使用,但如果沒有相關的數學知識,就很難自己研究出現有問題的解法或新的方法。
結論:你永遠不知道你什麼時候會用到數學。建議你能學就全部好好學。