傳統生物學研究較著重定性的描述,現今生物學的研究則加入定量概念,運用數學與電腦建模以預測生物系統的行為。此外隨著科技發展,生物資料量激增,迫切需要處理big data 與機率、統計、數值分析的能力。阮雪芬、黃筱鈞、謝志豪、陳倩瑜、許昭萍 等老師建議可修習以下四類課程(擇一或多類修習),以增強這方面的基礎與能力:
I.學習基礎程式語言(含資訊系趙坤茂主任提供的程式設計課程簡介)
II. 學習基礎統計、機率
III. 學習利用數學模擬、撰寫電腦程式,解決生物問題
IV.了解統計和演算法、利用現有軟體,解決生物問題
說明:I, II 為強化數學與程式基礎的課程,課程中所解決的問題是較general的,所學的概念與方法可以運用在生物相關問題。 III會學習或用到簡單的數學運算或程式設計,IV則是運用現有的軟體, III、IV皆著重於解決生物相關問題。
台大有不少這四類的課程,舉例如下供同學參考:
<I. 學習基礎程式語言課程>
(1) 計算機程式語言 林達德 (生工系)
本課程以計算機硬體及軟體之基本介紹為始,逐步引入程式設計的觀念與方法,程式設計語言以C語言為基礎,於熟習基本程式語法後,再導入C++程式語言。內容著重邏輯思考與程式設計能力之訓練及其在工程上之應用,同時輔以程式設計過程所應注意之程式結構、偵錯、可攜性、軟體工程的基本概念,使修習者得以建立設計程式語言之基礎。有關物件導向程式設計、計算機繪圖與數值方法之基本概念亦將於C/C++語言程式語法純熟後予以介紹。
(2)計算機程式設計 鄭士康 (電機系)
1.以C#為例, 由基本觀念循序漸近, 介紹計算機程式的語法與程式設計撰寫要領. Part I 前半適合初學者. Part II引入物件觀念後, 則程度較好同學亦能有所收獲.修完本課程後, 即有能力學習其他各種計算機程式語言之程式設計, 或學習使用特定軟體工具開發包括網路應用及手機APP等實用程式.
2.訓練學生能夠利用C#語言寫作計算機程式, 並從中培養解決問題之規畫, 邏輯與偵錯能力, 及過程與結果呈現之表達能力. 願意組隊完成期末專題程式開發之同學, 另可學習軟體系統發展分工整合及團隊合作經驗
(3)程式設計 曾建祥(材工所)
曾建祥老師開的程式設計,這門課會教Linux與Python,可培養足夠利用電腦解決科學與數學上的問題.
(4) 物件導向程式語言 黃乾綱 (工程科學與海洋工程系)
本課程在介紹物件導向程式設計的基礎 並以Java程式語言為例介紹物件導向的觀念及運作方式.
(5) 數值分析與程式設計 陳凱風 (物理系)
這門課會教Python 讓學生了解如何分析研究上的數據,對於big data的分析會有較深入的了解。
(6) 資訊系趙坤茂主任的提供的程式設計課程簡介,概述如下:
只要有基本的數理基礎,以下ABC三門課應能跟上,修過後應該就具備很好的資訊素養。
(A) 計算機概論
(B) 計算機程式設計
(C) 資料結構與演算法
DEF是比較進階的程式課程,學過後更能處理海量資料;G是人機介面的設計課程;H是深入電腦系統核心的設計課程。
(D) 高等程式設計
(E) 平行程式設計
(F) 平行與分散式程式設計
(G) Web程式設計與應用
(H) 系統程式設計
更多的課程資訊,請參見:
http://www.csie.ntu.edu.tw/stu/super_pages.php?ID=stucourse
另外,資訊系對外還設有資訊系統訓練班,口碑不錯,是各界人士進修資訊技能的首選之一,其網址為
http://www.csie.ntu.edu.tw/train/
<II. 學習基礎統計、機率> (部分觀念在於微積分、生物統計課程會涵蓋)
(1) 統計、機率 葉丙成 (電機系)
1. Students understand the basic concepts of probability and statistics after taking this course.
2. Students have the ability to model a real-life problem into a theoretical probability problem, and apply the probability theory to solve for the real-life problem.
3. Students understand the relation between probability and other EE courses/EE research areas.
4. Students know what courses to take in future if they are further interested in probability.
(2) 機率 林守德 (資工系)
This course will give a mathematical introduction to Probability. It will also cover some basic topics and methods in Statistics.
(3) 多變量統計分析 陳宏 (數學系)
這門課會教如何使用R 語言進行一些資料分析, 如何將多維度變因轉換成兩個維度的變因. 一般 big data分析
<III. 學習利用數學模擬、電腦程式運用,解決生物問題>
(1) 系統與合成生物學 黃筱鈞 (生科系)
本課程介紹系統與合成生物學。系統生物學定義為整合實驗與電腦模擬的方法來瞭解生物系統,而合成生物學為系統生物學之子領域,強調用由下而上(bottom-up)的方法來重新建構生物系統,可能用來瞭解如何用最少元件達成生物功能(minimal system), 或製作完全人造具獨特功能的系統。本課程將教授進入此領域之基礎背景(分子生物學,微分方程,線性代數,機率,MATLAB程式設計),該領域的方法學與研究發展,提供學生實作(電腦模擬為主)經驗。
使學生俱備理解該領域經典論文的數學與電腦計算技巧(dry),並對實驗設計(wet)有基礎理解。藉由後半學期合作present paper,鼓勵學生學期末共同討論出final project。
(2) 生命科學數學 謝志豪 (海洋所)
Mathematics for Life Scientists
以數學模式強化科學研究能力,學生學習數學模式協助從資料建立理論,以及對理論的數質量化。 課程強調數學模式建立與動態系統的分析;透過簡單數學模式與重要生命科學實用例子說明1)控制方程式的建立;2)解與分析;3)數值模擬;4)科學銓釋等四個建模過程。分析重視多尺度、正負回饋以及穩定度問題,模式例子包含族群成長、掠食與被掠食交互作用、年齡結構、演替過程、行為模式、賽局理論、分子演化、渾沌系統、空間擴散模式等領域。課程也將強調重要數學觀念,並介紹因次分析與尺度分析於科學研究的應用。課程先需為略知微積分與基礎微分方程式知識。課程目的以數學模式強化科學研究能力,學生學習數學模式協助從資料建立理論,以及對理論的數質量化,並學習基礎入門的數值模擬與程式應用。
(3) 生物系統模擬 (中文授課) 謝志豪 (海洋所)
The goal of this course is to introduce mathematical and statistical approaches to study biological systems as well the interactions of abiotic and biotic components. This is a course for high level undergraduates and master students with basic knowledge of statistics, calculus, and ecology. We will start from very simple single species models and then move toward complex models. We will introduce various model types, building blocks of models, and the ways to construct models. In addition, techniques on the solution and stability of models will be introduced. We will teach computer languages to simulate and analyze these models as well as data. The course has a hands-on work component. Students will carry out modeling and data analysis exercises on a regular basis. Finally, students will develop their own model and applications.
(4) 統計生態學與程式語言應用(英文授課,進階課程) (海洋所)
THIS IS AN ADVANCED COURSE INTENDED FOR SENIOR UNDERGRADUATE AND GRADUATE STUDENTS WITH KNOWLEDGE OF BASIC STATISTICS INCLUDING RANDOM VARIABLES, ANALYSIS OF VARIANCE, REGRESSION ANALYSIS, AND RANK-BASED NON-PARAMETRIC STATISTICS. WE WILL DISCUSS SEVERAL COMPUTER-INTENSIVE STATISTICAL METHODS. WE WILL DISCUSS THE THEORY, ASSUMPTION, AND APPLICATION OF THESE METHODS IN ECOLOGICAL PROBLEMS. THE COURSE IS DESIGNED FOR HAND-ON WORK. STUDENTS NEED TO GET FAMILIAR WITH AT LEAST ONE COMPUTER LANGUAGE TO DO THE STATISTICS. MOST OF WORK CAN BE DONE WITH MATLAB, BUT ANY OTHER PROGRAMMING LANGUAGE WILL DO EQUALLY WELL. SOMETIMES, WE WILL USE WELL-DEVELOPED SOFTWARE WHEN THE COMPUTATION IS TOO COMPLICATED AND BEYOND THE BASIC LEVEL. THERE WILL BE DEDICATED TIME EVERY WEEK FOR STUDENTS TO PRESENT THEIR WORKS AND TO DISCUSS THE APPLICATION OF THESE METHODS ON REAL WORLD PROBLEMS.
(5) 動態系統生物學 許昭萍
近年來,在技術和資訊的積累與進步下,在分子方面的細節、在時間和空間解析等方面研究生物學都已經可以做到。在許多情況下,以系統層級理解生物學已成為可能。以動力學來描述生物系統,通常是以一個數學模型來描述和預測系統行為。非線性動力學是幫助我們建構,發展生物模型並預測實驗結果的一門數學。本課程以介紹非線性動力學為主,並且與近年的文獻接軌。課程內容包括基本線性代數、常微分方程、線性和非線性動力學穩定性分析、Bifurcation、系統的振盪行為分析、正回饋與負回饋迴路及其生物學作用與例子,最後,介紹noise在生物系統當中的來源、傳播、分析、模擬方法等等。
<IV. 了解統計和演算法以及利用現有軟體解決生物問題>
(1) 生物資訊學 阮雪芬 (生科系)
生物資訊學是結合分子生物學和電腦的科學,主要著重在利用電腦資料庫、演算法及統計學分析基因體和蛋白質體相關資料。課程除了教授基本的生物資訊學相關知識外,亦進行電腦實作分析,進而使學生了解並能應用於生物科學的研究上。
(2) 生醫資訊學導論 趙坤茂 (資工系)
如果想知道運用資訊解決生物上的問題,可修[生醫資訊學導論],會教演算法及高通量資料的分析軟體 ,本課程將討論生醫資訊學基本原理及實際應用,以使修習同學能了解生物及醫學資訊學的概念及目前最先進的研究議題。本課程包括課程講習及論文討論, 但不包括程式撰寫.
線上課程訊息:
註:
下列線上課程訊息只是MOOC中在coursera的一部分,另外在edX和Udacity也有,請有興趣的老師/同學自行探索。
R programming
https://www.coursera.org/course/rprog
python programming
https://www.coursera.org/course/programming1
https://www.coursera.org/course/pythonlearn
https://www.coursera.org/course/interactivepython
math/statistics下列第一門課(極力推薦)
https://www.coursera.org/course/statistics
https://www.coursera.org/course/biostats
https://www.coursera.org/course/stats1
Biology/bioinformatics
https://www.coursera.org/course/bioinformatics
https://www.coursera.org/course/algobioprogramming
https://www.coursera.org/courses?languages=en,zh&categories=biology,cs-ai,cs-programming,math,stats
https://www.coursera.org/course/expmethods
https://www.coursera.org/course/bioinfomethods2
https://www.coursera.org/course/sysbio
Others
https://www.coursera.org/course/sciwrite