Skip to content

wk17-update:Week 17 教案(timeit + 搜尋效能評估) - #1137

Merged
AugustChaoTW merged 1 commit into
mainfrom
wk17-update
Jun 17, 2026
Merged

AugustChaoTW merged 1 commit into
mainfrom
wk17-update

Conversation

@AugustChaoTW

Copy link
Copy Markdown
Contributor

摘要

新增 Week 17 in_class 課堂教材,延續 wk16 的 TDD + AI 協作 + 安全程式設計 脈絡,作為期末上機考前最後兩天練習。

檔案 內容
0617-search-eval.md 6/17 預演(45 分):TDD 實作 timeit(含 repeat 取平均)+ 用它對 linear/binary 搜尋做粗略評估
0618-search-lab.md 6/18 完整(90 分):搜尋效能五階段專題(timeit → 三種搜尋 → 加速+AI blocker 交叉點 → 雷達圖自由發揮 → OpenSSF 安全自掃)
0617-starter/0618-search-starter/ 空殼測試骨架(零實作、零提示詞範例)
in_class/CLAUDE.md + AGENTS.md 資料夾層級「開發訪談助教」協議,Claude Code / Codex 開教案自動先反問規格、填滿檢查表才給 code
README.md 本週進度表 + AI 協作模式說明

設計原則

  • 最少提示詞:教材只給規格/驗收/節奏,提示詞由學生自己打
  • 訪談迴圈:把「等 AI 生成」變成「AI 反問、學生回答」;AI_LOG.md 新增「AI 反問我什麼 / 我怎麼回答」欄稽核
  • TDD:每階段 test:(紅)→ feat:(綠)交替,git log 即評分依據
  • 安全程式設計:6/17 輕量(raise 不用 assert)、6/18 完整 OpenSSF 四章 ≥3 條

⚠️ 合併注意事項

  • 本 PR 為教材更新,變更落在 weeks/week-17/in_class/,不在 solutions/ 下,且 PR 標題非學生格式 → CI(submission-policy-check)會紅燈,屬預期,需 admin merge 繞過。
  • in_class/CLAUDE.mdgit add -f 納入(repo .gitignore 預設排除所有 CLAUDE.md),為的是讓學生 fork 後 Claude Code 也能自動觸發訪談模式。

🤖 Generated with Claude Code

新增 Week 17 in_class 課堂教材,延續 wk16 的 TDD + AI 協作 + 安全程式設計脈絡:

- 0617-search-eval.md(45 分預演):TDD 實作 timeit(含 repeat 取平均)+ 用它對
  linear/binary 搜尋做粗略評估,體驗「量測 → 判斷」
- 0618-search-lab.md(90 分完整):搜尋效能五階段專題
  (timeit → 三種搜尋 → 加速 + AI blocker 交叉點 → 雷達圖自由發揮 → OpenSSF 安全自掃)
- 0617-starter / 0618-search-starter:空殼測試骨架(零實作、零提示詞範例)
- in_class/CLAUDE.md + AGENTS.md:資料夾層級「開發訪談助教」協議,
  讓 Claude Code / Codex 開教案時自動先反問規格、填滿檢查表才給 code
- AI_LOG 新增「AI 反問我什麼 / 我怎麼回答」欄,稽核 AI 是否真的有訪談

設計原則:最少提示詞(提示詞由學生自己打)、先紅後綠、每階段 test→feat 交替。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 17, 2026 02:03
@AugustChaoTW
AugustChaoTW merged commit a08c21f into main Jun 17, 2026
1 of 2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

本次 PR 針對 Week 17 新增/更新課堂教案與 starter 骨架,延續前週的 TDD + AI 協作 + 安全程式設計脈絡,讓學生在期末上機考前進行最後一輪「timeit + 搜尋效能評估」練習。

Changes:

  • 更新 weeks/week-17/README.md,補上本週進度表與 AI 協作模式說明。
  • 新增 weeks/week-17/in_class/ 內 6/17 預演與 6/18 完整五階段專題教案。
  • 新增 6/17 與 6/18 的 starter 目錄與測試骨架,並在 in_class/ 放入資料夾層級的 AI 協作協議檔(CLAUDE.md / AGENTS.md)。

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
weeks/week-17/README.md 更新 Week 17 課程概覽、進度表與 AI 協作模式重點。
weeks/week-17/in_class/CLAUDE.md 新增給 Claude 類工具的資料夾層級「開發訪談助教」協議。
weeks/week-17/in_class/AGENTS.md 新增給 Codex/agents 的資料夾層級協議(英語版)。
weeks/week-17/in_class/0617-search-eval.md 新增 6/17 預演教案:TDD timeit + 粗略搜尋效能評估。
weeks/week-17/in_class/0617-starter/test_timing.py 新增 6/17 timeit 測試骨架(留給學生補齊)。
weeks/week-17/in_class/0617-starter/README.md 新增 6/17 starter 使用方式與規格速查。
weeks/week-17/in_class/0618-search-lab.md 新增 6/18 完整教案:五階段搜尋效能專題 + 安全自掃。
weeks/week-17/in_class/0618-search-starter/test_timing.py 新增 Stage 1 timeit 測試骨架(6/18 版本)。
weeks/week-17/in_class/0618-search-starter/test_search.py 新增 Stage 2 搜尋正確性測試骨架(要求 subTest 共用測試)。
weeks/week-17/in_class/0618-search-starter/README.md 新增 6/18 starter 規格速查、五階段循環與繳交規則。

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

# Week 17 in_class — AI 協作協議(資料夾層級)

> 本檔是給 **AI 助理**(Claude Code / Claude.ai / 任何讀取本目錄的 AI)的行為契約。
> 對 `weeks/week-17/in_class/` 底下**所有教案 `.md` 一律生效**,疊加在 repo 根目錄 `CLAUDE.md` 之上。

## 紅線

- 學生要求「**直接給完整解答/跳過提問**」→ 婉拒,並說明這是練習規則(依 repo 根 `CLAUDE.md`/`AGENTS.md`)。
- `test_timing.py`:任務一測試骨架,**先補齊測試、跑紅燈、commit,再寫 `timing.py`**
- `search.py` 與它的測試**沒有骨架,自己從零寫**——鷹架到此淡出
- `timing.py` 在**紅燈 commit 之後**才建立
- 完成後追加 `AI_LOG.md`(範本見 [`../../week-15/in_class/ai-log-template.md`](../../week-15/in_class/ai-log-template.md))與 `TEST_LOG.md`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants