課程
七年級人工智慧:人工智慧程式設計基礎
學 Python,處理資料,訓練模型,做一個有人工智慧的小程式。
按順序學各課。學完後,你能用變數、if 敘述、迴圈、函式、串列和字典寫 Python,還能做一個會計分的小測驗。你能在執行前講清楚人工智慧寫的程式碼,請人工智慧解釋錯誤並把它改好,還能說出哪些部分是你寫的。你能讀取 CSV 檔,求出平均數和中位數,並畫出統計圖。你能用 Python 函式庫訓練分類器並測出準確率,做一個能回答十個問題的聊天機器人,並示範一個會核對答案的練習程式。
這些課怎麼用
- 從標著做這個的課開始。標題下面那一行你自己會了,再往下。
- 先玩遊戲。再做測驗。10題裡對8題就通過。練習紙在紙上。答案在最下面。
- 每一課都接在上一課後面。自己把程式碼打出來,執行它,再改一處,看看會發生什麼。
- 寫程式的課用 Python。一個免費的線上編輯器就夠。只用老師允許的人工智慧工具。人工智慧寫的程式碼,執行前先讀一遍。不要把私人資訊貼進聊天機器人。
每一課都有遊戲、測驗和練習紙。
0/36
Python 基礎
- 1你好,Python執行一個會印出訊息的 Python 程式。
- 打開一個 Python 編輯器。
- 用 print 顯示文字。
- 讀懂並改掉一則簡單的錯誤訊息。
- 2變數用變數保存並改變數值。
- 為數字和文字建立變數。
- 改變一個變數的值。
- 替變數取清楚的名字。
- 3Python 裡的數學用 Python 的運算子做計算。
- 使用 +、-、*、/、// 和 %。
- 依照運算順序計算。
- 在文字和數字之間轉換。
- 4輸入和輸出做一個會問數字的計算機,它要有輸入和輸出。
- 讀取使用者的輸入。
- 把輸入變成數字。
- 印出一個清楚的答案。
流程控制
- 5if 敘述用 if 敘述選擇接下來做什麼:if、elif 和 else。
- 用 ==、< 和 > 比較數值。
- 寫出 if、elif 和 else 區塊。
- 正確使用縮排。
- 6while 迴圈用 while 迴圈重複,直到條件變了。
- 寫一個 while 迴圈。
- 用條件或 break 停下迴圈。
- 找出並改掉無窮迴圈。
- 7for 迴圈用 for 迴圈重複固定的次數。
- 把 for 和 range 一起用。
- 在迴圈裡把數字加起來。
- 在 for 和 while 之間做選擇。
- 8計分小測驗做一個會計分的小測驗。
- 問五個問題。
- 檢查每一個答案。
- 印出最後的分數。
函式與資料
- 9函式寫一個有參數和回傳值的函式。
- 用 def 定義一個函式。
- 把參數傳進去。
- 回傳一個結果,並使用它。
- 10串列把項目存在串列裡,並用迴圈逐一處理。
- 建立串列,加入項目,再刪除項目。
- 用迴圈走訪一個串列。
- 找出最大的項目。
- 11字典在字典裡用鍵查找值。
- 建立一個有鍵和值的字典。
- 查找、加入並修改值。
- 用迴圈走訪鍵和值。
- 12資料整理做一個資料整理程式,能排序和查找紀錄。
- 把紀錄存成字典的串列。
- 依一個欄位查找。
- 依一個欄位排序。
用人工智慧寫程式
- 13向人工智慧要程式碼寫清楚你向人工智慧要的程式碼。
- 說出目標、輸入和輸出。
- 給一個例子。
- 比較含糊的請求和清楚的請求。
- 14先讀再執行執行前先講清楚人工智慧寫的程式碼。
- 用自己的話講清楚每一行。
- 找出看不懂的一行,再去查它的意思。
- 認出可能刪除或送出資料的程式碼。
- 15用人工智慧改錯請人工智慧解釋錯誤,然後把它改好。
- 把錯誤訊息和造成錯誤的程式碼一起給出去。
- 請它解釋,不要只請它改。
- 試一試改好的程式碼。
- 16你的程式碼,你的作業說明你的程式碼裡哪些部分是你寫的,哪些是人工智慧建議的。
- 用註解標出人工智慧建議的程式碼。
- 遵守班上關於人工智慧協助的規定。
- 自己重寫人工智慧寫的一部分。
處理資料
- 17CSV 檔在 Python 裡讀取 CSV 檔。
- 打開一個 CSV 檔。
- 讀取每一列。
- 把數字欄變成數字。
- 18基礎統計在基礎統計裡求出平均數、中位數和全距。
- 用程式碼計算平均數、中位數和全距。
- 比較平均數和中位數。
- 找出一個離群值。
- 19統計圖做一張長條圖和一張折線圖。
- 畫出長條圖。
- 畫出折線圖。
- 加上標題和座標軸標籤。
- 20探索資料集探索一個小資料集,回答關於它的三個問題。
- 寫出三個問題。
- 用程式碼回答它們。
- 把一個答案畫成統計圖。
機器學習
- 21特徵和標籤把資料分成特徵和標籤。
- 選出標籤欄。
- 選出特徵欄。
- 在程式碼裡做出 X 和 y。
- 22訓練模型訓練一個模型:用 Python 函式庫訓練分類器。
- 從 scikit-learn 匯入一個分類器。
- 在訓練資料上呼叫 fit。
- 預測一個新例子。
- 23測試模型測試模型:在測試資料上測出準確率。
- 把資料分成訓練集和測試集。
- 計算準確率。
- 印出它判錯的例子。
- 24分類專案在分類專案裡,用你自己的小資料集訓練並測試模型。
- 收集或挑選一個資料集。
- 訓練並測試一個分類器。
- 講清楚一個錯誤。
做聊天機器人
- 25對話流程畫出一段短對話的流程。
- 標出打招呼、提問和道別。
- 計畫機器人聽不懂時怎麼辦。
- 把這張圖變成一組規則。
- 26關鍵字比對靠關鍵字比對來回答訊息。
- 把關鍵字和回覆存在字典裡。
- 在一則訊息裡找到關鍵字。
- 給出一則預設回覆。
- 27清理文字清理文字:比對前先變成小寫,並去掉標點。
- 把一則訊息變成小寫。
- 去掉標點。
- 把一則訊息拆成詞。
- 28規則聊天機器人做一個能回答十個問題的規則聊天機器人。
- 選一個話題,例如學校圖書館。
- 寫十條問題和回覆的規則。
- 和朋友一起試一試。
接上人工智慧
- 29模型就是函式把模型講成函式:輸入進去,預測出來。
- 把訓練好的模型包進一個函式。
- 從程式的另一處呼叫它。
- 處理它用不了的輸入。
- 30什麼是 API講清楚程式怎樣透過 API 向一項服務要答案。
- 說出請求和回應是什麼。
- 讀一份範例回應。
- 說出金鑰為什麼必須保密。
- 31加上人工智慧功能在程式裡加上老師允許的人工智慧功能。
- 使用班上的人工智慧工具。
- 從你的程式裡發給它一個問題。
- 顯示它的回覆。
- 32規則還是模型分清規則給出的答案和模型給出的答案。
- 把你的聊天機器人和一個人工智慧模型比一比。
- 說出哪一個比較容易測試。
- 說出哪一個更能處理新問題。
程式專案
- 33規劃程式規劃練習程式:寫下它要做什麼。
- 選一個科目。
- 列出功能。
- 畫出各個畫面。
- 34做出核心做出核心:題目、答案和計分。
- 把題目存在一個檔案裡。
- 按隨機順序提問。
- 記下分數並顯示出來。
- 35測試程式用錯誤的、空的和奇怪的答案來測試程式。
- 寫一份測試清單。
- 把每一項都跑一遍。
- 改掉沒有通過的地方。
- 36作業練習助手示範作業練習助手:一個會核對答案的練習程式。
- 示範它不用人工智慧服務也能運作。
- 如果你加了,示範一個可選的人工智慧功能。
- 說明哪些答案來自規則,哪些來自模型。