全部課

課程

七年級人工智慧:人工智慧程式設計基礎

學 Python,處理資料,訓練模型,做一個有人工智慧的小程式。

按順序學各課。學完後,你能用變數、if 敘述、迴圈、函式、串列和字典寫 Python,還能做一個會計分的小測驗。你能在執行前講清楚人工智慧寫的程式碼,請人工智慧解釋錯誤並把它改好,還能說出哪些部分是你寫的。你能讀取 CSV 檔,求出平均數和中位數,並畫出統計圖。你能用 Python 函式庫訓練分類器並測出準確率,做一個能回答十個問題的聊天機器人,並示範一個會核對答案的練習程式。

這些課怎麼用

  • 從標著做這個的課開始。標題下面那一行你自己會了,再往下。
  • 先玩遊戲。再做測驗。10題裡對8題就通過。練習紙在紙上。答案在最下面。
  • 每一課都接在上一課後面。自己把程式碼打出來,執行它,再改一處,看看會發生什麼。
  • 寫程式的課用 Python。一個免費的線上編輯器就夠。只用老師允許的人工智慧工具。人工智慧寫的程式碼,執行前先讀一遍。不要把私人資訊貼進聊天機器人。

每一課都有遊戲、測驗和練習紙。

0/36

Python 基礎

  1. 1你好,Python執行一個會印出訊息的 Python 程式。
    • 打開一個 Python 編輯器。
    • 用 print 顯示文字。
    • 讀懂並改掉一則簡單的錯誤訊息。
  2. 2變數用變數保存並改變數值。
    • 為數字和文字建立變數。
    • 改變一個變數的值。
    • 替變數取清楚的名字。
  3. 3Python 裡的數學用 Python 的運算子做計算。
    • 使用 +、-、*、/、// 和 %。
    • 依照運算順序計算。
    • 在文字和數字之間轉換。
  4. 4輸入和輸出做一個會問數字的計算機,它要有輸入和輸出。
    • 讀取使用者的輸入。
    • 把輸入變成數字。
    • 印出一個清楚的答案。

流程控制

  1. 5if 敘述用 if 敘述選擇接下來做什麼:if、elif 和 else。
    • 用 ==、< 和 > 比較數值。
    • 寫出 if、elif 和 else 區塊。
    • 正確使用縮排。
  2. 6while 迴圈用 while 迴圈重複,直到條件變了。
    • 寫一個 while 迴圈。
    • 用條件或 break 停下迴圈。
    • 找出並改掉無窮迴圈。
  3. 7for 迴圈用 for 迴圈重複固定的次數。
    • 把 for 和 range 一起用。
    • 在迴圈裡把數字加起來。
    • 在 for 和 while 之間做選擇。
  4. 8計分小測驗做一個會計分的小測驗。
    • 問五個問題。
    • 檢查每一個答案。
    • 印出最後的分數。

函式與資料

  1. 9函式寫一個有參數和回傳值的函式。
    • 用 def 定義一個函式。
    • 把參數傳進去。
    • 回傳一個結果,並使用它。
  2. 10串列把項目存在串列裡,並用迴圈逐一處理。
    • 建立串列,加入項目,再刪除項目。
    • 用迴圈走訪一個串列。
    • 找出最大的項目。
  3. 11字典在字典裡用鍵查找值。
    • 建立一個有鍵和值的字典。
    • 查找、加入並修改值。
    • 用迴圈走訪鍵和值。
  4. 12資料整理做一個資料整理程式,能排序和查找紀錄。
    • 把紀錄存成字典的串列。
    • 依一個欄位查找。
    • 依一個欄位排序。

用人工智慧寫程式

  1. 13向人工智慧要程式碼寫清楚你向人工智慧要的程式碼。
    • 說出目標、輸入和輸出。
    • 給一個例子。
    • 比較含糊的請求和清楚的請求。
  2. 14先讀再執行執行前先講清楚人工智慧寫的程式碼。
    • 用自己的話講清楚每一行。
    • 找出看不懂的一行,再去查它的意思。
    • 認出可能刪除或送出資料的程式碼。
  3. 15用人工智慧改錯請人工智慧解釋錯誤,然後把它改好。
    • 把錯誤訊息和造成錯誤的程式碼一起給出去。
    • 請它解釋,不要只請它改。
    • 試一試改好的程式碼。
  4. 16你的程式碼,你的作業說明你的程式碼裡哪些部分是你寫的,哪些是人工智慧建議的。
    • 用註解標出人工智慧建議的程式碼。
    • 遵守班上關於人工智慧協助的規定。
    • 自己重寫人工智慧寫的一部分。

