開場(10 分鐘,不要開電腦)
老師會示範用 Google AI Studio 直接生一個會動的小 app。看就好,今天不是要做這個。
看的時候想一件事:三分鐘就生出來的東西,你怎麼知道它是對的?難的其實不是生出來,是驗收:它給你的東西你看不看得懂。
你們的專題也一樣:看不懂的東西,你修不了,也解釋不了。
開工(15 分鐘)
上一堂下課前你把這台電腦的身分清掉了,所以每一堂的第一件事都是重新登入。(跟前面每一堂一模一樣,你已經做過好幾次了,目標 8 分鐘內做完。)
1. 登入這台電腦:
gh auth login
(GitHub.com → HTTPS → Yes → Login with a web browser → 先看 Edge 右上角頭像是不是你 → 打八碼 → Authorize)
接著四行,一行都不能少:
gh auth setup-git
git config --global user.name "你的帳號"
git config --global user.email "你的專用信箱"
git config --global pull.rebase false
沒設 user.email 的話,你的 commit 會掛上機器亂猜的信箱,燈會抓到、而且算不到你頭上。
2. 把兩個人的東西合起來(不做會撞在一起):
cd proj-你們的隊名
git pull
第一次在這台電腦?先抓下來:
gh repo clone shsh-tw/proj-你們的隊名
cd proj-你們的隊名
code .
3. 兩個人講好這一堂各自要做完的一件事(30 秒,講出來就好)。
標準只有一個:這一堂做得完。做不完就是切太大,切一半。
卡住了 ①
repository not found、GH007?→ 前面幾堂的解法全部適用:教材站首頁 → EP03 → 關 0 的「卡住了」。卡住了 ②
git pull 說有衝突?→ 舉手。這是兩個人改到同一行,老師會幫你解(下週你們就會自己解了)。卡住了 ③
專題日誌.md,看上一堂那一段(## EP09)的「下一堂各自要做什麼」,那是上一堂的你們寫給現在的你們的。那兩行如果還是括號提示(上一堂沒填完)→ 今天的第一件事就是把它補完,Issue 上 EP09 的紅燈也會一起亮。卡住了 ④
專題時間(44 分鐘)
就做你們自己的東西。卡住的時候用這個循環,一次只做一小塊:
這一段中間老師會找時機跟你們做一次正式口試(會計分,算在學期的口試分數裡)。
一次 2–3 分鐘,老師走到你們桌邊,兩個人都要開口,指著你螢幕上今天寫的東西問。四題就是這四題,事先給你們看:
- 這一段在做什麼?拿掉會怎樣?
- 你這堂做完的那一件事,給我看。
- 你今天卡在哪?是「不知道怎麼做」「做了不會動」還是「不確定對不對」?
- 下一堂你要做的那件事,我看什麼就知道你做了?
每一組整個專題期間只會被正式問一次(EP10 到 EP12 這三堂裡的某一堂,看老師巡堂走到你們、你們手上剛好有東西可以指的時候)。
今天沒被問到=還沒輪到,不是你有問題。 三堂都沒輪到的組,EP15 繳交那堂還有一次。
- 拆任務:把要做的事講成一句話(「讓按鈕按下去顯示一行字」)。
- 下指令給 AI:講清楚你要什麼、不要什麼。(它是設定成助教不是槍手,可能會先反問你卡在哪——回它「我還沒動手,直接做,做完解釋每一段」。)
- 自己驗收:跑跑看。跑得動 ≠ 做對。
⚠ 做網頁的人注意:直接點兩下 index.html 打開,如果你的頁面要讀別的檔案(圖片、.json、資料檔),會一片空白而且完全不報錯。要用 VS Code 的 Live Server(右下角「Go Live」)開,或問老師。白畫面第一件事:按 F12 看 Console 有沒有紅字。
- 要能解釋:這段在做什麼?拿掉會怎樣?答不出來就問 AI「這一段在做什麼」,直到你講得出來。
省 credits:想事情、問觀念用免費聊天;真的要改檔案才用 agent。
卡住了 ①
卡住了 ②
卡住了 ③
卡住了 ④
git pull 之後再改。收尾:填日誌(18 分鐘)
打開 專題日誌.md,找到 ## EP10 專題時間 05 那一段(只填這一段,前面幾週的不要動),把三個括號提示換成你們的話:
- 這堂做出什麼(看得到的):至少 15 個字。寫看得到的東西,不要寫「研究了一下」。做不完就寫做到哪、下一步是什麼,一樣算數。
- 卡在哪:至少 10 個字。「還好」不是答案。卡點通常是三種:不知道怎麼做/做了不會動/不確定對不對。真的很順也要寫為什麼順。
- 下一堂各自要做什麼:兩行,各至少 8 個字,各寫各的。標準是下一堂一看就知道有沒有做。
兩個人各自 push——分成兩步(誰先誰後都可以,但兩個人都要在日誌填下去之後各自 commit 一次)(燈 3 看的是:日誌填下去之後,你們兩個各自都還要再 commit 一次):
第一步 A 做(把三段填好,第三段先寫自己那一行):
git add -A
git commit -m "EP10:__"
git push
(__ 換成你這堂做的事,例如「接好器材清單的假資料」。不要照抄底線,全班一樣的訊息等於沒寫。)
第二步 B 做(A push 完才輪到你)。先把你自己這堂改的東西存進 git,再拉 A 的——順序反了會被擋下來:
git add -A
git commit -m "EP10:__"
git pull
在 ## EP10 那一段的「下一堂各自要做什麼」寫上你自己那一行(A 只寫了他那行),存檔,然後:
git add -A
git commit -m "EP10:__"
git push
同一台電腦換人?先 gh auth logout,再讓 B 跑一次上面「開工」的登入四行。
→ Issues → 🏁 闖關進度 → EP10 三盞燈。
卡住了 ①
卡住了 ②
卡住了 ③
## EP10 那一段?→ 日誌裡有七段(EP06 到 EP12),往下捲找到今天這一段。在 VS Code 按 Ctrl+F 搜 EP10 最快。不要改別段。卡住了 ④
git commit 說 nothing to commit?→ 你還沒寫自己那一行。先在日誌寫上去再存檔。卡住了 ⑤
git pull 說 local changes would be overwritten?→ 你自己改的東西還沒存進 git。先 git add -A + git commit,再 git pull(照上面第二步的順序)。卡住了 ⑥
rejected)?→ 先 git pull 再 push。卡住了 ⑦
git pull 說有衝突,日誌裡冒出 <<<<<<< 那幾行?→ 舉手,不要自己刪。 那幾行留著 commit 上去,Issue 會跳警告、字也不算數。卡住了 ⑧
## EP10,把內容搬回來。老師投影(3 分鐘)
老師會把儀表板投到白板上:這堂誰做出東西、誰卡住、哪幾組只有一個人動。
你剛才寫的「這堂做出什麼」那一句會出現在上面,所以那一句寫清楚一點。
這五分鐘不用動電腦,看就好。
登出儀式(最後 10 分鐘)
跟前面每一週一樣:
gh auth logout
git config --global --unset-all user.name
git config --global --unset-all user.email
VS Code 左下角人像 → Sign out。隔壁互查一次。最後按這一頁最下面的「清掉這台瀏覽器的紀錄」。
做完了?進階挑戰(不計分)
- 讓別人跑得起來:在 README 加兩行「怎麼跑起來」的說明。
只加這兩行,不要叫 AI 重寫整份 README——README 上面那幾個標題是 EP05 的燈在看的,被改掉燈會滅。
- 問一次那個人:拿今天做的東西去問你們要幫的那個人(傳訊息也行),把他的一句話貼進日誌。
備援路線
| 狀況 | 怎麼辦 |
|---|---|
git pull 衝突 | 舉手,老師處理。不要自己 --force。 |
| 只有一台電腦 | 輪流用,換人前 gh auth logout,換人後 gh auth login + gh auth setup-git + 重設 user.name/user.email。燈 3 看的是提交上的人。 |
| 同組另一人請假 (燈 3 會是紅的,這是對的,跟老師登記就好) | 登記,下週補他的提交;今天一個人把日誌填完。 |
| AI 不能用 | 這堂本來就是做自己的東西,沒有 AI 也能做;卡住問隔壁或老師。 |
| 什麼都做不出來 | 把「卡在哪」寫清楚,那就是這堂的產出。下一堂老師會先處理你們這組。 |