【系所簡介】什麼是資訊工程系? 簡介資訊工程學系在念什麼


Recommended Posts

想寫這篇文章很久了,終於熬到大四,修完大部分資工課程,應該有資格來寫一下。

資訊工程這個科系,國外稱為電腦科學(Computer Science),應用領域不難想像,但大眾對他卻有不少誤解。

本文的重點放在,對資工所學做一個具體的描述,給想念資工的人一個參考。

我會試圖讓你瞭解,資訊工程所探討的,與你是否對電腦科學有興趣。

聲明:Computer Science 博大精深,我所學僅蒼海一隅,若有謬誤,誠請不吝指正。

不歡迎全文轉載,但歡迎使用深藍 Facebook, Plurk, Twitter 方式轉載以協助深藍宣傳

一、電腦科學是什麼

這個主題太嚴肅,也太崇高,我想,即使我有幸唸完博班也不好隨便回答這個問題。
於是,我摘錄了維基百科上對於 Computer Science 的說明,稍微修改了一下:
「電腦科學(Computer Science, CS) 是對於資訊與計算的理論基礎以及它們在電腦系統中如何實作與應用的實用技術的學問。」
「電腦科學研究的課題是:
 電腦程式能做什麼和不能做什麼(可計算性理論)
 如何使程式更高效的執行特定任務(演算法和複雜性理論)
 程式如何存取不同型別的資料(資料結構和資料庫)
 程式如何顯得更具有智慧(人工智慧)
 人類如何與程式溝通(人機互動和人機介面)」
當然,現在的電腦科學已經遠遠超過上述涵蓋的範圍
其中包括生醫工程(應用在醫學上,研究腦波或者醫療影像) 嵌入式系統、電腦網路、個人通訊、車載網路等等。
簡單來說,個人覺得 「現在能用電腦解決的,以及未來只能用電腦解決的問題都可以算是資訊工程的範疇」

二、資訊工程學系到底在學什麼

每個學校所學的都不盡相同,但其實又大體不差,我舉交大資工系為例,列主重要的必修科目,稍作解釋。
1. 概論課程
  • 計算機網路概論
     
    阿就網路概論,介紹一下網路有幾層,各層在幹嘛,TCP、UDP 分別的詳細機制等等。
  • 計算機科學概論
     
    是所有資訊相關科系都會學習的基礎概論是廢話課程,系上的用心我們可以體會
     
    但以一個大一剛入學的學生而言,若從未接觸過電腦,連程式都不會寫,你就要他寫組語
     
    連電腦硬體長什麼樣子都沒看過,你就要他想像逢紐曼架構,實在是強人所難。
     
    但說實在,這門課相當簡單,他只是簡要的概述電腦科學所涵蓋的領域,每個領域簡單介紹一下
     
    而未來的四年,每個領域你都會有各別的必修課程。 
  • 程式語言 (Programming Languages, PL)
     
    這門課會簡單介紹一下程式語言的分類,有編譯式、直譯式
     
    再簡介一下 Context Free Language 是什麼東西。這門課你可以當作程式語言概論。
     
2. 實作相關課程
  • 計算機概論與程式設計、物件導向程式設計(Object-oriented Programming, OOP)
     
    這兩門應是一學年的課程。前者帶領一個學生進入程式設計的殿堂,後者是帶你進入程式設計的深淵XD
     
    前者一般是學習 C 語言(資工系通常如此,但電機系通常唯一的程式設計都是 C++)
     
    從最基本的 sort(排序) 開始教起,而期末的作業,可能會要你寫一個有圖案的老鼠走迷宮遊戲。
     
    後者交大資工分兩派,一派教 C++,一派教 Java。我是學 C++,但學得不好。
     
    C++ 教得很深入,C++ Primer 這本書的內容幾乎都會涵蓋到。 
  • 組合語言與系統程式
     
    組合語言這門課就是在教組合語言。好像沒什麼好說的。
  • 資料庫系統概論
     
    講一些資料庫系統的理論,不過重點是要你寫一個專題,題目大概是看流行什麼就寫什麼
     
    以今年來說,可能會叫你寫一個類似 Facebook 的網站。 
  • 微處理機系統實驗
     
    這門課會丟給你一顆 8051 CPU,你要寫一些組語陪他玩。
     
3. 計算機核心課程
 
  • 作業系統概論
     
    這門課是研究所考科。他絕對不是教你怎麼操作 Windows/Uinx-like 之類的作業系統。
     
    他會從作業系統底層各元件分部分開始介紹。介紹 OS 是怎麼安排 muti-task 的優先度
     
    介紹檔案系統,介紹記憶體管理與虛擬記憶體機制等等。
     
    甚至,某些比較變態的教授甚至會叫你從無到有寫一個小作業系統。 
  • 數位電路設計、數位電路實驗
     
    數位電路是計算機組織的前置課程。我們都知道,電腦是由簡單的 AND / OR Gate 所組成
     
    而這門課就是告訴你,如何用 AND / OR Gate 組成一個加法器還有一些其他電路。
     
    通常學校都會搭配一門實驗課,教你用 Verilog 硬體描述語言設計電路
     
    並交給電腦自動幫你合成 Gate ,並燒入 FPGA 版中執行。 
  • 計算機組織
     
    研究所考科之一。數位電路中,我們已經由 Gate 組成簡單的電路。而在計算機組織
     
    是要教我們怎麼將各種電路組合,設計成一顆 CPU。通常課程中會給你一組簡單的指令集
     
    要依照這些指令集,設計一顆可以接受指令並運算的 CPU。使用的是 Verilog 之類的硬體描述語言。
     
    計組會提到指令集的分類、乘法器、除法器、浮點數、指令如何讀取(Program Counter, PC)
     
    記憶體如何處理等等,進階到管線(Pipeline)與其他的加速機制。修完你應該有能力設計一顆簡單的 CPU。 
  • 編譯器設計概論
     
    資工重頭戲之一,不過已經不是所有組別都必修。這門課目標就是教你寫一個 Compiler。非常難 
  • 人工智慧概論
     
    介紹各種人工智慧的方法,例如當一個棋盤遊戲要做深度搜尋的時候,你要如何剪裁才能夠減少搜尋次數
     
    我們期末專題是寫一隻有智慧的小精靈,可以聽音辨位或者被鬼抓,不然就是發瘋去吃鬼XD
     
4. 數學相關課程
  • 離散數學、線性代數、機率
     
    阿就數學,沒什麼好講的XD 這是資工幾乎必修的三門數學課。
     
    前兩門是研究所考科,機率則是部分組別的考科(非常少部分)。 
  • 資料結構
     
    這門課是研究所考科。課程裡面講到Array, Stack, Queue, Linked lists, Trees, Graphes, Hash
     
    簡單來說,就是將你可以用什麼結構儲存資料,大概的介紹一次,會稍微涵蓋一些演算法的內容。 
  • 演算法
     
    研究所考科之一。課本應都是使用 MIT 的 Introduction to Algorithms 演算法聖經。
     
    簡單來說,就是將重要的演算法全部講一次,並會介紹什麼是時間複雜度,空間複雜度。
     
    ( 什麼是演算法? A 到 B 中間有數條不同的路徑,如何選擇一條權值最高的道路,此方法就是一種演算法) 
  • 正規語言概論
     
    我只能說夢魘。這門課是資訊領域的哲學。
     
    根據教授的說法,FL 是希望研究,什麼東西電腦可以算,什麼東西算不出來。
     
    FL 首先會講到什麼是 Regular Language,然後發現我們沒辦法定義他
     
    因此,只好做一台機器來辨認,如果可以被這台機器接受,就叫做 Regular Language
     
    再講到 PL 裡面提到的 CFG,最後會提到 NP 相關問題。
     
    他在教什麼我也不知道,我只知道他是計算機領域的哲學XD 
  • 密碼學概論
     
    這門課被加密了XD 都是數學,正如字面所述,就是密碼學概論XD
5. 其他選修課程
可以選修的課非常多,以交大資工而言,幾乎你想的到的都有開。
數位遊戲設計(用Unreal Engine 教你做遊戲)
計算機系統/網路管理(教你學 FreeBSD 與其他一堆網路服務的管理與架設)
程式安全(教你怎麼把程式搞到 Overflow 然後執行你自己的 code)
p2p (教你寫一個 p2p 架構的系統)
零零總總一大堆,無論理論或者實作都有(只是我都修實作課程)。

三、常見問題

1. 什麼人適合念資工?
對「電腦科學」有興趣的人而不是對「電腦」有興趣的人。你需要對電腦的原理有興趣,例如想要自己設計一台電腦。或者,希望學會用電腦解決一些生活上的問題,例如,用電腦解決路上塞車的問題等等。簡單而言,資工系是教你怎麼設計電腦,怎麼運用電腦解決問題,而不是教你怎麼操作電腦。

2. 別人都說,寫程式數學邏輯要很好,真的嗎?

這問題,對也不對。資訊工程的領域很廣,絕大多數的研究領域,都是需要數學作為模型進行研究。因此,數學好會有絕對性的幫助。但仍有更多領域,是應用為導向,數學可以幫你解決問題,但創意與實作能力更是決勝的關鍵。不過,邏輯很好絕對是必要的。

3. 有人說電機做硬體,資工寫遊戲,你們跟電機有什麼不同?

以台大來說,台大電機包含CS組,與純資工系多少有涵蓋,但一般大學的電機系幾乎是偏重在電機、電子、控制、通訊等研究,與資訊工程研究的範圍差距很大。要說有什麼關係,其實沒有什麼帶大的關係XD