處理資料

  1. 17CSV 檔在 Python 裡讀取 CSV 檔。
    • 打開一個 CSV 檔。
    • 讀取每一列。
    • 把數字欄變成數字。
  2. 18基礎統計在基礎統計裡求出平均數、中位數和全距。
    • 用程式碼計算平均數、中位數和全距。
    • 比較平均數和中位數。
    • 找出一個離群值。
  3. 19統計圖做一張長條圖和一張折線圖。
    • 畫出長條圖。
    • 畫出折線圖。
    • 加上標題和座標軸標籤。
  4. 20探索資料集探索一個小資料集,回答關於它的三個問題。
    • 寫出三個問題。
    • 用程式碼回答它們。
    • 把一個答案畫成統計圖。

機器學習

  1. 21特徵和標籤把資料分成特徵和標籤。
    • 選出標籤欄。
    • 選出特徵欄。
    • 在程式碼裡做出 X 和 y。
  2. 22訓練模型訓練一個模型:用 Python 函式庫訓練分類器。
    • 從 scikit-learn 匯入一個分類器。
    • 在訓練資料上呼叫 fit。
    • 預測一個新例子。
  3. 23測試模型測試模型:在測試資料上測出準確率。
    • 把資料分成訓練集和測試集。
    • 計算準確率。
    • 印出它判錯的例子。
  4. 24分類專案在分類專案裡,用你自己的小資料集訓練並測試模型。
    • 收集或挑選一個資料集。
    • 訓練並測試一個分類器。
    • 講清楚一個錯誤。

做聊天機器人

  1. 25對話流程畫出一段短對話的流程。
    • 標出打招呼、提問和道別。
    • 計畫機器人聽不懂時怎麼辦。
    • 把這張圖變成一組規則。
  2. 26關鍵字比對靠關鍵字比對來回答訊息。
    • 把關鍵字和回覆存在字典裡。
    • 在一則訊息裡找到關鍵字。
    • 給出一則預設回覆。
  3. 27清理文字清理文字:比對前先變成小寫,並去掉標點。
    • 把一則訊息變成小寫。
    • 去掉標點。
    • 把一則訊息拆成詞。
  4. 28規則聊天機器人做一個能回答十個問題的規則聊天機器人。
    • 選一個話題,例如學校圖書館。
    • 寫十條問題和回覆的規則。
    • 和朋友一起試一試。

接上人工智慧

  1. 29模型就是函式把模型講成函式:輸入進去,預測出來。
    • 把訓練好的模型包進一個函式。
    • 從程式的另一處呼叫它。
    • 處理它用不了的輸入。
  2. 30什麼是 API講清楚程式怎樣透過 API 向一項服務要答案。
    • 說出請求和回應是什麼。
    • 讀一份範例回應。
    • 說出金鑰為什麼必須保密。
  3. 31加上人工智慧功能在程式裡加上老師允許的人工智慧功能。
    • 使用班上的人工智慧工具。
    • 從你的程式裡發給它一個問題。
    • 顯示它的回覆。
  4. 32規則還是模型分清規則給出的答案和模型給出的答案。
    • 把你的聊天機器人和一個人工智慧模型比一比。
    • 說出哪一個比較容易測試。
    • 說出哪一個更能處理新問題。

程式專案

  1. 33規劃程式規劃練習程式:寫下它要做什麼。
    • 選一個科目。
    • 列出功能。
    • 畫出各個畫面。
  2. 34做出核心做出核心:題目、答案和計分。
    • 把題目存在一個檔案裡。
    • 按隨機順序提問。
    • 記下分數並顯示出來。
  3. 35測試程式用錯誤的、空的和奇怪的答案來測試程式。
    • 寫一份測試清單。
    • 把每一項都跑一遍。
    • 改掉沒有通過的地方。
  4. 36作業練習助手示範作業練習助手:一個會核對答案的練習程式。
    • 示範它不用人工智慧服務也能運作。
    • 如果你加了,示範一個可選的人工智慧功能。
    • 說明哪些答案來自規則,哪些來自模型。
七年級人工智慧:人工智慧程式設計基礎