Re: [心得] 台大/資工/哲學/學習心得

看板SENIORHIGH作者 (麥子)時間8年前 (2016/05/15 01:26), 編輯推噓12(1202)
留言14則, 13人參與, 最新討論串2/5 (看更多)
接著來寫資工系的部份。 因為我也只有讀過台大的資工系,而且是在 2000 年左右就讀的, 所以原則上我所講述的狀況,是在 2000 年之後幾年內,我對台大資工的理解。 不能代表其它學校的資工系,也不能代表現在的台大資工系,而且只是我的個人看法。 不過,雖然資工的熱門領域一直在變化,且不斷有新的發展,但大致上涵蓋的範圍, 我認為並沒有太多的變動,只是因應著整個產業的變化,在課程安排上會不斷調整。 課程 在略為參考先前板上對資工系的介紹文以後,我想我可以大致沿用類似的架構, 提出我對各個項目的看法。而課程的內容,或者更簡白地說,資工系教什麼, 確實應該擺在介紹這個系的首位。畢竟一個系某種程度而言,是被其核心課程所定義。 但基本上不太可能一門一門介紹資工系的必修課與選修課,可能不得不粗略分類以後, 大致講一下各類課程在教的東西。但如果要分類資工系的課程,其實也不容易。 一方面是資工本來就是一個相對非常應用的科系,因此很多課程都是綜合的知識。 另一方面,分類也有很多不同的分法,不管用哪一種方式去分,好像都會漏掉一些東西。 第一種分類方式以科目的本質去分類,大致上可以分成數學與科學(理科)與工程(工科), 前者會偏向理論或觀察的結果,而後者則是偏向將既有的知識用於解決特定的問題。 前者例如: 線性代數:我自己學得不好,沒真的弄得很懂過,主要跟矩陣運算相關。 離散數學:我也學得不好,主要和集合論相關。 機率統計:就是字面上的機率與統計的課程。 自動機與形式語言、計算理論: 討論「計算」的數學模型,討論什麼是「計算」的定義, 什麼樣的問題可以「計算」,什麼的問題不行。 圖論:我沒修過,主要是研究由頂點與邊組成的「圖」的一些特性。 大部份是數學課程。數位電子學的前面講解半導體特性的部份,可能也可以算在內。 但由於理科部份,相對離應用的領域比較遠,比較常被當作相關應用科目的先修課程。 如果要以這些理科的科目為主要的專業領域,後續的職涯發展可能會偏向學術研究。 *數位電子學:算是電子學的一個分支,主要探討數位應用領域的電子學, 也就是如何建構處理數位訊號的電子元件。 而工科的科目相對就五花八門。比較基礎的是一些基本的程式設計課程, 例如: 組合語言:僅比機器語言高階一點,以最基本的指令寫程式。 計算機程式設計:基本的程式設計課程,通常以 C/C++/Java 等常見語言入門。 物件導向程式設計:呃... 就是,物件導向的程式怎麼寫。 演算法與資料結構:簡單講就是介紹如何設計有效率的程式。 這部份的課程在講述程式設計的基本概念。 而系統方面的課程,主要的有: 計算機結構:怎麼樣用基本的電路元件組出一台可執行程式的電腦。 作業系統:怎麼樣管理與分配電腦的硬體資源,來執行程式。 編譯器:怎麼樣將寫給人看的程式碼,轉換成寫給電腦看的機器語言。 簡言之,編譯器將程式編譯,轉換成可執行檔,然後由作業系統分配資源給可執行檔, 最後在硬體上執行。對系統的知識,可以視為是對應用程式開發的基礎課程, 但系統的設計本身,也是一門應用的知識,也有不少人的專業領域, 是在開發與改進上述的系統。 再更上層一點的科目,則大致上包括各種不同的應用領域, 這部份常與教授的專業有關。學校教授有哪些專業,可能就會開跟自身專業相關的課程。 與影像相關的例如: 圖學:用電腦把圖畫出來,例如卡通化與 3D 繪圖等等。 電腦視覺:用電腦看影像,從影像中擷取有用的資訊。 人工智慧相關的例如: 人工智慧:我當時學的是比較舊的概念,比如教電腦怎麼玩遊戲或下棋。 機器學習、機器發明、類神經網路: 如何讓電腦從既有的資料中學習特定的知識。 還有通訊網路相關的課程,包括網路的基本運作方式,網路如何進行最佳化等等。 資料庫相關課程,講述資料庫系統的特殊需求,以及軟硬體設計上如何最佳化。 平行計算相關課程,如何撰寫平行化的程式,如何減少相依性,如何減少通訊量等等。 以電腦運作的軟體幾乎都可以包含在內。但除了必修課以外, 有沒有教授開相關的選修課,則常是以教授們的專業為主。 不過基本上相對比較熱門的領域,各校應該都有開課,不太需要擔心上不到相關課程。 工科的部份如果再作一些分類,可以藉由探討的對象,由底層往上層分類。 最底層的課程可能是數位邏輯設計和超大型積體電路,主要是教怎麼用簡單的邏輯閘, 建構出一個大型且功能複雜的電路。再往上一點是計算機組織或計算機結構, 主要是教怎麼樣透過各種不同功能的電路元件,組合成可以執行複雜程式的硬體系統。 再往上則是作業系統、資料庫等系統軟體,主要是教怎麼樣分配硬體的資源, 讓軟體可以更有效率地利用硬體資源。再往上則是編譯器,上面有提過了。 再往上則是基礎的程式設計課程,前面也提過了。再往上就是各式的應用領域。 基本上多數的課程都會有一些基礎的課,也會有一些相對進階的課, 因此在修完基礎的課程後,如果對該領域有興趣,通常會有分支更細的進階課程可以學。 除了必修課以外,要開什麼課通常都是教授自行決定的。因此有時候有開,有時候沒開。 但我認為不必太過擔心自己想要修的課程沒有教授開,或者因故修不到。 基本上現在線上的開放課程很多,資訊流通也很發達,如果真的自己系沒有開, 通常也都找得到相關的資訊來自修。介紹課程主要是想要讓大家感受一下, 資工系到底在學什麼,以及資工領域現在有哪些常見的應用。 因為今天寫得有點累了,暫時先在這邊打住,接下來我會寫我個人的修課心得, 也包括為什麼我認為不用太執著於修特定一門課。 同樣地,如果上述的內容有誤或有缺漏,也請大家不吝指正。謝謝。 -- 我實實在在的告訴你們,一粒麥子不落在地裡死了, 仍舊是一粒,若是死了,就結出許多子粒來。 約翰福音 12:24 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.254.236 ※ 文章網址: https://www.ptt.cc/bbs/SENIORHIGH/M.1463246797.A.E30.html

05/15 01:45, , 1F
05/15 01:45, 1F

05/15 02:02, , 2F
推詳細
05/15 02:02, 2F

05/15 03:05, , 3F
推詳細
05/15 03:05, 3F

05/15 08:03, , 4F
05/15 08:03, 4F

05/15 08:51, , 5F
資工人推個
05/15 08:51, 5F

05/15 10:24, , 6F
05/15 10:24, 6F

05/15 12:49, , 7F
05/15 12:49, 7F

05/15 15:41, , 8F
推詳細
05/15 15:41, 8F

05/15 17:09, , 9F
)
05/15 17:09, 9F

05/15 22:36, , 10F
05/15 22:36, 10F

05/16 00:07, , 11F
05/16 00:07, 11F

05/16 14:01, , 12F
推 期待哲學
05/16 14:01, 12F

05/16 14:13, , 13F
補推
05/16 14:13, 13F

05/19 13:59, , 14F
05/19 13:59, 14F
文章代碼(AID): #1NDr_Dum (SENIORHIGH)
文章代碼(AID): #1NDr_Dum (SENIORHIGH)