Week 1
Python 基礎
了解 Claude 寫的 .py 檔案裡,那些變數、迴圈、函式是在做什麼。不是要你寫出完整程式,而是看得懂、改得動。
每天 30 分鐘
7 天
實作優先
本週學習目標
Day 1-2
變數與資料型態:str(文字)、int(數字)、list(清單)、dict(字典)是程式碼最常見的四種資料。
Day 3
條件判斷:if / elif / else — Claude 寫的邏輯判斷,「如果這個條件成立就做這個,否則做那個」。
Day 4-5
迴圈:for 和 while — 重複執行某段動作,例如「對每個檔案都做一次」。
Day 6-7
函式:def — 把一段常用的動作包裝起來,之後可以反覆呼叫。這是程式碼最重要的組織方式。
- 在終端機執行
python3,進入互動模式,試試 2 + 3 和 print("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 init、git add、git commit、git push、git pull、git status、git 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 | 把本機記錄推到 GitHub | commit 後同步到遠端 |
git pull | 把 GitHub 上的更新拉下來 | 開始工作前同步 |
git log --oneline | 看最近的 commit 紀錄 | 回顧做了什麼 |
git diff | 看具體改動了什麼內容 | 確認改動內容 |
- 建立一個新資料夾
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 裡面列的所有套件都安裝好」。
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 選擇器)、color、background、font-size、margin(外距)、padding(內距)
Day 5 Flexbox
現代排版方式。display: flex、justify-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 研究報告網站,用開發者工具研究任何你覺得漂亮的設計是怎麼做到的
- 選一個你的研究報告頁面,在瀏覽器開啟,先用開發者工具觀察結構
- 找到頁面中的一個 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 頁面在做什麼。
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、.env 和 config.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 幫你寫的 .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,直接改成正確的路徑。這種能力,比會寫程式更實際,也更快能達到。