程式學習計劃 — 4 週讀懂 Claude 在做什麼

← 首頁

2026-04-06 · 每天 30 分鐘 · 適合有基礎操作經驗的 AI 協作者

這個計劃是為了什麼人設計的

你每天用 Claude Code 工作,但常常不知道它在做什麼。你想看懂 Claude 寫的程式碼、shell 指令、JSON 設定,不是要你變成工程師,而是要成為更好的 AI 協作者。

  • 已經會用 macOS 終端機做基本操作
  • 管理 WordPress 網站,有一些 HTML 概念
  • 有 GitHub Pages 研究報告網站
  • 每天使用 Claude Code,但看不懂它寫的程式在做什麼
第一週
Python 基礎
變數、迴圈、函式
第二週
終端機 & 命令列
指令、套件、git
第三週
HTML/CSS 基礎
結構、排版、RWD
第四週
讀懂 Claude
腳本、JSON、API

第一週 — Python 基礎

Week 1
Python 基礎
了解 Claude 寫的 .py 檔案裡,那些變數、迴圈、函式是在做什麼。不是要你寫出完整程式,而是看得懂、改得動。
每天 30 分鐘 7 天 實作優先

本週學習目標

Day 1-2 變數與資料型態:str(文字)、int(數字)、list(清單)、dict(字典)是程式碼最常見的四種資料。
Day 3 條件判斷:if / elif / else — Claude 寫的邏輯判斷,「如果這個條件成立就做這個,否則做那個」。
Day 4-5 迴圈:forwhile — 重複執行某段動作,例如「對每個檔案都做一次」。
Day 6-7 函式:def — 把一段常用的動作包裝起來,之後可以反覆呼叫。這是程式碼最重要的組織方式。

推薦免費資源

  • 免費 繁中
    Codecademy — Learn Python 3
    codecademy.com/learn/learn-python-3 — 互動式,邊看邊打,最適合入門。免費課程已足夠本週使用。
  • 免費 YT
    彭彭的課程 — Python 入門
    YouTube 搜尋「彭彭 Python 入門」— 台灣人錄製,繁中講解,條理清楚。
  • 免費 YT
    程式小本 — Python 基礎教學
    YouTube 搜尋「程式小本 Python」— 另一個台灣繁中頻道,適合跟著做練習。
  • 免費 英文
    Python.org 官方教學
    docs.python.org/3/tutorial — 比較技術,但範例都很實際。不懂的地方直接問 Claude 解釋。
實作練習:寫一個簡單計算機
目標:用本週學到的語法,完成一個可以執行的小程式
  • 在終端機執行 python3,進入互動模式,試試 2 + 3print("hello")
  • 建立一個 calculator.py 檔案,定義四個函式:add(a, b)subtract(a, b)multiply(a, b)divide(a, b)
  • 加入 if/else 判斷,讓使用者輸入 +-*/ 選擇運算
  • 卡住的時候,把你目前的程式碼貼給 Claude,說「我想達到什麼效果,現在遇到什麼問題」,讓 Claude 幫你除錯並解釋
看懂 Claude 在做什麼 — 這週學完後

以後 Claude 寫 for file in files:,你會知道「它在對每個檔案做同樣的動作」。看到 def transcribe(path):,你會知道「這是一個名叫 transcribe 的函式,接受一個路徑當參數」。看到 result = {"status": "ok", "count": 5},你會知道「這是一個字典,裡面有兩個欄位」。

第二週 — 終端機 & 命令列

Week 2
終端機 & 命令列
你已經會用終端機,但可能不確定每個指令在做什麼。這週系統化地把最常用的指令都搞清楚,加上 git 版本控制。
每天 30 分鐘 7 天 動手操作

本週學習目標

Day 1-2 基本指令 cd(切換目錄)、ls(列出檔案)、pwd(目前位置)、cat(顯示檔案內容)、mkdir(建立資料夾)、rm(刪除)、cp(複製)、mv(移動/改名)
Day 3 套件管理 pip install 套件名(Python 套件)、npm install 套件名(Node.js 套件)、pip list(查看已安裝套件)
Day 4 環境設定 環境變數是什麼、為什麼要用 .venv 虛擬環境、python3 -m venv .venv 建立、source .venv/bin/activate 啟動
Day 5-7 Git 基礎 git initgit addgit commitgit pushgit pullgit statusgit log

重點:環境變數是什麼

你看 Claude 的程式碼常出現 os.environ.get("OPENAI_KEY") 這種東西。環境變數就是「不想直接寫在程式碼裡的機密設定」,例如 API 金鑰、帳號密碼。用 export 變數名=值 設定,程式就能讀到。

