學業篇
課程導覽
資訊工程,對很多人而言都是個聽起來很熟悉又其實很陌生的名詞。相信大家一想到資 訊系就不免聯想到跟電腦有關。的確, "Computer Science" 就是在探討關於電腦的 學問, "Information Engineering" 則是跟實踐這門學問有關。因此,系上的課程就分成了 硬體、軟體跟數學三大部份。硬體是電腦的身驅,軟體是電腦的靈魂,而數學則是建立這些 架構的主要理論。
近年來由於資訊科技領域的突飛猛進,為了因應環境的變化,提升學生的競爭力,系上 的課程經過幾次變革,朝著「必修少,選修多」的方向修改,讓學生可以在自己有興趣的領 域發展。不過不論環境再怎麼變遷,基礎仍然是很重要的。因為應用層面的技術可能時時刻 刻都在發展、演變,不久可能就失去它的功用。熟知基礎的理論可以讓我們很快的接受新的 技巧跟工具,使我們具有能夠"變" 的能力。所以系上的必修課教的都是最基本但也是最重 要的概念。
系上大學部的選修課程都是跟研究所一起選修的,也就是說大學部的學生可以接觸到跟 研究生一樣的課程。我想,這對於大學部的學生是一種挑戰也是一種機會。除此之外,選修 課程跟必修一個很大的不同是課程常常會有更動,也就是說常常會出現新的課程可以選,也 會有舊的課程就從此不開了。而且很多選修課常常會發現早一年選修或晚一年選修都有不同 的收穫跟心得,遇到的困難也都不一樣。有個完整的選修計畫我想對學習有蠻大的幫助的。 以下就對系上的課程做一些整理跟說明,也許對於新生而言,還不需要決定要選修什麼 課,但我想多了解系上開課的狀況對了解資訊系在做些什麼跟往後真的要選課的時候有很大 的幫助!
大一必修課程部份
- 微積分(Calculus)
微積分為一個基本又很powerful 的數學工具,為一個理工學院的學生必備的知識,以後 許多的課程如機率、數位電子學等,都必須要利用微積分這種基本的工具。 - 普通物理學(General Physics)
這門課教授基本的物理觀念,對資訊系的學生而言最有用的是可藉此學習基本的電磁學。 - 計算機程式設計(Introduction to Computer Programming)
這門課主要是介紹程式語言的基本概念、思考模式,以及一些程式實作──利用教導 C 這個程式語言。由於以後可能有相當份量的程式設計量,所以這是一個開始培養程式設 計能力很重要的課程。 - 計算機概論(Introduction to Computer)
有點像是進入電腦領域的大門,從電腦硬體的構造、各樣的應用軟體、網路表現,到程 式運作、資訊領域的走向等等,介紹裡面的名詞及原理。 - 物件導向程式設計(Object-Oriented Software Design)
這門課程在下學期,主要是教有別於上學期C 的另一種程式思考模式──物件導向。在 這門課裡會用 JAVA 來引導學生學習。 - 資訊系統原理(Information Systems)
這門課以教導 UML (Unified Modeling Language) 的方式來學習怎麼設計或實作資訊系 統。是對學習大型軟體開發很重要的一門課。
大二必修課程部份
- 數位電子學(Digital Electronics)
主要在學習基本電路的特性,各種電路元件如電阻、電容、電晶體等,基本邏輯運算概 念,和其與電晶體的關係。 - 線性代數(Linear Algebra)
在數學上也是一門重要的學科,最重要的是矩陣相關的運算。對資訊系來說也有相當多 的領域會運用,如數值的處理、虛擬實境等。 - 離散數學(Discrete Mathematics)
為許多學科的基礎數學知識,如演算法、線性代數、邏輯設計等等。包括了代數、組合 數學、圖論等。對電腦的很多領域關係都相當密切、重要。 - 計算機組織與組合語言 (Computer Organization and Assembly Languages)
組合語言可說是一種按照電腦行事方式設計的一種語言,與先前所學的程式語言不同, 這種語言是機器較能看得懂的語言。所以熟悉組合語言後,對於電腦這種機器裡面是如 何做事,會有更清楚的概念。 - 機率(Probability)
實用與理論並重的一門課,顧名思義,這門課就是在教機率。可用於大量資料的統計分 析,對於統計或是網路的領域都是相當重要的工具。 - 系統程式(System Programming)
這門課教的是在 UNIX 環境下寫 C 語言程式,著重在如何與作業系統的核心打交道, 也簡單介紹 UNIX 運作方式,讓我們更瞭解作業系統本身與寫出更有效率的程式。 - 資料結構與演算法(Data Structure and Algorithms)
一門可說是資訊系非常重要的課。簡單地說,這門課在教你如何在面對不同需求時、碰 到不同問題,設計出處理資料的方式、解決問題的方法。這門課會有很大的程式撰寫量, 大一的程式設計只是大略教一個語言的字彙與文法;這門課要教的是如何利用程式來解 決生活中各種問題,將程式語言當作一種工具、媒介。
大三必修課程部份
- 數位系統設計(Digital System Design)
利用數位電子學所學到的元件,以及離散數學裡代數的觀念,達到我們想要的功能,如 加法器等。 - 作業系統(Operating Systems)
作業系統可說是電腦的靈魂、連接機器與其它軟體的橋樑。所以要了解電腦整體的運作, 當然一定要了解作業系統的設計理念。 - 數位電路實驗(Digital Circuit Lab.)
等於是將大二的數位電子學做個實際的應用。運用以前所習知識,利用各種晶片及其他 電路裝置,根據邏輯與晶片特性來組合製造出一些成品,如加法器、平交道紅綠燈等。 - 編譯程式設計(Compiler Design)
一般我們所學的程式語言,是無法寫好之後直接拿給電腦看的,必須先透過一個翻譯, 把我們所寫的程式碼翻譯成電腦看得懂的格式(或是說機器碼),之後再把這個機器碼拿 給電腦看,電腦才會依照上面的指示來幫我們做事,而這個翻譯,就是我們所說的編譯 器。 這門課簡單來說,就是教我們如何去寫一個編譯器,課中主要教的,都是一些程式碼處 理的演算法和資料結構。 - 計算機網路(Computer Networks)
這門網路課,即是以 OSI 的七層網路通訊協定架構為基礎,加以解釋網路在各個層次上 所可能遇到的問題與解決方法,並加上未來可能發展的趨勢與日新月異的網路知識 - 自動機與形式語言(Formal Languages and Automata Theory)
這門課比較特殊,是用類似數學的角度,探討電腦的設計方式與運作原理。學了這門課, 可以對電腦運算的模式,演算法的定義等等很多重要的概念有相當的了解。 - 計算機結構(Computer Architecture)
到更高階,也就是電腦核心的製造原理,軟體與硬體的介面設計,硬體效率的提昇等等方面加以介紹。 - 計算機系統實驗(Computer System Lab.)
- 計算機網路實驗(Computer Network Lab.)
以上兩個課程是二選一的必修課,都著重在應用的實作上。是理論跟實作合併的一個學 習的好機會。
大四必修課程部份
- 資料庫系統(Data Systems)
資料庫,簡單來說就是將一堆跟「周遭環境」有關的資料放在一起,經由某些特殊的資 料管理方式,使需要這些資料的人,經由某種特殊的處理程序,就可以得到想要的相關 資訊,這課程主要在教導 database 的觀念、各種資料模型的詳細介紹, design 及實作的相關理論。 - 專題研究(Special Project)
根據三年的所學,在有興趣的領域,跟著系上的教授學習做研究的方法。