4. 資工就是教人寫程式嗎?

只有大一。有人說,念資工的不一定要很會寫程式,但如果畢業連 C 都寫不出來,那就太誇張了。足見,寫程式只是資工的必要條件之一,並不很看重,但你一定要會。如果你還是不能體會,那我可以告訴你:很多課程會需要使用你不會的程式語言,但課堂上從來不會教,因為他們假設,你可以在一兩個禮拜內自己學會一個新語言,因為大家都可以。

5. 我喜歡畫漫畫、畫圖,我可以念資工多媒體組嗎

多媒體組可能不會讓你用手繪版畫圖,相對的,這個組非常數學。多媒體組有圖學(做3D影像,電腦成像之類的),視訊(影像處理,壓縮),所以,可能會跟你想的不太一樣。

6. 阿外面就很多學X、巨X電腦,我為什麼還要念資工?

也不是說一定要念資工,只是補習班根大學畢竟是兩個不同層次的東西。資工是教你電腦科學的基本原理與培養你基本的研究能力,補習班應該是不會教這個XD

7. 資工以後出路好嗎? 有人說資工沒落了?

這問題非常難回答。我只能說,他不是最好的,但也不是最壞的,你沒辦法躺著就領幾十萬月薪,但你也不至於餓死。我可以告訴你,如果你認真,一個月賺十幾萬不是太難的事情(我證實過,這是可行的)。至於沒落...那 Google, Apple, Facebook 是什麼東西XD?

8. 阿資工畢業不就寫程式,我自己買本書看一看也會,你有什麼價值?

的確,資工畢業應該脫離不了程式,應該是沒辦法去畫畫。不過其實現在理工科系應該很少不用寫程式,電子寫 verilog,物理寫 matlab...。程式設計師的價值比不過賣雞排的人,這點,已經有很多前輩論述過。不過,這是因為寫程式的入門門檻很低,搞一台電腦就可以寫程式,不像電機系,你要製造晶圓還要在家裡蓋一間晶圓廠。但,科班的學生能找到自己的不可取代性,例如你有開發新演算法的能力,你具有發現問題與提出解決問題的能力,你的經驗可以讓你維護數百台的 Server Farm,這些不是買買書就可以學到的。

9. 講這個多,我還是不知道資工唸完跟一般寫程式的人有什麼不同!

簡單,資工就是設計一個語言,並寫一個程式(Compiler),那些想寫程式的人可以寫程式。這樣懂了嗎XD
鏈接文章
分享到其他網站
  • 回覆 69
  • Created
  • 最後回覆

Top Posters In This Topic

請問如果洞察力很強的人,也就是比較能看到別人看不到,想到別人沒想到的,這樣適合唸嗎??(例如我發現有些漏洞??)

這樣看哪一種

如果你是七月看的到別人看不到的,那電資學院可能就比較不適合你。

如果你是可以發現系統漏洞,資工裡面有軟體品質實驗室,是在做類似的研究。

鏈接文章
分享到其他網站
這樣看哪一種

如果你是可以發現系統漏洞,資工裡面有軟體品質實驗室,是在做類似的研究。

年齡是否是一個考慮項目??

也就是說如果一個已經步入中年的人 40-50歲,可以再回頭唸嗎?? 不知您在此領域有聽過這種人嗎??

鏈接文章
分享到其他網站

同樣是資工人

我還蠻贊同樓主所講的

的確,資工所學的在外面也可以學的到

但是,學校裡面會有教授、學長姐幫忙介紹工作機會

也會給一些自己寫程式的經驗

這是外面所買不到的

再說,如果在外面自己學的都沒問題的話,那麼那些學成的人又到哪裡去了?

學校還是有學校的好處的!

鏈接文章
分享到其他網站
我想請問一下

交大資工分為三組:資電工程組、資訊工程組、網路多媒體組

這三組有何差異嗎?

彼此之間可以互相轉組嗎?

這是個神秘的問題。

大致來說,沒有差異,有差異的是必修課程。

資電組需必修電子學、電路學,兩門。而資工組只要修電子電路學一門。網多組不用修

電資與資工必修編譯器、密碼學,而網多組不用。但這些都是些微的差異。

資電組包含部分電機相關的硬體與電學課程。網多組則將部分資工組的必修改成選修。

所以,網多組的修課自由度最大,其次是資工組,而資電組幾乎沒有什麼選修空間。

因此,你選擇網多組,你也可以把課修的跟資電組一模一樣。

至於研究所則完全沒有影響,你念什麼組都可以推甄所有的研究所。

至於轉組的問題,轉組視同轉系,應該是沒有這個必要XD

鏈接文章
分享到其他網站

國立交通大學 電機資訊學士班

