一、課程說明

藉著課堂講解與實際程式撰寫,讓學生了解邏輯思考、資訊學、自然現象觀察、運算以及運算背後的邏輯。學生可以在課程之後,具有基本的程式能力。我們撰寫Python程式語言。
我們分三大主題:
1.理性與自然律的追尋
2.資訊學、資訊簡史
3.程式撰寫


二、指定用書
本課程無指定教科書,參考書或章節會視實際情形在課堂上提供。


三、參考書籍
1. James Gleick, The Information: A History, a Theory, a Flood, Vintage, 2012
2. 詹姆斯.葛雷易 (譯者: 賴盈滿), 資訊:一段歷史、一個理論、一股洪流, 衛城出版, 2012
3. Statistical Mechanics: Entropy, Order Parameters, and Complexity, James Sethna, Oxford University Press (2006), PDF on-line available.
4. Wei Pan and Yi-Shin Chen, Network approach for decision making under risk—How do we choose among probabilistic options with the same expected value? https://doi.org/10.1371/journal.pone.0196060
5. Engines of Logic: Mathematicians and the Origin of the Computer, Martin Davis, W. W. Norton & Company (2001).
6. Bill Bryson, A Short History of Nearly Everything, Random House, 2017
7. 比爾·布萊森, 萬物簡史, 天下文化
8. https://docs.python.org/3

四、教學方式
本課程有課堂講述,也有在電腦教室進行的電腦程式撰寫。最後會有成果展,來發表修課同學的學習成果。



五、教學大綱
-科學定律的追尋: 對於科學的了解,來自於觀察。由觀察整理出可能的定律,經由假設、重複實驗等等,再歸納與演繹,推導出科學定律。

- 語意分析、說明書文字敘述 (Divide and Conquer): 我們用語言文字陳述定律,怎樣把文字敘述轉成數學式,或是電腦程式?(參考資料 1 & 5)

- Python 介紹與安裝

- 因果與謬誤: 我們怎樣用邏輯來建立事件的因果關係?這些因果關係幫助我們了解這世界。然而,這裡面有謬誤嗎?

- Python Basics (電腦教室上課)

- 選擇的理性與人性: 何謂理性?怎麼做出理性選擇呢?電腦可以協助我們做出理性選擇嗎?(參考資料 3)

- 迴圈 LOOPs & 條件IF THEN (電腦教室上課)

- 結構 & 標準化流程(電腦教室上課)

- 上機考(電腦教室上課)

- 資訊學、資訊簡史

- Information Entropy

- 編碼&亂數產生器與應用 (電腦教室上課)

- Algorithms and Data Structures Part 1

- Algorithms and Data Structures Part 2 (電腦教室上課)

- 上機考(電腦教室上課)

- Midterm Exam

- Project Demo Day


六、成績考核

課堂互動 10%、作業20%、上機考 20%、期中考30%、專題 20%、期末回饋報告5%