export DISCORD_TOKEN="你的token"
echo $DISCORD_TOKEN        # 確認有設定成功
python3 your_script.py     # 程式執行時就能讀到

Git 最常用的 7 個指令

指令做什麼使用時機
git status看目前有哪些檔案被改動隨時確認現在狀態
git add 檔案名把改動加入「準備提交」清單commit 前
git commit -m "說明"正式記錄這次改動完成一個功能後
git push把本機記錄推到 GitHubcommit 後同步到遠端
git pull把 GitHub 上的更新拉下來開始工作前同步
git log --oneline看最近的 commit 紀錄回顧做了什麼
git diff看具體改動了什麼內容確認改動內容

推薦免費資源

  • 免費 繁中
    為你自己學 Git — 高見龍
    gitbook.tw — 台灣人寫的 Git 入門書,免費線上閱讀,圖解清楚,最適合本週使用。
  • 免費 YT
    Git & GitHub 入門 — 六角學院
    YouTube 搜尋「六角學院 Git 入門」— 台灣前端教育機構的免費教學。
  • 免費 英文
    GitHub Skills
    skills.github.com — GitHub 官方互動式練習,直接在 GitHub 上操作 git,非常實際。
實作練習:用 git 管理一個小專案
目標:走一遍完整的 git 工作流程
  • 建立一個新資料夾 mkdir ~/my-learning && cd ~/my-learning
  • 執行 git init,把這個資料夾變成 git 專案
  • 建立一個 notes.md 檔案,寫下這週學到的三件事
  • 執行 git add notes.md,再 git commit -m "第一週學習筆記"
  • 在 GitHub 建立一個新的 repo,把本機 push 上去
  • 修改 notes.md,再做一次 add → commit → push,體驗完整流程
看懂 Claude 在做什麼 — 這週學完後

以後 Claude 說「執行 git add -A && git commit -m "更新" && git push」,你會知道這是三個連續動作:把所有改動暫存 → 提交記錄 → 推到 GitHub。看到 pip install -r requirements.txt,你知道這是「把 requirements.txt 裡面列的所有套件都安裝好」。

第三週 — HTML/CSS 基礎

Week 3
HTML/CSS 基礎
你已經有 GitHub Pages 網站,但不太確定 HTML 結構。這週學會看懂和修改網頁的原始碼,讓你能直接微調自己的報告頁面。
每天 30 分鐘 7 天 改現有頁面

本週學習目標

Day 1-2 HTML 結構 <html><head><body><div><p>(段落)、<a href="">(連結)、<img src="">(圖片)、<table>(表格)
Day 3-4 CSS 選擇器 .class-name(class 選擇器)、#id-name(id 選擇器)、colorbackgroundfont-sizemargin(外距)、padding(內距)
Day 5 Flexbox 現代排版方式。display: flexjustify-content(水平對齊)、align-items(垂直對齊)、gap(間距)— Claude 寫的網頁幾乎都用這個。
Day 6-7 RWD 概念 @media (max-width: 600px) — 讓網頁在手機上也好看的方法。viewport meta 標籤是什麼。

用瀏覽器開發者工具學習

在 Safari 或 Chrome 按 F12 或右鍵「檢查元素」,開啟開發者工具。這是學 HTML/CSS 最好的教室:

  • 點選「Elements」分頁,可以看到整個頁面的 HTML 結構,游標移到哪個元素就會在頁面上亮起來
  • 點選一個元素,右邊會顯示它的 CSS 樣式,可以直接修改數值即時預覽效果
  • 開啟你的 GitHub Pages 研究報告網站,用開發者工具研究任何你覺得漂亮的設計是怎麼做到的

推薦免費資源

  • 免費 繁中
    MDN Web Docs — HTML 入門(繁中版)
    developer.mozilla.org/zh-TW — Mozilla 官方教學,有繁中翻譯,是最權威的參考資料。
  • 免費 YT
    六角學院 — HTML & CSS 入門
    YouTube 搜尋「六角學院 HTML CSS 入門」— 從頭教起,適合跟著做。
  • 免費 英文
    CSS Flexbox Froggy
    flexboxfroggy.com — 用遊戲學 Flexbox,最輕鬆有趣的方式,完全免費。
  • 免費 繁中
    W3Schools — HTML Tutorial(有繁中機翻)
    w3schools.com/html — 每個標籤都有即時可編輯的範例,很實用。