國立交通大學 電子工程學系

國立交通大學 電機工程學系甲組

國立交通大學 光電工程學系

交大的電機學院裡充滿了好多名稱相似的系

我看過他們的課表了似乎差異不大

可以麻煩學長簡單講一下交大裡這幾個系的差別嗎

總覺得他們和資工差不多可是卻又各有擅長之處

聽說交大分兩個學院:電機學院和其他學院

我現在終於了解了xd

浩然也好讚!!!

鏈接文章
分享到其他網站
請問站長大大

要當你的學弟

需要哪方面的努力及專長

和要如何加強自己的能力

謝謝

如果你要問的是怎麼進入交大資工的話,可能就是努力準備學測或指考吧XD

如果你問的是要怎麼增進資工的能力

如果你對解題有興趣,可以試試看練習 ACM 的題目

如果你對應用類有興趣,可以摸摸看 Unix-Like 的作業系統,練習架站或架設一些服務

玩興趣就好 :)

鏈接文章
分享到其他網站
國立交通大學 電機資訊學士班

國立交通大學 電子工程學系

國立交通大學 電機工程學系甲組

國立交通大學 光電工程學系

交大的電機學院裡充滿了好多名稱相似的系

我看過他們的課表了似乎差異不大

可以麻煩學長簡單講一下交大裡這幾個系的差別嗎

總覺得他們和資工差不多可是卻又各有擅長之處

聽說交大分兩個學院:電機學院和其他學院

我現在終於了解了xd

浩然也好讚!!!

其實名字相似,但所學差距很大

我不是念這些系的,也無法詳細告訴你他們在念什麼 ( 或許我應該跟別人邀稿

不過,電機學院學士班是不分系的,他可以自己選擇要修的主修,我有一個同學就是選擇資工主修

交大電工,全名是電子工程學系,就我了解,應該是走 ICS 相關 (Integrated Circuits and Systems)

詳細 ICS 的簡介可以參考這篇 www.ee.ntu.edu.tw/hischool/progs/ics.doc

而交大電機是原先電控與電信系合併後改名而成,這我就真的瞭解不多

但我覺得,把交大電工+交大電機,應該就是台大電機所涵蓋的所有範圍了

至於他們跟資工的關係呢,沒有關係XD

鏈接文章
分享到其他網站
  • 1 month later...
嘿嘿考完了所以上來 ...

想請問學長想走3C產品這類的軟體設計是走多媒體組嗎?(還是其實真的完全沒差)

目前大概就是台大資工/交大學士班/交大資工在選了 ....只有考慮資工系了XD

電資學士班是電+資

好像是兩個都學最後在選看你要往電機走還是資訊走

還有,我想說

交大的女生福利不少XDD

鏈接文章
分享到其他網站
電資學士班是電+資

好像是兩個都學最後在選看你要往電機走還是資訊走

還有,我想說

交大的女生福利不少XDD

我聽說了 ...

還順便聽說男:狗:女=8:2:1

這比例真的很讓人卻步= =""

另外電資學士班是有什麼優勢嗎怎麼那麼高分 ..

如果有電的話我就不是很想選了 ...^o)

鏈接文章
分享到其他網站
我聽說了 ...

還順便聽說男:狗:女=8:2:1

這比例真的很讓人卻步= =""

另外電資學士班是有什麼優勢嗎怎麼那麼高分 ..

如果有電的話我就不是很想選了 ...^o)

跟電子和電機的甲組一樣一定可以出國

幾乎所有的課都是英文授課

加上學校大力宣傳

還有就是人數非常少,一屆好像三十初頭

鏈接文章
分享到其他網站
跟電子和電機的甲組一樣一定可以出國

幾乎所有的課都是英文授課

加上學校大力宣傳

還有就是人數非常少,一屆好像三十初頭

女生比狗多<8>

狗的地位比男生高一_一狠

英文授課是看你想不想上

(很不幸下學期我中了陰蚊授課OOP:'()

出國其實還不錯

但還是要進來好好念

交大不是好混的= =""

不想要電 就來資工(也有資電組)吧:E

其實電資學院的課可以互選

也有電資念一念跑來資工<8>

鏈接文章
分享到其他網站
女生比狗多<8>

狗的地位比男生高一_一狠

英文授課是看你想不想上

(很不幸下學期我中了陰蚊授課OOP:'()

出國其實還不錯

但還是要進來好好念

交大不是好混的= =""

不想要電 就來資工(也有資電組)吧:E

其實電資學院的課可以互選

也有電資念一念跑來資工<8>

這又是一段野狗、青蛙與貓的故事<8>

對了,印象中資工系的電子學相較於電機系淺很多

對於電子學卻步的人不用太擔心。

鏈接文章
分享到其他網站
  • 10 months later...

請登入後來留意見

在登入之後,您才能留意見



立即登入