數學系學什麼?跟資訊科技有啥關係? | 郭譽申

大學裡,數學系是較冷門的科系,資訊系則很熱門,但兩者有些關聯。不只一次,有高中生或其家長問我,想學資訊科技,但是資訊系入學門檻較高,是否可以先唸數學系,未來再轉學資訊科技?本文回答這個問題。

首先要說數學系學什麼。中學生就學不少數學,大學理工科系還要學一些數學,那數學系學的數學有何不同?簡單說,中學和大學的非數學系多半在學數學知識和解決數學問題的方法,不強調這些方法背後的原理;數學系則要學這些背後的原理,為何解題方法能解決數學問題?推導並「證明」這解題方法確能解決數學問題

「證明」是什麼?「證明」是從已知一步一步詳盡推導到結論的過程。而數學體系就是從「定義」、「公理」這些已知,逐步地推導證明出各種的結論,被稱為「定理」。因為「證明」有嚴格的邏輯推理,數學是絕對真理;「定義」、「公理」有可能不符合真實世界;若「定義」、「公理」符合真實世界,則真實世界必然呈現「定理」的結論。

中學生的數學有學一點點「證明」,大學的數學系幾乎全在學「證明」,這是很大的不同。若您是高中生,喜歡並且搞得懂高中數學裡的那些證明,您很適合唸數學系;反之,您唸數學系就會很辛苦。數學系與一般理工科系很不同,後者需要做實驗,數學系幾乎不做實驗,完全專注在邏輯推理的思考。

資訊科技大致分成硬體和軟體兩部份,教硬體技術的是電機系、電子系等;教軟體技術的則是資訊科系,而軟體技術主要是電腦程式的開發。

電腦程式由很多電腦指令組成,撰寫電腦程式有點像寫文章,但是需要每一步驟都非常精確以達成期待的結果。撰寫電腦程式也有些像推導證明數學定理,每一步驟都含有邏輯和運算,最後產生期待的結果。因此唸數學系,擅長數學證明,是有助於程式開發的。

程式要對不同的輸入都能產生期待的輸出結果。但是各種可能的輸入數量非常大,不可能全部進行測試實驗,那如何能保證程式對各種輸入都能產生期待的輸出結果?除了多進行測試實驗,厲害的程式設計師能夠大致「證明」其程式產生期待的輸出結果,就像數家證明數學定理一樣。

以上說明程式與數學證明的相似部份,兩者的不同在於數學證明較抽象(是其難處),而程式很具體,常包含很多細節;此外,數學證明幾乎不做實驗,而程式需要大量測試實驗,因此程式開發需要細心和耐心

以上說的是數學的本質,有些數學系(或許名為應用數學系)除了數學課程,也有一些程式課程,使其學生主修數學證明,而副修程式開發。這類的數學系當然有助於學生未來轉學資訊科技(要數學、程式兩者兼顧,學生難免比較辛苦)。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s