教學大綱 Syllabus

科目名稱:生活中的數學、邏輯與運算思維

Course Name: The Math, Logic, and Computational Thinking of Life

修別:群

Type of Credit: Partially Required

3.0

學分數

Credit(s)

140

預收人數

Number of Students

課程資料Course Details

課程簡介Course Description

【特別公告】本課程是線上課程, 上課直播點是在 Facebook「政大應數系直播中心」:

https://www.facebook.com/groups/nccumathonline/

第一次上課我們會做第一次的課程說明, 並且為還沒加簽的同學加簽。因為等新生開學, 所以第二次才是正式上課。但鼓勵大家都在第一週就來適應一下, 並且進行加簽。

本領域課程介紹數學、邏輯與運算思維的基本概念,並以此為工具,應用在日常生活中。培養化真實世界的問題,轉為數學問題的能力與習慣。課程中也會提供一些有意思的數學問題,並能運用 Python 程式語言,實驗自己的想法,解決問題。

特別說明: 本課程是同步遠距課程, 非常歡迎同學選課 (沒有上限), 但請要有認真學習數學及寫程式的心理準備。需要有 Google 帳號, 還沒有的同學可考慮申請學校的 Google 帳號。

核心能力分析圖 Core Competence Analysis Chart

能力項目說明


    課程目標與學習成效Course Objectives & Learning Outcomes

    1. 具備量化推理、運用數學的能力

    2. 熟悉活用運算思維的方法

    3. 能使用 Python 程式語言實驗、解決實務的問題

    每周課程進度與作業要求 Course Schedule & Requirements

    【第1週】

    課程主題: 課程介紹與使用工具

    課程內容與指定閱讀: 為什麼要學數學、Python 的安裝、Jupyter Notebook 環境、電腦變數的概念、函數圖形的畫法

    教學活動與作業: 安裝程式並能做函數繪圖

    學習投入時數: 課堂 3 / 課後 2

     

    【第2週】

    課程主題: 笛卡兒的情書

    課程內容與指定閱讀: 介紹極座標的概念, 怎麼樣自己設計一個特別的參數式圖形出來。

    教學活動與作業:

    1. 用你的想法設計美麗的圖。

    2. 如果笛卡兒的愛心了 sin 而不是 cos 會發生什麼事?

    學習投入時數: 課堂 3 / 課後 3

     

    【第3週】

    課程主題: 用 for 迴圈做數學實驗

    課程內容與指定閱讀: 另外我們怎麼樣能夠用 for 迴圈去做數學實驗, 還有動態進度條等等有趣的小程式。

    教學活動與作業: 

    用 for 迴圈做一個動態呈現的作品。

    學習投入時數: 課堂 3 / 課後 3

     

    【第4週】

    課程主題: 亂數是好玩的根源

    課程內容與指定閱讀: 有了亂數我們可以做許多有趣的事, 比如說做一個猜數字遊戲。一般的亂數是服從均勻分布的, 如果我們想從常態分布抽樣可以嗎? 甚至更天馬行空的機率分布裡抽樣呢? 這有很多的應用, 比方說有五種咖啡的咖啡店, 我們可隨機抽一支豆子推薦給客人。但我們希望抽到某支豆子的機率最高, 高到多少我自己決定, 這該怎麼做到呢?

    教學活動與作業: 

    1. 寫個對話機器人, 機器人回應什麼句子是隨機決定的。

    2. 有一家超商只要消費超過 200 元就可以參加抽獎, 獎品有三種。商家希望一獎機率 1%, 二獎 19%, 三獎 80%。你可以幫他們設計這個抽獎程式嗎?

    學習投入時數: 課堂 3 / 課後 3

     

    【第5週】

    課程主題: 電腦也是懂邏輯的

    課程內容與指定閱讀: 命題邏輯、真值表、Python 上的邏輯判斷

    教學活動與作業:

    1. 設計讓電腦和你玩井字遊戲。

    2. 設計會寫詩的文青機器人。

    學習投入時數: 課堂 3  / 課後 3 

     

    【第6週】

    課程主題: 數字和函數是數學的核心

    課程內容與指定閱讀: 數學或是運算思惟, 需要把我們想處理的對象化為數字, 想處理的問題化為函數。比方說人臉辨識系統, 是學什麼函數? 我們怎麼讓電腦告訴我們它的判斷呢?

    教學活動與作業: 

    1. 如同上課中提到 softmax 可以讓我們函數的輸出是一個機率分布。試試看輸入不同的分數, 看看 softmax 有什麼結果呢? 你能發現用 softmax 有什麼缺點嗎?

    2. 從四大天王函數中一個函數, 試著幫這個函數化妝, 用動態互動的技巧, 看看函數有什麼不同。

    學習投入時數: 課堂 3  / 課後 3

     

    【第7週】

    課程主題: 價值 800 萬的設計 -- 隱函數的畫圖

    課程內容與指定閱讀: 2021 年小米用超橢圓更改他們的 logo 設計。超橢圓我們怎麼畫呢? 這週我們要討論 3D 畫圖和隱函數的畫圖。

    教學活動與作業:

    超橢圓慢慢會從圓超來越方, 你可以設計一個程式讓一個圓連續變化成正方型嗎?

    學習投入時數: 課堂 3  / 課後 3

     

    【第8週】

    課程主題: Jupyter Notebook 超炫的互動功能

    課程內容與指定閱讀: 使用 Jupyter Notebook (或 Colab) 你可以很快的寫出一個互動的程式! 我們還會介紹更高一級的 gradio 套件, 你可以馬上完成一個網路應用程式向朋友們炫耀一番。

    教學活動與作業: 

    選一個你之前寫過的程式, 改成互動的版本。你想用 Jupyter Notebook 或是 gradio 型的互動方式都可以。

    學習投入時數: 課堂 3  / 課後 3

     

    【第9週】

    課程主題: 期末專案第一版

    教學活動與作業: 完成基末專案的第一版 (提案版), 和老師或助教討論你的作品。

    學習投入時數: 3小時

     

    【第10週】

    課程主題: 符號型運算系統和 π 密碼

    課程內容與指定閱讀: 電腦的計算方式有兩大類, 一是數值型的計算, 這對電腦來說是比較自然的方式; 另一種是符號型運算, 簡單的說就是我們數學課會用到的運算方式。符號型運算都能得到精確答案, 於是我們可以挑戰計算 π。事實上 π 有更多神秘的地方, 它把你的生日, 手機號碼, 甚至世界上發生的一切事, 都記錄在這裡面。

    教學活動與作業

    1. 回想你生命中遇見某個重要人的日子, 試試看在 π 裡面是否能找到個日子。

    2. 挑戰你能用 π 找到最多位數, 而且對你是有意義的數字。

    3. 用拉馬努金的公式去計算 π, 和我們上課介紹的 arctan 泰勒展開式比較一下, 你就會更加驚嘆拉馬努金發現的神奇式子。

    學習投入時數: 課堂 3  / 課後 3

     

    【第11週】

    課程主題: 數學證明和最大質數的追尋

    課程內容與指定閱讀: 數學證明的類型。數學很容易證明, 質數有無限多個。很大的質數對電腦加密非常重要, 找個大質數對電腦很難嗎? 一個質數和下一個質數的距離會越來越大嗎?

    教學活動與作業: 

    1. 2019 年 8 月 23 , 我們寫成一個數字是 20190823, 用 sympy 很容易發現這是一個質數! 我們就稱這樣的日子為質數日。你可能會有點驚訝的發現, 質數日並沒有很多。試著算算看下一次質數日是什麼時候。

    2. 挑戰一下梅森, 他列出 n 小於等於 263 的梅森質數的列表有部份是錯的! 你可以找出所有正確的, n 小於等於 263 的梅森質數嗎?

    學習投入時數: 課堂 3  / 課後 3

     

    【第12週】

    課程主題: 熵和不同基底的數字系統

    課程內容與指定閱讀: 介紹電腦最常用到的二進位和十六進位的數字系統, 於是我們終於理解顏色代碼是什麼意思。我們還可以用二進位的概念設計問出別人心裡的任何數字! 再來我們學習 entropy, 代表資訊量的概念。還有 cross entropy, KL-divergence 為什麼可以判斷兩個隨機分布的差距。

    教學活動與作業: 

    1. 寫一個用卡片正確猜出使用者心裡想的數字的程式。

    2. 比較兩個三個事件的機率分佈 P, Q。用 cross entropy 計算差距和我們平時慣用的平均平方差有沒有不同。

    學習投入時數: 課堂 3  / 課後 3

     

    【第13週】

    課程主題: 數字的基本型是集合

    本週介紹了數學中很重要的一環: 集合,並且怎麼在 Python 完成一個集合的實作。

    教學活動與作業: 

    1. 實作 "hangman" 電腦遊戲。

    2. 想辦法寫一個 "冰雹數列" 程式, 看看你能找到最長的冰雹數列有多長。

    3. 寫個凱薩密碼的加密和解密程式。

    學習投入時數: 課堂 3  / 課後 3

     

    【第14週】

    課程主題: 函數是我們的解答本

    課程內容與指定閱讀: 數學上函數的概念, 其實可以運用到幾乎任何領域。事實上函數是人工智慧最核心概念: 我們把問題化為函數, 用某個人工智慧的方法打造 "函數學習機", 把實際觀察到的狀況學起來!

    教學活動與作業: 

    1. 如果輸入是一個數字, 輸出也是一個數字這樣的數據, 一共有 n 筆。我們可以用次數小於等於 n-1 的多項式完美通過這些點 (lagrange interpolation)。試著完成這樣的函數, 並且說明為什麼學得這麼完美不是個好的函數學習機?72

    2. 在一個集合 A 上定義一個關係 R。你能寫個程式把這個關係擴充成一個等價關係嗎?

    學習投入時數: 課堂 3  / 課後 3

     

    【第15週】

    課程主題: 線性迴歸

    課程內容與指定閱讀: 我們高中就會的線性迴歸可能比我們想像中還要厲害。我們會用來做真實世界的例子, 還會學到怎麼用來做非線性的問題。

    教學活動與作業:

    1. 在使用 scikit-learn 提供的數據集中, 找一個你覺得有意思的數據去做迴歸。

    2. 用傅利葉級數的方法, 去逼近一個封閉的曲線。事實上這樣的方法就是做出 person curves 的技巧。

    學習投入時數: 課堂 3  / 課後 3

     

    【第16週】

    課程主題: 機器學習的概念

    課程內容與指定閱讀: 電腦也是可以學習的嗎? 我們會學習怎麼用電腦去分辨一朵鳶尾花是哪一個亞種的鳶尾花。

    教學活動與作業: 

    試著改善上課的例子, 例如用 PCA 把四個特徵濃縮成兩個特徵, 再進行訓練。

    學習投入時數: 課堂 3  / 課後 3

     

    【第17週】

    課程主題: 深度學習的概念

    課程內容與指定閱讀: 人工智慧裡最熱門的主題 "深度學習" 的概念, 背後的原理比想像中還要簡單! 我們也會實作一個辨識手寫數字的神經網路。

    教學活動與作業: 

    試著修改上課手寫辨識的神經網路, 看看能不能有更高的正確率。

    學習投入時數: 課堂 3  / 課後 3

     

    【第18週】

    課程主題: 期末專案分享

    教學活動與作業: 同學報告期末專案。

    學習投入時數: 3小時

    授課方式Teaching Approach

    60%

    講述 Lecture

    0%

    討論 Discussion

    0%

    小組活動 Group activity

    40%

    數位學習 E-learning

    0%

    其他: Others:

    評量工具與策略、評分標準成效Evaluation Criteria

    1. 平時成績 70%: 每週都有程式作業, 演習課助教會協助大家完成。請務必準時完成作業。作業會採取同儕互評的方式評分, 讓大家欣賞不同同學的想法和作法。

    2. 期末專案 30% (期中 15%; 期末 15%)

    3. 上課參與: 額外加分, 最多學期成績 10 分。

     

    指定/參考書目Textbook & References

    "少年Py的大冒險:成為Python數據分析達人的第一門課", 蔡炎龍/季佳琪/陳先灝著, 全華圖書出版

    已申請之圖書館指定參考書目 圖書館指定參考書查詢 |相關處理要點

    維護智慧財產權,務必使用正版書籍。 Respect Copyright.

    課程相關連結Course Related Links

    https://moodle.nccu.edu.tw

    課程附件Course Attachments

    課程進行中,使用智慧型手機、平板等隨身設備 To Use Smart Devices During the Class

    需經教師同意始得使用 Approval

    列印