實作練習:修改研究報告網站的一個頁面
目標:對現有頁面做有意義的修改,push 到 GitHub 看到效果
  • 選一個你的研究報告頁面,在瀏覽器開啟,先用開發者工具觀察結構
  • 找到頁面中的一個 callout 方塊或卡片,修改它的背景顏色(在 CSS 裡改 background
  • 找到某個標題,修改字體大小(font-size)或顏色(color
  • 在頁面末尾加一個新段落,用 <p> 標籤包住,說明這個報告的後續行動
  • 存檔後 git add → git commit → git push,確認 GitHub Pages 有更新
看懂 Claude 在做什麼 — 這週學完後

以後 Claude 寫 .card { border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.07); },你會知道這是「圓角加陰影,讓卡片浮起來的樣式」。看到 @media(max-width:640px),你知道這是「手機版的特別樣式」。你可以直接讀懂任何 Claude 為你產生的 HTML 頁面在做什麼。

第四週 — 看懂 Claude 在做什麼

Week 4
看懂 Claude 在做什麼
前三週打好基礎,第四週把所有東西整合起來。學會讀懂 Python 腳本、shell script、JSON 設定,和 API 的基本概念。
每天 30 分鐘 7 天 拆解真實程式碼

本週學習目標

Day 1-2 Python 腳本結構 import 是什麼、if __name__ == "__main__": 為什麼常見、函式定義 vs 函式呼叫的差別、with open() 開檔案
Day 3-4 Shell Script #!/bin/bash 第一行是什麼、變數 VAR="value"if [ ... ] 條件、for f in *.mp3 迴圈、| pipe 管道是什麼
Day 5 JSON 格式 { "key": "value" } 物件、[ ] 陣列、巢狀結構、為什麼 config 檔常用 JSON、.envconfig.json 的差別
Day 6-7 API 概念 什麼是 request/response、HTTP GET 和 POST 的差別、API key 是什麼、為什麼要用環境變數存 key、看懂 curl 指令在做什麼

讀懂 Python 腳本的結構

看到一個 .py 檔案,用這個框架來理解:

# 1. import — 告訴 Python 我要用哪些工具
import os
import json
from pathlib import Path

# 2. 函式定義 — def 開頭,是一個可重複使用的動作
def process_file(filepath):
    # 這裡是函式的內容
    with open(filepath, 'r') as f:
        content = f.read()
    return content

# 3. 主程式進入點 — 這個條件成立才會執行
if __name__ == "__main__":
    # 在這裡呼叫上面定義的函式
    result = process_file("data.json")
    print(result)

讀懂 Shell Script

Claude 常寫 .sh 檔案,這是讀懂它的關鍵:

#!/bin/bash           # 第一行:告訴系統用 bash 執行這個腳本

TARGET_DIR="$HOME/recordings"      # 變數定義,$ 開頭是取變數值
FILE_COUNT=$(ls "$TARGET_DIR" | wc -l)   # $() 內的指令會先執行

# if 條件判斷
if [ -d "$TARGET_DIR" ]; then      # -d 是「資料夾存在嗎」
    echo "找到資料夾,共 $FILE_COUNT 個檔案"
else
    mkdir -p "$TARGET_DIR"          # -p 是「連父資料夾一起建立」
fi

# for 迴圈
for file in "$TARGET_DIR"/*.mp3; do
    echo "處理:$file"
    ffmpeg -i "$file" -ac 1 output.wav    # | pipe 是把前一個輸出傳給下一個
done

讀懂 JSON 設定檔

JSON 是最常見的設定格式,規則其實很簡單:

{
  "name": "my-project",         // 字串用雙引號
  "version": "1.0.0",
  "enabled": true,              // 布林值:true 或 false
  "max_retries": 3,             // 數字不用引號
  "channels": [                 // 陣列用 [ ]
    "1484763667512823808",
    "987654321"
  ],
  "config": {                   // 巢狀物件
    "model": "claude-sonnet-4",
    "temperature": 0.7
  }
}
記住這個規則

JSON 不能有 // 註解(上面只是說明用),所有字串用雙引號,最後一個項目後面不能有逗號。這些是 JSON 最常見的語法錯誤。

API 概念:一次搞懂

名詞現實中的比喻技術說明
API餐廳的菜單和點餐方式兩個程式之間溝通的規則
Request(請求)你跟服務生點菜程式發送的問題或命令
Response(回應)服務生把菜端來伺服器回傳的資料
API Key你的會員卡號證明你有權使用這個 API
GET「請給我看菜單」取得資料,不改變任何東西
POST「我要點這道菜」送出資料,要求執行某個動作
JSON菜單的格式資料的傳輸格式
實作練習:逐行讀懂一個真實的腳本
目標:把 Claude 幫你寫的腳本每一行都看懂
  • 找到系統裡任何一個 Claude 幫你寫的 .sh 或 .py 檔案(例如語音轉譯流程的腳本)
  • 把整個檔案複製,貼給 Claude,說「請逐行解釋這個腳本每一行在做什麼,用繁中說明,像是在教一個完全不懂程式的人」
  • 對照 Claude 的解釋,重新讀一遍腳本,標記你覺得懂了的行和還是不懂的行
  • 把不懂的部分繼續問 Claude,直到每一行你都能用自己的話說出它在做什麼
  • 進階:試著修改腳本中的一個小地方(例如一個路徑、一個數字),觀察執行結果是否如預期改變
看懂 Claude 在做什麼 — 這週學完後

你現在能讀懂 Claude 寫的任何腳本的大致流程:「這個腳本先 import 幾個工具,定義了三個函式,然後主程式迴圈掃描所有 mp3 檔案,對每個檔案呼叫轉譯函式,最後把結果存成 JSON」。你不需要記住語法,只需要理解邏輯。這就夠了。

不需要學的東西(暫時)

別被課程清單嚇到

網路上的程式學習資源常常建議你學「演算法、資料結構、設計模式、各種框架...」,這些對想成為工程師的人很重要,但對你的目標完全不需要。以下東西暫時不用學:

演算法與資料結構 排序、搜尋、樹、圖論等 — 這是寫高效能軟體用的,不是讀懂程式碼用的
框架(Django / React / Vue) 先看懂原生 Python 和 HTML,框架是建立在基礎之上的,不用現在學
物件導向程式設計(OOP) Class、繼承、多型 — 你遇到的腳本大多不用到這個概念
TypeScript 先把 JavaScript 基礎搞清楚,TypeScript 是進階的強型別版本,不急
資料庫 SQL 除非你要自己建資料庫,否則不用現在學
測試(Unit Test) 寫測試是工程師的習慣,對你的目標不必要
Docker / Kubernetes 容器化技術,等你真的需要部署伺服器再學
程式語言理論 編譯原理、型別系統、函數式程式設計等抽象理論

最有效的學習方式

你的優勢:你已經有一個最好的老師

大多數學程式的人要自己找答案,翻 Stack Overflow,試錯不知道幾次。你有 Claude,遇到任何不懂的地方,可以立刻問到懂為止。這讓你的學習速度比傳統方式快 5 倍以上。

最有效的學習節奏

  • 10 分
    看一個新概念
    從推薦資源(Codecademy、YouTube)看一段影片或教學,建立基本概念。不用全部看懂,先有個大致印象。
  • 15 分
    自己動手試
    打開終端機,實際輸入那些指令或程式碼。不用照書上的範例,試試自己的情境。做出來比看懂更重要。
  • 5 分
    問 Claude 深挖
    把不懂的地方、想延伸的問題,問 Claude。「這行程式碼在做什麼」、「為什麼要這樣寫」、「換個方式寫會怎樣」。

問 Claude 的正確姿勢

好問法:給情境、給程式碼、說你的理解

「這是 Claude 昨天幫我寫的轉譯腳本。我理解前面的 import 部分是在載入工具,但第 15 行的 subprocess.run() 我不懂在做什麼。可以解釋一下嗎?」

不好的問法:太模糊

「Python 是什麼」、「這個腳本是什麼意思」

學習心態:你要成為什麼

你的目標不是成為工程師。工程師需要寫出乾淨、高效、可維護的程式碼,需要對效能、架構、測試有深入理解,這要花幾年時間。

你的目標是成為更好的 AI 協作者。這意味著:

  • 看到 Claude 寫的程式碼,能大致理解它在做什麼,能判斷邏輯是否合理
  • 能給 Claude 更精準的指令,說「我要你用 for 迴圈對每個檔案...」而不是「幫我處理這些檔案」
  • 遇到錯誤時,能讀懂錯誤訊息,能描述問題給 Claude 而不只是貼貼錯誤
  • 能小幅修改 Claude 寫的程式碼,不需要把整個腳本重新交給它
這四週結束後你能做到的事

Claude 幫你寫了一個處理 100 個錄音的腳本,但你發現它把輸出檔案存錯位置了。你不需要把整個腳本交給 Claude 重寫,你能自己找到那一行 output_path,直接改成正確的路徑。這種能力,比會寫程式更實際,也更快能達到。